diff --git a/src/app/formulaire/elements/fieldset.ts b/src/app/formulaire/elements/fieldset.ts index 7b709eb764cb73580a7f56d1c2b24ed17b2a4c97..73e6b8535049442f73d2a8ac0dd748d32a53feeb 100644 --- a/src/app/formulaire/elements/fieldset.ts +++ b/src/app/formulaire/elements/fieldset.ts @@ -4,7 +4,8 @@ import { IProperties, Observer, Nub, - enumValueFromString + enumValueFromString, + ParamValueMode } from "jalhyd"; import { FormulaireElement } from "./formulaire-element"; @@ -215,8 +216,32 @@ export class FieldSet extends FormulaireElement implements IProperties { public updateFields(forceClear: boolean) { if (forceClear) { this.clearFields(); + this.parseFields(); } - this.parseFields(); + else { + const nub = this.parentForm.currentNub; + for (const e of this.parentForm.allFormElements) { + if (e instanceof NgParameter) { + const p: ParamDefinition = nub.getParameter(e.symbol); + switch (e.paramDefinition.valueMode) { + case ParamValueMode.SINGLE: + e.setValue(this, p.singleValue); + break; + + case ParamValueMode.MINMAX: + e.setMinValue(this, p.min); + e.setMaxValue(this, p.max); + e.setStepValue(this, p.step); + break; + + case ParamValueMode.LISTE: + e.setValueList(this, p.valueList); + break; + } + } + } + } + this.updateLocalisation(); // for all select fields known by the form, set selected value