From 8b0d3347674867d9fb533ef2565e52cc94692a14 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 4 Mar 2019 10:49:33 +0100
Subject: [PATCH] Fix #154

---
 src/app/formulaire/definition/concrete/form-courbe-remous.ts   | 2 ++
 .../formulaire/definition/concrete/form-parallel-structures.ts | 2 ++
 src/app/formulaire/definition/concrete/form-regime-uniforme.ts | 2 ++
 .../formulaire/definition/concrete/form-section-parametree.ts  | 2 ++
 src/app/formulaire/fieldset.ts                                 | 3 +--
 5 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/app/formulaire/definition/concrete/form-courbe-remous.ts b/src/app/formulaire/definition/concrete/form-courbe-remous.ts
index 5c3f0f0be..a10cd4b88 100644
--- a/src/app/formulaire/definition/concrete/form-courbe-remous.ts
+++ b/src/app/formulaire/definition/concrete/form-courbe-remous.ts
@@ -75,6 +75,8 @@ export class FormulaireCourbeRemous extends FormulaireDefinition {
                     this.replaceCurrentNub(sender.properties);
                     for (const fs of this.allFieldsets) {
                         fs.setNub(this._currentNub);
+                        // treat the fieldset as new to re-seubscribe to Nub properties change events
+                        this.afterParseFieldset(fs);
                     }
                     this.reset();
                     break;
diff --git a/src/app/formulaire/definition/concrete/form-parallel-structures.ts b/src/app/formulaire/definition/concrete/form-parallel-structures.ts
index 1e5703f50..615bf5c26 100644
--- a/src/app/formulaire/definition/concrete/form-parallel-structures.ts
+++ b/src/app/formulaire/definition/concrete/form-parallel-structures.ts
@@ -394,6 +394,8 @@ export class FormulaireParallelStructure extends FormulaireDefinition {
                     const props = this.adjustProperties(sender, data["name"], data["value"]);
                     const newNub = this.replaceNub((sender.nub as Structure), props);
                     sender.setNub(newNub);
+                    // treat the fieldset as new to re-seubscribe to Nub properties change events
+                    this.afterParseFieldset(sender);
                     this.reset();
                     break;
             }
diff --git a/src/app/formulaire/definition/concrete/form-regime-uniforme.ts b/src/app/formulaire/definition/concrete/form-regime-uniforme.ts
index dd4de57d4..611098f1f 100644
--- a/src/app/formulaire/definition/concrete/form-regime-uniforme.ts
+++ b/src/app/formulaire/definition/concrete/form-regime-uniforme.ts
@@ -78,6 +78,8 @@ export class FormulaireRegimeUniforme extends FormulaireDefinition implements Ob
             this.replaceCurrentNub(sender.properties);
             for (const fs of this.allFieldsets) {
                 fs.setNub(this._currentNub);
+                // treat the fieldset as new to re-seubscribe to Nub properties change events
+                this.afterParseFieldset(fs);
             }
             this.reset();
         }
diff --git a/src/app/formulaire/definition/concrete/form-section-parametree.ts b/src/app/formulaire/definition/concrete/form-section-parametree.ts
index 9d7da09ab..5e4409b91 100644
--- a/src/app/formulaire/definition/concrete/form-section-parametree.ts
+++ b/src/app/formulaire/definition/concrete/form-section-parametree.ts
@@ -70,6 +70,8 @@ export class FormulaireSectionParametree extends FormulaireDefinition {
                     this.replaceCurrentNub(sender.properties);
                     for (const fs of this.allFieldsets) {
                         fs.setNub(this._currentNub);
+                        // treat the fieldset as new to re-seubscribe to Nub properties change events
+                        this.afterParseFieldset(fs);
                     }
                     this.reset();
                     break;
diff --git a/src/app/formulaire/fieldset.ts b/src/app/formulaire/fieldset.ts
index f8129a9e8..2e5dfec81 100644
--- a/src/app/formulaire/fieldset.ts
+++ b/src/app/formulaire/fieldset.ts
@@ -1,5 +1,4 @@
-import { CalculatorType, ComputeNodeType, ParamDefinition, LoiDebit, StructureType,
-    Props, Observer, Nub, MethodeResolution, ParamCalculability, ParamDomain, ParamDomainValue } from "jalhyd";
+import { CalculatorType, ComputeNodeType, ParamDefinition, LoiDebit, StructureType, Props, Observer, Nub, MethodeResolution } from "jalhyd";
 
 import { FormulaireElement } from "./formulaire-element";
 import { Field } from "./field";
-- 
GitLab