diff --git a/src/app/pages/content-providers/criteria/criteria.component.ts b/src/app/pages/content-providers/criteria/criteria.component.ts index 41a54ae..db9fcea 100644 --- a/src/app/pages/content-providers/criteria/criteria.component.ts +++ b/src/app/pages/content-providers/criteria/criteria.component.ts @@ -49,7 +49,6 @@ export class CriteriaComponent implements OnInit, OnChanges, AfterViewInit, OnDe } ngOnInit() { - this.reset(); this.loading = false; this.subscriptions.push(this.vocabulariesService.getVocabularyByType('fos', null, properties).subscribe((fos: any[]) => { this.fos = fos.map(element => element.id); @@ -60,6 +59,9 @@ export class CriteriaComponent implements OnInit, OnChanges, AfterViewInit, OnDe } ngOnChanges(changes: SimpleChanges) { + if(changes.selectionCriteria){ + this.reset(); + } this.calculateMaxHeight(); } @@ -86,10 +88,11 @@ export class CriteriaComponent implements OnInit, OnChanges, AfterViewInit, OnDe } reset() { + this.selectionCriteriaForm = this.fb.group({ + criteria: this.fb.array([]) + }); if (this.selectionCriteria?.criteria) { - this.selectionCriteriaForm = this.fb.group({ - criteria: this.fb.array([]) - }); + this.selectionCriteria.criteria.forEach(criterion => { let constraintArray: UntypedFormArray = this.fb.array([]); criterion.constraint.forEach(constraint => {