From 5c43ae8eea285a8facf9daf1ae59b7589c53ca3b Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Thu, 10 Sep 2020 17:06:24 +0200 Subject: [PATCH] FEAT #13267 TIME 0:25 add custom fields --- .../list/list-administration.component.ts | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/frontend/app/administration/basket/list/list-administration.component.ts b/src/frontend/app/administration/basket/list/list-administration.component.ts index d7ec2dd4cca..ce5f19b990a 100644 --- a/src/frontend/app/administration/basket/list/list-administration.component.ts +++ b/src/frontend/app/administration/basket/list/list-administration.component.ts @@ -4,8 +4,9 @@ import { TranslateService } from '@ngx-translate/core'; import { NotificationService } from '../../../../service/notification/notification.service'; import { FormControl } from '@angular/forms'; import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; -import { startWith, map } from 'rxjs/operators'; +import { startWith, map, tap, catchError } from 'rxjs/operators'; import { Observable } from 'rxjs/internal/Observable'; +import { of } from 'rxjs/internal/observable/of'; declare var $: any; @@ -228,7 +229,8 @@ export class ListAdministrationComponent implements OnInit { constructor(public translate: TranslateService, public http: HttpClient, private notify: NotificationService) { } - ngOnInit(): void { + async ngOnInit(): Promise<void> { + await this.initCustomFields(); this.filteredDataOptions = this.dataControl.valueChanges .pipe( startWith(''), @@ -261,6 +263,36 @@ export class ListAdministrationComponent implements OnInit { this.displayedSecondaryDataClone = JSON.parse(JSON.stringify(this.displayedSecondaryData)); } + initCustomFields() { + return new Promise((resolve, reject) => { + + this.http.get('../rest/customFields').pipe( + map((data: any) => { + data.customFields = data.customFields.map((info: any) => { + return { + 'value': 'indexingCustomField_' + info.id, + 'label': info.label, + 'sample': this.translate.instant('lang.customField') + info.id, + 'cssClasses': ['align_leftData'], + 'icon': 'fa-hashtag' + }; + }); + return data.customFields; + }), + tap((customs) => { + console.log(customs); + this.availableData = this.availableData.concat(customs); + resolve(true); + + }), + catchError((err: any) => { + this.notify.handleErrors(err); + return of(false); + }) + ).subscribe(); + }); + } + toggleData() { this.dataControl.disabled ? this.dataControl.enable() : this.dataControl.disable(); @@ -332,7 +364,7 @@ export class ListAdministrationComponent implements OnInit { }); objToSend = { - templateColumns : this.selectedTemplateDisplayedSecondaryData, + templateColumns: this.selectedTemplateDisplayedSecondaryData, subInfos: template }; -- GitLab