From bb103d98662048bc253ccfee4325f74838b9bed2 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Wed, 27 Jun 2018 16:41:32 +0200
Subject: [PATCH] =?UTF-8?q?=20#48=20modifs=20suite=20=C3=A0=20l'ajout=20de?=
 =?UTF-8?q?=20hasMultipleValues=20dans=20IterableValues=20(jalHyd)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../definition/form-compute-fixedvar.ts       |  8 ++-----
 .../definition/form-def-fixedvar.ts           | 22 ++++++-------------
 .../definition/form-result-fixedvar.ts        |  2 +-
 3 files changed, 10 insertions(+), 22 deletions(-)

diff --git a/src/app/formulaire/definition/form-compute-fixedvar.ts b/src/app/formulaire/definition/form-compute-fixedvar.ts
index 110235960..9285a6704 100644
--- a/src/app/formulaire/definition/form-compute-fixedvar.ts
+++ b/src/app/formulaire/definition/form-compute-fixedvar.ts
@@ -21,12 +21,8 @@ export class FormComputeFixedVar extends FormCompute {
 
         const pms = this._formBase.getDisplayedParamListFromState(ParamRadioConfig.LINK);
         for (const p of pms)
-            if (p.valueMode === ParamValueMode.LINK)
-                switch (p.paramDefinition.referencedParamValues.valueMode) {
-                    case ParamValueMode.LISTE:
-                    case ParamValueMode.MINMAX:
-                        return p;
-                }
+            if (p.paramDefinition.hasMultipleValues)
+                return p;
 
         return undefined;
     }
diff --git a/src/app/formulaire/definition/form-def-fixedvar.ts b/src/app/formulaire/definition/form-def-fixedvar.ts
index 440272eff..9016a8a30 100644
--- a/src/app/formulaire/definition/form-def-fixedvar.ts
+++ b/src/app/formulaire/definition/form-def-fixedvar.ts
@@ -80,21 +80,13 @@ export class FormDefFixedVar {
                         break;
 
                     case ParamValueMode.LINK:  // nouvel état
-                        // mode du paramètre référencé
-                        const refParamValues = sourceParam.paramDefinition.referencedParamValues;
-                        switch (refParamValues.valueMode) {
-                            case ParamValueMode.MINMAX:
-                            case ParamValueMode.LISTE:
-                                this.resetOtherRadio(sourceParam, ParamRadioConfig.CAL);
-                                break;
-
-                            case ParamValueMode.CALCUL:
-                                if (refParamValues.hasMultipleValues)
-                                    this.resetOtherRadio(sourceParam, ParamRadioConfig.CAL);
-                                break;
-
-                            case ParamValueMode.LINK:
-                                throw new Error(`références de paramètre en chaîne non pris en charge`); // cas à traiter
+                        if (sourceParam.paramDefinition.hasMultipleValues)
+                            this.resetOtherRadio(sourceParam, ParamRadioConfig.CAL);
+                        else {
+                            const refParamValues = sourceParam.paramDefinition.referencedParamValues;
+                            if (refParamValues !== undefined) // cad si on référence un paramètre et non un Result par ex
+                                if (refParamValues.valueMode == ParamValueMode.LINK)
+                                    throw new Error(`références de paramètre en chaîne non pris en charge`); // cas à traiter
                         }
                         break;
                 }
diff --git a/src/app/formulaire/definition/form-result-fixedvar.ts b/src/app/formulaire/definition/form-result-fixedvar.ts
index 27e04a353..695bc2059 100644
--- a/src/app/formulaire/definition/form-result-fixedvar.ts
+++ b/src/app/formulaire/definition/form-result-fixedvar.ts
@@ -42,7 +42,7 @@ export class FormResultFixedVar extends FormResult {
                 this._fixedResults.addFixedParameter(p);
 
         for (const p of this._formBase.getDisplayedParamListFromState(ParamRadioConfig.LINK))
-            if (p.paramDefinition.referencedParamValues.valueMode == ParamValueMode.SINGLE)
+            if (!p.paramDefinition.hasMultipleValues)
                 this._fixedResults.addFixedParameter(p);
     }
 
-- 
GitLab