Fix/update admin (WIP)
This commit is contained in:
parent
4994d8314a
commit
339d8f2210
11 changed files with 49 additions and 44 deletions
|
@ -3,7 +3,8 @@ import { Router, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/ro
|
|||
import { Observable, forkJoin } from 'rxjs'
|
||||
import { map } from 'rxjs/operators'
|
||||
|
||||
import { AdminBasket, AdminBasketDataService } from './data.service'
|
||||
import { AdminBasketDataService } from './data.service'
|
||||
import { AdminBasket } from '../../openapi'
|
||||
|
||||
@Injectable()
|
||||
export class BasketResolver {
|
||||
|
|
|
@ -6,7 +6,8 @@ import { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms
|
|||
import { MatTableDataSource } from '@angular/material/table'
|
||||
|
||||
import { AdminDataService } from '../../admin-data.service'
|
||||
import { AdminBasketFile, AdminBasket } from '../data.service'
|
||||
import { AdminBasketFile } from '../data.service'
|
||||
import { AdminBasket } from '../../../openapi'
|
||||
import { MatSnackBar } from '@angular/material/snack-bar'
|
||||
import { HtmlSnackbarComponent } from '../../../custom-snackbar/custom-snackbar.component'
|
||||
|
||||
|
@ -33,14 +34,14 @@ export class AdminBasketUploadComponent implements OnInit, OnChanges {
|
|||
formGroup: UntypedFormGroup = new UntypedFormGroup({})
|
||||
|
||||
ngOnInit() {
|
||||
let defaults = this.adminDataService.surveyMeta.defaults
|
||||
let dflt = this.adminDataService.surveyMeta.default
|
||||
this.formGroup = new UntypedFormGroup({
|
||||
'store_misc': new UntypedFormControl(defaults['store_misc'], [Validators.required]),
|
||||
'store_line_work': new UntypedFormControl(defaults['store_line_work'], [Validators.required]),
|
||||
'status': new UntypedFormControl(defaults['status'], [Validators.required]),
|
||||
'project': new UntypedFormControl(defaults['project'], [Validators.required]),
|
||||
'surveyor': new UntypedFormControl(defaults['surveyor'], [Validators.required]),
|
||||
'equipment': new UntypedFormControl(defaults['equipment'], [Validators.required]),
|
||||
'store_misc': new UntypedFormControl(dflt['store_misc'], [Validators.required]),
|
||||
'store_line_work': new UntypedFormControl(dflt['store_line_work'], [Validators.required]),
|
||||
'status': new UntypedFormControl(dflt.status, [Validators.required]),
|
||||
'project': new UntypedFormControl(dflt.project, [Validators.required]),
|
||||
'surveyor': new UntypedFormControl(dflt.surveyor, [Validators.required]),
|
||||
'equipment': new UntypedFormControl(dflt.equipment, [Validators.required]),
|
||||
'autoImport': new UntypedFormControl(true),
|
||||
})
|
||||
this.setupRequired()
|
||||
|
|
|
@ -10,7 +10,8 @@ import { MatSort } from '@angular/material/sort'
|
|||
import { MatTableDataSource } from '@angular/material/table'
|
||||
|
||||
import { AdminDataService } from '../admin-data.service'
|
||||
import { AdminBasketDataService, AdminBasket, AdminBasketFile } from './data.service'
|
||||
import { AdminBasketDataService, AdminBasketFile } from './data.service'
|
||||
import { AdminBasket } from '../../openapi'
|
||||
import { HtmlSnackbarComponent } from '../../custom-snackbar/custom-snackbar.component'
|
||||
|
||||
@Component({
|
||||
|
@ -79,7 +80,7 @@ export class AdminBasketComponent implements OnInit {
|
|||
importItem(item: AdminBasketFile, dryRun: boolean) {
|
||||
this.adminBasketDataService.importItem(this.basket.name, item.id, dryRun).subscribe(
|
||||
resp => {
|
||||
this.basket.files.find(row => row.id == item.id).time = new Date(resp.time)
|
||||
this.basket.files.find(row => row.id == item.id).time = new Date(resp.time).toLocaleString()
|
||||
this.snackBar.openFromComponent(HtmlSnackbarComponent, {
|
||||
data: resp,
|
||||
//duration: 3000
|
||||
|
|
|
@ -6,6 +6,7 @@ import { map } from 'rxjs/operators'
|
|||
// import { Apollo, gql } from 'apollo-angular'
|
||||
|
||||
import { Project } from '../admin-data.service'
|
||||
import { AdminService, AdminBasket, BasketNameOnly } from '../../openapi'
|
||||
|
||||
export class AdminBasketFile {
|
||||
constructor(
|
||||
|
@ -25,15 +26,15 @@ export class AdminBasketFile {
|
|||
) {}
|
||||
}
|
||||
|
||||
export class AdminBasket {
|
||||
constructor(
|
||||
public name: string,
|
||||
public files?: AdminBasketFile[],
|
||||
public columns?: string[],
|
||||
public uploadFields?: string[],
|
||||
public projects?: Project[],
|
||||
) {}
|
||||
}
|
||||
// export class AdminBasket {
|
||||
// constructor(
|
||||
// public name: string,
|
||||
// public files?: AdminBasketFile[],
|
||||
// public columns?: string[],
|
||||
// public uploadFields?: string[],
|
||||
// public projects?: Project[],
|
||||
// ) {}
|
||||
// }
|
||||
|
||||
export class BasketImportResult {
|
||||
constructor(
|
||||
|
@ -122,21 +123,12 @@ export class AdminBasketUploadFieldData {
|
|||
export class AdminBasketDataService {
|
||||
constructor(
|
||||
// private apollo: Apollo,
|
||||
public adminService: AdminService,
|
||||
) {}
|
||||
|
||||
getBaskets(): Observable<AdminBasket[]> {
|
||||
getBaskets(): Observable<BasketNameOnly[]> {
|
||||
// Get the list a basket names
|
||||
console.warn('Migrate Graphql')
|
||||
return observableOf()
|
||||
// return this.apollo.query({
|
||||
// query: getAdminBasketsQuery,
|
||||
// }).pipe(map(
|
||||
// res => res['data']['admin_baskets'].map(
|
||||
// (data: object) => new AdminBasket(
|
||||
// data['name'],
|
||||
// )
|
||||
// )
|
||||
// ))
|
||||
return this.adminService.getBasketsApiAdminBasketGet()
|
||||
}
|
||||
|
||||
getBasketUploadFieldData(): Observable<AdminBasketUploadFieldData> {
|
||||
|
@ -160,6 +152,7 @@ export class AdminBasketDataService {
|
|||
|
||||
getBasket(name: string): Observable<AdminBasket> {
|
||||
// Get all info and content of a basket
|
||||
return this.adminService.getBasketApiAdminBasketNameGet(name)
|
||||
console.warn('Migrate Graphql')
|
||||
return observableOf()
|
||||
// return this.apollo.query({
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component, Input } from '@angular/core'
|
||||
|
||||
import { AuthenticationService } from '../../_services/authentication.service'
|
||||
import { AdminBasket } from '../admin-basket/data.service'
|
||||
import { AdminBasket } from '../../openapi'
|
||||
|
||||
@Component({
|
||||
selector: 'gisaf-admin-menu',
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
import { Injectable } from '@angular/core'
|
||||
import { Router, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router'
|
||||
import { Observable, forkJoin } from 'rxjs'
|
||||
import { map } from 'rxjs/operators'
|
||||
|
||||
import { AdminDataService } from './admin-data.service'
|
||||
import { SurveyMeta } from './admin-data.service'
|
||||
import { AdminBasketDataService, AdminBasket } from './admin-basket/data.service'
|
||||
import { AdminBasketDataService } from './admin-basket/data.service'
|
||||
import { BasketNameOnly, SurveyMeta } from '../openapi'
|
||||
|
||||
|
||||
@Injectable()
|
||||
|
@ -19,11 +18,11 @@ export class AdminResolver {
|
|||
resolve(
|
||||
route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot,
|
||||
): Observable<[AdminBasket[], SurveyMeta/*, object[]*/]> {
|
||||
return forkJoin(
|
||||
): Observable<[BasketNameOnly[], SurveyMeta]> {
|
||||
return forkJoin([
|
||||
this.basketDataService.getBaskets(),
|
||||
this.dataService.getSurveyMeta(),
|
||||
//this.dataService.getModelsMenuBar(),
|
||||
)
|
||||
])
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,8 +2,7 @@ import { Component, ViewChild, OnInit } from '@angular/core'
|
|||
import { ActivatedRoute } from '@angular/router'
|
||||
|
||||
import { AdminListComponent } from './admin-list/admin-list.component'
|
||||
import { SurveyMeta } from './admin-data.service'
|
||||
import { AdminBasket } from './admin-basket/data.service'
|
||||
import { AdminBasket, SurveyMeta } from '../openapi'
|
||||
|
||||
@Component({
|
||||
selector: 'gisaf-admin',
|
||||
|
|
|
@ -12,6 +12,7 @@ export type { Attachment } from './models/Attachment';
|
|||
export type { BaseMapWithStores } from './models/BaseMapWithStores';
|
||||
export type { BaseStyle } from './models/BaseStyle';
|
||||
export type { BasketDefault } from './models/BasketDefault';
|
||||
export type { BasketNameOnly } from './models/BasketNameOnly';
|
||||
export type { Body_login_for_access_token_api_token_post } from './models/Body_login_for_access_token_api_token_post';
|
||||
export type { BootstrapData } from './models/BootstrapData';
|
||||
export type { CategoryGroup } from './models/CategoryGroup';
|
||||
|
|
|
@ -3,11 +3,12 @@
|
|||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
import type { FileImport } from './FileImport';
|
||||
import type { Project } from './Project';
|
||||
export type AdminBasket = {
|
||||
name: string;
|
||||
files: Array<FileImport>;
|
||||
columns: Array<string>;
|
||||
uploadFields: Array<string>;
|
||||
projects?: Array<string>;
|
||||
projects?: Array<Project>;
|
||||
};
|
||||
|
||||
|
|
8
src/app/openapi/models/BasketNameOnly.ts
Normal file
8
src/app/openapi/models/BasketNameOnly.ts
Normal file
|
@ -0,0 +1,8 @@
|
|||
/* generated using openapi-typescript-codegen -- do no edit */
|
||||
/* istanbul ignore file */
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
export type BasketNameOnly = {
|
||||
name: string;
|
||||
};
|
||||
|
|
@ -6,6 +6,7 @@ import { Injectable } from '@angular/core';
|
|||
import { HttpClient } from '@angular/common/http';
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { AdminBasket } from '../models/AdminBasket';
|
||||
import type { BasketNameOnly } from '../models/BasketNameOnly';
|
||||
import { OpenAPI } from '../core/OpenAPI';
|
||||
import { request as __request } from '../core/request';
|
||||
@Injectable({
|
||||
|
@ -15,10 +16,10 @@ export class AdminService {
|
|||
constructor(public readonly http: HttpClient) {}
|
||||
/**
|
||||
* Get Baskets
|
||||
* @returns any Successful Response
|
||||
* @returns BasketNameOnly Successful Response
|
||||
* @throws ApiError
|
||||
*/
|
||||
public getBasketsApiAdminBasketGet(): Observable<any> {
|
||||
public getBasketsApiAdminBasketGet(): Observable<Array<BasketNameOnly>> {
|
||||
return __request(OpenAPI, this.http, {
|
||||
method: 'GET',
|
||||
url: '/api/admin/basket',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue