From d8309e8e3b637b6e059335be3c03d22716693d04 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Wed, 10 Jan 2018 11:27:43 +0100
Subject: [PATCH] =?UTF-8?q?Param=C3=A8tre=20fix=C3=A9/=C3=A0=20varier/?=
 =?UTF-8?q?=C3=A0=20calculer=20:=20correction=20d'un=20bug=20ne=20laissant?=
 =?UTF-8?q?=20aucun=20param=C3=A8tre=20=C3=A0=20calculer=20quand=20on=20pa?=
 =?UTF-8?q?sse=20le=20param=C3=A8tre=20par=20d=C3=A9faut=20de=20"=C3=A0=20?=
 =?UTF-8?q?calculer"=20=C3=A0=20"varier"=20ou=20"fix=C3=A9"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/app/formulaire/formulaire-definition.ts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/app/formulaire/formulaire-definition.ts b/src/app/formulaire/formulaire-definition.ts
index 0ff5af9a0..862ce7d7f 100644
--- a/src/app/formulaire/formulaire-definition.ts
+++ b/src/app/formulaire/formulaire-definition.ts
@@ -323,6 +323,23 @@ export class FormulaireDefinition {
 
         sourceParam.radioState = newState;
 
+        // on vérifie qu'il y a au moins un paramètre "à calculer" et sinon, on prend le 1er qui est à "fixé"
+        if (this.getParamFromState(ParamRadioConfig.CAL) == undefined) {
+            let newCal: NgParameter = undefined;
+
+            for (let fs of this._fieldSets) {
+                for (let p of fs.fields) {
+                    if (p instanceof NgParameter)
+                        if (p.radioState == ParamRadioConfig.FIX && p != sourceParam) {
+                            newCal = p;
+                            break;
+                        }
+                }
+            }
+
+            newCal.radioState = ParamRadioConfig.CAL;
+        }
+
         this.resetResults();
         this.applyDependencies();
     }
-- 
GitLab