91 lines
6.3 KiB
TypeScript
91 lines
6.3 KiB
TypeScript
|
import { Component, Input } from '@angular/core';
|
||
|
import { UntypedFormGroup } from '@angular/forms';
|
||
|
import { DescriptionTemplate } from '@app/core/model/description-template/description-template';
|
||
|
import { BaseComponent } from '@common/base/base.component';
|
||
|
|
||
|
@Component({
|
||
|
selector: 'app-description-base-fields-editor-component',
|
||
|
templateUrl: 'description-base-fields-editor.component.html',
|
||
|
styleUrls: ['./description-base-fields-editor.component.scss']
|
||
|
})
|
||
|
export class DescriptionBaseFieldsEditorComponent extends BaseComponent {
|
||
|
|
||
|
@Input() formGroup: UntypedFormGroup;
|
||
|
@Input() availableDescriptionTemplates: DescriptionTemplate[];
|
||
|
@Input() dmpId: string;
|
||
|
viewOnly = false; //TODO: not used.
|
||
|
|
||
|
constructor(
|
||
|
) { super(); }
|
||
|
|
||
|
checkMinMax(event, profile: DescriptionTemplate) {
|
||
|
//TODO: Add logic for validating description templates.
|
||
|
// event.stopPropagation();
|
||
|
// const dmpSectionIndex = this.formGroup.get('dmpSectionIndex').value;
|
||
|
// const blueprintId = this.formGroup.get('dmp').value.profile.id;
|
||
|
// this.dmpBlueprintService.getSingle(blueprintId,
|
||
|
// [
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.id)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.label)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.description)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.ordinal)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.hasTemplates)].join('.'),
|
||
|
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.id)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.category)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.dataType)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.systemFieldType)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.label)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.placeholder)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.description)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.required)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.fields), nameof<FieldInSection>(x => x.ordinal)].join('.'),
|
||
|
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.descriptionTemplates), nameof<DescriptionTemplatesInSection>(x => x.id)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.descriptionTemplates), nameof<DescriptionTemplatesInSection>(x => x.descriptionTemplateId)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.descriptionTemplates), nameof<DescriptionTemplatesInSection>(x => x.label)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.descriptionTemplates), nameof<DescriptionTemplatesInSection>(x => x.minMultiplicity)].join('.'),
|
||
|
// [nameof<DmpBlueprint>(x => x.definition), nameof<DmpBlueprintDefinition>(x => x.sections), nameof<DmpBlueprintDefinitionSection>(x => x.descriptionTemplates), nameof<DescriptionTemplatesInSection>(x => x.maxMultiplicity)].join('.'),
|
||
|
// ]
|
||
|
// )
|
||
|
// .pipe(takeUntil(this._destroyed))
|
||
|
// .subscribe(result => {
|
||
|
// const section = result.definition.sections[dmpSectionIndex];
|
||
|
// if(section.hasTemplates){
|
||
|
// const foundTemplate = section.descriptionTemplates.find(template => template.descriptionTemplateId === Guid.parse(profile.id));
|
||
|
// if (foundTemplate !== undefined) {
|
||
|
// let count = 0;
|
||
|
// if(this.formGroup.get('dmp').value.datasets != null){
|
||
|
// for(let dataset of this.formGroup.get('dmp').value.datasets){
|
||
|
// if(dataset.dmpSectionIndex === dmpSectionIndex && dataset.profile.id === foundTemplate.descriptionTemplateId){
|
||
|
// count++;
|
||
|
// }
|
||
|
// }
|
||
|
// if(count === foundTemplate.maxMultiplicity){
|
||
|
// this.dialog.open(PopupNotificationDialogComponent, {
|
||
|
// data: {
|
||
|
// title: this.language.instant('DATASET-EDITOR.MAX-DESCRIPTION-DIALOG.TITLE'),
|
||
|
// message: this.language.instant('DATASET-EDITOR.MAX-DESCRIPTION-DIALOG.MESSAGE')
|
||
|
// }, maxWidth: '30em'
|
||
|
// });
|
||
|
// }
|
||
|
// else{
|
||
|
// this.formGroup.get('profile').setValue(profile);
|
||
|
// }
|
||
|
// }
|
||
|
// }
|
||
|
// else {
|
||
|
// this.formGroup.get('profile').setValue(profile);
|
||
|
// }
|
||
|
// }
|
||
|
// else {
|
||
|
// this.formGroup.get('profile').setValue(profile);
|
||
|
// }
|
||
|
// });
|
||
|
}
|
||
|
|
||
|
public compareWith(object1: any, object2: any) {
|
||
|
return object1 && object2 && object1.id === object2.id;
|
||
|
}
|
||
|
}
|