From cc93de0da3ffe37abfff909c7c1dfdf358a331eb Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Wed, 27 Mar 2019 11:17:05 +0100
Subject: [PATCH] =?UTF-8?q?R=C3=A9sultat=20=C3=A0=20l'=C3=A9cran:=20=C3=A9?=
 =?UTF-8?q?vite=20d'ajouter=20plusieurs=20fois=20les=20param=C3=A8tres=20f?=
 =?UTF-8?q?ix=C3=A9s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/app/formulaire/definition/form-compute-fixedvar.ts | 1 +
 src/app/formulaire/definition/form-compute.ts          | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/app/formulaire/definition/form-compute-fixedvar.ts b/src/app/formulaire/definition/form-compute-fixedvar.ts
index 616899160..873812579 100644
--- a/src/app/formulaire/definition/form-compute-fixedvar.ts
+++ b/src/app/formulaire/definition/form-compute-fixedvar.ts
@@ -54,6 +54,7 @@ export class FormComputeFixedVar extends FormCompute {
     protected reaffectResultComponents() {
         const nub: Nub = this._formBase.currentNub;
         const computedParam: NgParameter = this.getComputedParameter();
+        this.formResult.resetResults(); // to avoid adding fixed parameters more than once (see below)
         this.formResult.addFixedParameters();
         const varParam: NgParameter = this.getVariatedParameter();
 
diff --git a/src/app/formulaire/definition/form-compute.ts b/src/app/formulaire/definition/form-compute.ts
index 3e5683d6e..a9fb302a1 100644
--- a/src/app/formulaire/definition/form-compute.ts
+++ b/src/app/formulaire/definition/form-compute.ts
@@ -27,7 +27,8 @@ export abstract class FormCompute implements Observer {
 
     /**
      * Copies current Nub result into result components for display on page.
-     * Should be called every time the Nub result changes
+     * Should be called every time the Nub result changes.
+     * Must be idempotent.
      */
     protected abstract reaffectResultComponents();
 
-- 
GitLab