From ae0618d5bec36ed9cb4ef4740acbced950d1c38c Mon Sep 17 00:00:00 2001 From: Kristan Ntavidi Date: Wed, 20 Oct 2021 13:41:04 +0300 Subject: [PATCH] Fix multiplicty bug on Admin Template Editor. --- ...file-editor-composite-field.component.html | 2 +- ...rofile-editor-composite-field.component.ts | 31 ++++++++++--------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html index 3604c017b..188936b9c 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html @@ -379,7 +379,7 @@ {{'DATASET-PROFILE-EDITOR.ACTIONS.FIELDSET.COMMENT-FIELD' | translate}}
  • - + {{'DATASET-PROFILE-EDITOR.ACTIONS.FIELDSET.MULTIPLICITY' | translate}}
  • diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.ts index 89dead325..d8ff4acb7 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.ts @@ -1,4 +1,4 @@ -import {Component, Input, OnChanges, OnInit, ViewChild} from '@angular/core'; +import {Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild} from '@angular/core'; import {AbstractControl, FormArray, FormControl, FormGroup} from '@angular/forms'; import {FieldEditorModel} from '../../../admin/field-editor-model'; import {Guid} from '@common/types/guid'; @@ -118,6 +118,7 @@ export class DatasetProfileEditorCompositeFieldComponent extends BaseComponent i private myCustomValidators:EditorCustomValidators = new EditorCustomValidators(); + isMultiplicityEnabled = false; constructor( private dialog: MatDialog, private language: TranslateService, @@ -127,11 +128,21 @@ export class DatasetProfileEditorCompositeFieldComponent extends BaseComponent i super(); } - ngOnChanges(){ + ngOnChanges(changes: SimpleChanges){ // this.setTargetField(null); // this.showExtendedDescription = !!this.form.get('extendedDescription').value; // this.showAdditionalInfo = !!this.form.get('additionalInformation').value; - console.log(this.form.get('fields')['controls']) + // console.log(this.form.get('fields')['controls']) + if( changes['form']){ + + try{ + const multiplicity = this.form.get('multiplicity').value; + this.isMultiplicityEnabled = multiplicity.min > 0 || multiplicity.max >0; + } catch{ + this.isMultiplicityEnabled = false; + } + } + } get firstField(){ @@ -142,17 +153,7 @@ export class DatasetProfileEditorCompositeFieldComponent extends BaseComponent i } } - get isMultiplicityEnabled(){ - if(!this.form.get('multiplicity')){ - return false; - } - - if (this.form.get('multiplicity').value.min > 0 || this.form.get('multiplicity').value.max > 0) { - return true; - } - - return false; - } + ngOnInit() { @@ -381,7 +382,6 @@ export class DatasetProfileEditorCompositeFieldComponent extends BaseComponent i } onIsMultiplicityEnabledChange(isMultiplicityEnabled: MatCheckboxChange) { - const multiplicity = this.form.get('multiplicity') as FormGroup; const minControl = multiplicity.get('min'); @@ -395,6 +395,7 @@ export class DatasetProfileEditorCompositeFieldComponent extends BaseComponent i maxControl.setValue(0); } + this.isMultiplicityEnabled = isMultiplicityEnabled.checked; minControl.updateValueAndValidity(); maxControl.updateValueAndValidity();