From 732186e70df79d0eee11ec74d2cf39c36045d2fe Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 1 Jul 2019 11:10:12 +0200
Subject: [PATCH] Fix Cloisons parameters calculability; simplified
 calculability management

---
 src/compute-node.ts          |  4 ----
 src/pab/cloisons.ts          |  3 +++
 src/param/params-equation.ts | 17 -----------------
 src/remous.ts                |  1 -
 4 files changed, 3 insertions(+), 22 deletions(-)

diff --git a/src/compute-node.ts b/src/compute-node.ts
index 448bfc41..732c3300 100644
--- a/src/compute-node.ts
+++ b/src/compute-node.ts
@@ -64,12 +64,8 @@ export abstract class ComputeNode extends JalhydObject implements IDebug {
         // important for Param uid
         this._prms.parent = this;
 
-        if (!this._prms.calculabilityDefined) {
-            this._prms.resetParametersCalculability();
-        }
         this._prms.Pr.calculability = ParamCalculability.FREE; // so that it can be set through Pr.v
         this.setParametersCalculability();
-        this._prms.DefineCalculability();
         this.setExtraResultsFamilies();
     }
 
diff --git a/src/pab/cloisons.ts b/src/pab/cloisons.ts
index 3227cbb6..cedb09ff 100644
--- a/src/pab/cloisons.ts
+++ b/src/pab/cloisons.ts
@@ -108,6 +108,9 @@ export class Cloisons extends ParallelStructure {
         this.prms.PB.calculability = ParamCalculability.FREE;
         this.prms.DH.calculability = ParamCalculability.DICHO;
         this.prms.Z1.calculability = ParamCalculability.FREE;
+        this.prms.ZRMB.calculability = ParamCalculability.FREE;
+        this.prms.ZRAM.calculability = ParamCalculability.FREE;
+        this.prms.QA.calculability = ParamCalculability.FREE;
     }
 
     private updatePrms() {
diff --git a/src/param/params-equation.ts b/src/param/params-equation.ts
index 5705243b..6c966723 100644
--- a/src/param/params-equation.ts
+++ b/src/param/params-equation.ts
@@ -99,11 +99,8 @@ export abstract class ParamsEquation implements Iterable<ParamDefinition> {
     /** Précision de calcul */
     private _Pr: ParamDefinition;
 
-    private _calculabilityDefined: boolean;
-
     public constructor(parent?: ComputeNode) {
         this.parent = parent;
-        this._calculabilityDefined = false;
         this._Pr = new ParamDefinition(
             this, "Pr", ParamDomainValue.POS, ParamsEquation.DEFAULT_COMPUTE_PREC, undefined, false
         );
@@ -121,14 +118,6 @@ export abstract class ParamsEquation implements Iterable<ParamDefinition> {
         return this.parent.uid;
     }
 
-    get calculabilityDefined(): boolean {
-        return this._calculabilityDefined;
-    }
-
-    public DefineCalculability() {
-        this._calculabilityDefined = true;
-    }
-
     public hasParameter(name: string): boolean {
         for (const p of this) {
             if (p.symbol === name) {
@@ -142,12 +131,6 @@ export abstract class ParamsEquation implements Iterable<ParamDefinition> {
         return this._paramMap;
     }
 
-    public resetParametersCalculability() {
-        for (const p of this) {
-            p.calculability = undefined;
-        }
-    }
-
     public checkParametersCalculability() {
         const res = [];
 
diff --git a/src/remous.ts b/src/remous.ts
index d06721cb..b54b3a33 100644
--- a/src/remous.ts
+++ b/src/remous.ts
@@ -58,7 +58,6 @@ export class CourbeRemousParams extends ParamsEquation {
         this.addParamDefinition(this._Long);
         this.addParamDefinition(this._Dx);
 
-        this.DefineCalculability(); // Pour ne pas remettre en undefined les prms de _section
         this.Pr.visible = true; // exception
     }
 
-- 
GitLab