disable system fields/description templates multiple select input and prefill them if any values exist when blueprint is finalized
This commit is contained in:
parent
69548e5a8b
commit
3c0dce93a8
|
@ -81,7 +81,7 @@
|
|||
<div class="col-6">
|
||||
<mat-form-field>
|
||||
<mat-label>System fields</mat-label>
|
||||
<mat-select multiple [value]="systemFieldListPerSection[0]">
|
||||
<mat-select multiple [disabled]="viewOnly" [value]="systemFieldListPerSection[sectionIndex]">
|
||||
<mat-option *ngFor="let f of fieldList" [disabled]="systemFieldDisabled(f.type, sectionIndex)" [value]="f.type" (click)="selectedFieldType(f.label, f.type, sectionIndex)">{{f.label}}</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="fieldsArray(sectionIndex).hasError('required')">
|
||||
|
@ -218,7 +218,7 @@
|
|||
<div class="col-12">
|
||||
<mat-form-field>
|
||||
<mat-label>Description Templates</mat-label>
|
||||
<app-multiple-auto-complete placeholder="Description Templates" [hidePlaceholder]="true" required='false' [configuration]="profilesAutoCompleteConfiguration" (optionRemoved)="onRemoveTemplate($event, sectionIndex)" (optionSelected)="onOptionSelected($event, sectionIndex)">
|
||||
<app-multiple-auto-complete placeholder="Description Templates" [disabled]="viewOnly" [value]="descriptionTemplatesPerSection[sectionIndex]" [hidePlaceholder]="true" required='false' [configuration]="profilesAutoCompleteConfiguration" (optionRemoved)="onRemoveTemplate($event, sectionIndex)" (optionSelected)="onOptionSelected($event, sectionIndex)">
|
||||
</app-multiple-auto-complete>
|
||||
<!-- <button matSuffix class="input-btn" (click)="allAvailableProfiles($event)">
|
||||
<mat-icon class="icon-btn">view_list</mat-icon>
|
||||
|
|
|
@ -76,6 +76,7 @@ export class DmpProfileEditorComponent extends BaseComponent implements AfterVie
|
|||
];
|
||||
selectedSystemFields: string[] = [];
|
||||
systemFieldListPerSection: Array<Array<any>> = new Array();
|
||||
descriptionTemplatesPerSection: Array<Array<DatasetProfileModel>> = new Array<Array<DatasetProfileModel>>();
|
||||
|
||||
constructor(
|
||||
private dmpProfileService: DmpProfileService,
|
||||
|
@ -121,6 +122,7 @@ export class DmpProfileEditorComponent extends BaseComponent implements AfterVie
|
|||
this.dmpBlueprintModel = new DmpBlueprintEditor().fromModel(data);
|
||||
this.formGroup = this.dmpBlueprintModel.buildForm();
|
||||
this.buildSystemFields();
|
||||
this.fillDescriptionTemplatesInMultAutocomplete();
|
||||
if (this.dmpBlueprintModel.status == DmpProfileStatus.Finalized) {
|
||||
this.formGroup.disable();
|
||||
this.viewOnly = true
|
||||
|
@ -156,13 +158,24 @@ export class DmpProfileEditorComponent extends BaseComponent implements AfterVie
|
|||
let systemFieldsInSection = new Array();
|
||||
this.fieldsArray(i).controls.forEach((field) => {
|
||||
if((field.get('category').value == FieldCategory.SYSTEM || field.get('category').value == 'SYSTEM')){
|
||||
systemFieldsInSection.push(this.fieldList.find(f => f.type == field.get('type').value).label);
|
||||
systemFieldsInSection.push(this.fieldList.find(f => f.type == field.get('type').value).type);
|
||||
}
|
||||
})
|
||||
this.systemFieldListPerSection.push(systemFieldsInSection);
|
||||
}
|
||||
}
|
||||
|
||||
fillDescriptionTemplatesInMultAutocomplete(){
|
||||
const sections = this.sectionsArray().controls.length;
|
||||
for(let i = 0; i < sections; i++){
|
||||
let descriptionTemplatesInSection = new Array<DatasetProfileModel>();
|
||||
this.descriptionTemplatesArray(i).controls.forEach((template) => {
|
||||
descriptionTemplatesInSection.push({id: template.value.descriptionTemplateId, label: template.value.label, description: ""});
|
||||
})
|
||||
this.descriptionTemplatesPerSection.push(descriptionTemplatesInSection);
|
||||
}
|
||||
}
|
||||
|
||||
filterProfiles(value: string): Observable<DatasetProfileModel[]> {
|
||||
const request = new DataTableRequest<DatasetProfileCriteria>(null, null, { fields: ['+label'] });
|
||||
const criteria = new DatasetProfileCriteria();
|
||||
|
|
Loading…
Reference in New Issue