From 006c61231ea3400fab22eb372fbd333315d2b703 Mon Sep 17 00:00:00 2001 From: "francois.grand" <francois.grand@irstea.fr> Date: Thu, 21 Jun 2018 10:43:50 +0200 Subject: [PATCH] =?UTF-8?q?=20#48=20MAJ=20de=20tous=20les=20composants=20P?= =?UTF-8?q?aramLinkComponent=20d'un=20formulaire=20quand=20un=20de=20ces?= =?UTF-8?q?=20composants=20est=20modifi=C3=A9=20(liste=20des=20param=C3=A8?= =?UTF-8?q?tres=20liables)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/components/field-set/field-set.component.ts | 7 +++++++ .../fieldset-container.component.ts | 7 +++++++ .../generic-calculator/calculator.component.ts | 9 +++++++++ .../param-field-line/param-field-line.component.ts | 12 ++++++++++++ .../components/param-link/param-link.component.ts | 2 +- 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/app/components/field-set/field-set.component.ts b/src/app/components/field-set/field-set.component.ts index 1c14aafc4..cbf78ed49 100644 --- a/src/app/components/field-set/field-set.component.ts +++ b/src/app/components/field-set/field-set.component.ts @@ -261,6 +261,13 @@ export class FieldSetComponent implements DoCheck { this._paramComponents.forEach(fsc => fsc.updateParameterFromUI()); } + /** + * met à jour les paramètres liés + */ + public updateLinkedParameters() { + this._paramComponents.forEach(fsc => fsc.updateLinkedParameter()); + } + /** * clic sur le bouton ajouter */ diff --git a/src/app/components/fieldset-container/fieldset-container.component.ts b/src/app/components/fieldset-container/fieldset-container.component.ts index 240f408b9..947302dee 100644 --- a/src/app/components/fieldset-container/fieldset-container.component.ts +++ b/src/app/components/fieldset-container/fieldset-container.component.ts @@ -161,6 +161,13 @@ export class FieldsetContainerComponent implements DoCheck, AfterViewInit { this._fieldsetComponents.forEach(fsc => fsc.updateParametersFromUI()); } + /** + * met à jour les paramètres liés + */ + public updateLinkedParameters() { + this._fieldsetComponents.forEach(fsc => fsc.updateLinkedParameters()); + } + /** * réception d'un événement de demande d'ajout d'un FieldSet */ diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index b7b8a07fc..6a293b7bf 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -194,6 +194,7 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit, */ private onRadioClick(info: any) { this._formulaire.onRadioClick(info); + this.updateLinkedParameters(); } private onCloseForm() { @@ -219,6 +220,14 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit, this._fieldsetContainerComponents.forEach(fscc => fscc.updateParametersFromUI()); } + /** + * met à jour les paramètres liés + */ + private updateLinkedParameters() { + this._fieldsetComponents.forEach(fsc => fsc.updateLinkedParameters()); + this._fieldsetContainerComponents.forEach(fscc => fscc.updateLinkedParameters()); + } + private doCompute() { this.updateParametersFromUI(); this._formulaire.doCompute(); diff --git a/src/app/components/param-field-line/param-field-line.component.ts b/src/app/components/param-field-line/param-field-line.component.ts index 6b1883394..a741c7cb2 100644 --- a/src/app/components/param-field-line/param-field-line.component.ts +++ b/src/app/components/param-field-line/param-field-line.component.ts @@ -6,6 +6,7 @@ import { NgParamInputComponent } from "../ngparam-input/ngparam-input.component" import { ServiceFactory } from "../../services/service-factory"; import { ParamValueMode, CalculatorType, ParallelStructure } from "jalhyd"; import { FormulaireService } from "../../services/formulaire/formulaire.service"; +import { ParamLinkComponent } from "../param-link/param-link.component"; @Component({ selector: "param-field-line", @@ -34,6 +35,9 @@ export class ParamFieldLineComponent implements OnChanges { @ViewChild(NgParamInputComponent) private _ngParamInputComponent: NgParamInputComponent; + @ViewChild(ParamLinkComponent) + private _paramLinkComponent: ParamLinkComponent; + @Output() private onValid: EventEmitter<void>; @@ -360,4 +364,12 @@ export class ParamFieldLineComponent implements OnChanges { public updateParameterFromUI() { this._ngParamInputComponent.updateModelFromUI(); } + + /** + * met à jour les paramètres liés + */ + public updateLinkedParameter() { + if (this._paramLinkComponent !== undefined) + this._paramLinkComponent.updateParamList(); + } } diff --git a/src/app/components/param-link/param-link.component.ts b/src/app/components/param-link/param-link.component.ts index ab78d4d85..8ad07ff0c 100644 --- a/src/app/components/param-link/param-link.component.ts +++ b/src/app/components/param-link/param-link.component.ts @@ -145,7 +145,7 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy { } } - private updateParamList() { + public updateParamList() { // liste des paramètres liables // this._linkableParams = this._formService.getLinkableParameters(this._param); this._linkableParams = this._formService.getLinkableValues(this._param); -- GitLab