diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index d3333d8d6416bb16ee1663322c4b5efc17ae59bb..026ffdba401250ecaecf07f3c2fd77417dd5a716 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -174,7 +174,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs } /** called at the end of parseConfig() */ - protected completeParse(json: {}) { + protected completeParse(firstNotif: boolean = true) { this.helpLinks = this._resultsHelpLinks; } @@ -294,7 +294,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs } } - this.completeParse(this._jsonConfig); + this.completeParse(); } public hasParameter(symbol: string): boolean { diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts index 20314b5209a40fa200917e1cc31c43f3a94f5be8..4d553ef88508364b729404766fcaffd01212ef96 100644 --- a/src/app/formulaire/definition/form-fixedvar.ts +++ b/src/app/formulaire/definition/form-fixedvar.ts @@ -125,6 +125,7 @@ export class FormulaireFixedVar extends FormulaireDefinition { for (const fs of this.allFieldsets) { fs.updateFields(); } + this.completeParse(false); // re-add observers that were destroyed by updateFields() } // interface Observer diff --git a/src/app/formulaire/definition/form-macrorugo-compound.ts b/src/app/formulaire/definition/form-macrorugo-compound.ts index c94dad30a3aafd7dfd1b3a27ce6d35f391b31f21..2fb689c5ba617cf31b0c14c2958439681995f4a4 100644 --- a/src/app/formulaire/definition/form-macrorugo-compound.ts +++ b/src/app/formulaire/definition/form-macrorugo-compound.ts @@ -51,9 +51,11 @@ export class FormulaireMacrorugoCompound extends FormulaireRepeatableFieldset { } } - protected completeParse(json: {}) { - this.subscribeFieldsetContainer(); - this.updateApronState(this.currentNub.properties.getPropValue("inclinedApron")); + protected completeParse(firstNotif: boolean = true) { + this.fieldsetContainer.addObserver(this); + if (firstNotif) { + this.updateApronState(this.currentNub.properties.getPropValue("inclinedApron")); + } this.helpLinks = this._resultsHelpLinks; } @@ -65,13 +67,6 @@ export class FormulaireMacrorugoCompound extends FormulaireRepeatableFieldset { return n as FieldsetContainer; } - /** - * abonnement en tant qu'observateur du FieldsetContainer - */ - private subscribeFieldsetContainer() { - this.fieldsetContainer.addObserver(this); - } - /** * abonnement en tant qu'observateur des NgParameter des FieldSet contenus dans le FieldsetContainer */ diff --git a/src/app/formulaire/definition/form-parallel-structures.ts b/src/app/formulaire/definition/form-parallel-structures.ts index 6e238dd769a8342766cfb1360625324bfb305075..6a097c297506ccda99dd052ebba20eca84ac1318 100644 --- a/src/app/formulaire/definition/form-parallel-structures.ts +++ b/src/app/formulaire/definition/form-parallel-structures.ts @@ -92,7 +92,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset { return newStructure; } - protected completeParse(json: {}) { + protected completeParse(firstNotif: boolean = true) { this.subscribeFieldsetContainer(); this.helpLinks = this._resultsHelpLinks; } diff --git a/src/app/formulaire/definition/form-solveur.ts b/src/app/formulaire/definition/form-solveur.ts index fad442e8512f35b90792eb4e14f6ace9a85f46d0..1e2664d9f9e0d0da55c8852e764f32b0b05a4c04 100644 --- a/src/app/formulaire/definition/form-solveur.ts +++ b/src/app/formulaire/definition/form-solveur.ts @@ -27,8 +27,8 @@ export class FormulaireSolveur extends FormulaireFixedVar { this._searchedParamSelectId = this.getOption(json, "searchedParamSelectId"); } - protected completeParse(json: {}, firstNotif: boolean = true) { - super.completeParse(json); + protected completeParse(firstNotif: boolean = true) { + super.completeParse(); if (this._targetNubSelectId) { const sel = this.getFormulaireNodeById(this._targetNubSelectId); if (sel) { @@ -93,7 +93,7 @@ export class FormulaireSolveur extends FormulaireFixedVar { if (trSel) { (trSel.parent as FieldSet).updateFields(); // trick to re-set observers - this.completeParse({}, false); + this.completeParse(false); } // refresh parameters selector this.refreshParameterEntries(); diff --git a/src/app/formulaire/definition/form-verificateur.ts b/src/app/formulaire/definition/form-verificateur.ts index b7253882286a2c7282e287359b9835ebcbc825fd..732a659a5b1f1d2c4dbe0cfc36dd88bff9ae05c0 100644 --- a/src/app/formulaire/definition/form-verificateur.ts +++ b/src/app/formulaire/definition/form-verificateur.ts @@ -21,8 +21,8 @@ export class FormulaireVerificateur extends FormulaireFixedVar { this._speciesListSelectId = this.getOption(json, "speciesListSelectId"); } - protected completeParse(json: {}, firstNotif: boolean = true) { - super.completeParse(json); + protected completeParse(firstNotif: boolean = true) { + super.completeParse(); if (this._targetPassSelectId) { const sel = this.getFormulaireNodeById(this._targetPassSelectId); if (sel) {