From 38cf3b9ba447fc47deb7a971f2d2e1d0d2334b99 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Wed, 28 Aug 2019 11:30:41 +0200
Subject: [PATCH] MacroRugoCompound: refresh GUI when new children are
 generated by "inclined apron" mode

---
 .../definition/concrete/form-macrorugo-compound.ts   | 12 ++++++++++++
 src/app/formulaire/fieldset-container.ts             |  1 -
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/app/formulaire/definition/concrete/form-macrorugo-compound.ts b/src/app/formulaire/definition/concrete/form-macrorugo-compound.ts
index 88375df9f..3d62b3b50 100644
--- a/src/app/formulaire/definition/concrete/form-macrorugo-compound.ts
+++ b/src/app/formulaire/definition/concrete/form-macrorugo-compound.ts
@@ -206,6 +206,18 @@ export class FormulaireMacrorugoCompound extends FormulaireBase {
                             elt.isDisplayed = (! data.value);
                         }
                     }
+                    // when switching to multiple aprons, remove all fieldset container
+                    // instances and reinstanciate for every MacroRugo child
+                    if (! data.value) {
+                        for (const elt of this.allFormElements) {
+                            if (elt instanceof FieldsetContainer) {
+                                elt.clearKids();
+                                for (const c of this.mrcNub.children) {
+                                    elt.addFromTemplate(0, undefined, c);
+                                }
+                            }
+                        }
+                    }
                     this.reset();
                     this.debugMRC();
                     break;
diff --git a/src/app/formulaire/fieldset-container.ts b/src/app/formulaire/fieldset-container.ts
index 5dac88c4f..0aec05ebc 100644
--- a/src/app/formulaire/fieldset-container.ts
+++ b/src/app/formulaire/fieldset-container.ts
@@ -90,7 +90,6 @@ export class FieldsetContainer extends FormulaireElement {
         const templ: FieldsetTemplate = this._templates[templateIndex];
 
         const inst: FieldSet = templ.instantiateTemplate(this, after, nub);
-        console.log("INSTANCIATED TEMPLATE (id / parent id)", inst.id, inst.parent.id, inst);
 
         this.updateLocalisation();
 
-- 
GitLab