From 11ccee87c1e5c44aaf79e9461813914e938d16b8 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 20 Jul 2020 10:24:38 +0200
Subject: [PATCH] Simplified form results reset

---
 .../calculator-results.component.ts           |  6 +---
 .../calculator.component.ts                   | 35 +------------------
 .../pab-results/pab-results.component.ts      |  1 -
 .../pb-results/pb-results.component.ts        |  1 -
 .../remous-results.component.ts               |  1 -
 .../section-results.component.ts              |  1 -
 .../formulaire/definition/form-definition.ts  | 12 -------
 7 files changed, 2 insertions(+), 55 deletions(-)

diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts
index 27fa0e724..8d6de93b5 100644
--- a/src/app/components/calculator-results/calculator-results.component.ts
+++ b/src/app/components/calculator-results/calculator-results.component.ts
@@ -20,7 +20,7 @@ export class CalculatorResultsComponent implements AfterViewChecked {
         @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent
     ) { }
 
-    // @TODO this system is sh*tty !
+    // @TODO @Input() ?
     public set formulaire(f: FormulaireDefinition) {
         this._formulaire = f;
     }
@@ -33,10 +33,6 @@ export class CalculatorResultsComponent implements AfterViewChecked {
         return r;
     }
 
-    public updateView() {
-        console.log("UPDATE VIEW (disabled)");
-    }
-
     public ngAfterViewChecked() {
         this.afterViewChecked.emit();
     }
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 4951178b6..2be2d3286 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -388,10 +388,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         this.appComponent.showProgressBar = true;
         this._computeClicked = true;
         this.showPBInputData = false;
-        // send resetForm to clear log
-        this._formulaire.notifyObservers({
-            "action": "resetForm",
-        }, this._formulaire);
         // calculate module
         setTimeout(() => {
             this._formulaire.doCompute();
@@ -443,22 +439,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         }
     }
 
-    private setForm(f: FormulaireDefinition) {
-        if (this._formulaire !== undefined) {
-            this._formulaire.removeObserver(this);
-        }
-        this._formulaire = f;
-        if (this._formulaire !== undefined) {
-            this._formulaire.addObserver(this);
-        }
-    }
-
-    private updateFormulaireResults(uid: string) {
-        if (this._formulaire.uid === uid) {
-            this.resultsComponent.updateView();
-        }
-    }
-
     // interface Observer
 
     update(sender: any, data: any): void {
@@ -466,22 +446,13 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
             switch (data["action"]) {
                 case "currentFormChanged":
                     const uid: string = data["formId"];
-                    this.setForm(this.formulaireService.getFormulaireFromId(uid));
+                    this._formulaire = (this.formulaireService.getFormulaireFromId(uid));
                     this.resultsComponent.formulaire = this._formulaire;
                     this._calculatorNameComponent.model = this._formulaire;
                     // reload localisation in all cases (it does not eat bread)
                     this.formulaireService.updateFormulaireLocalisation(this._formulaire);
                     break;
             }
-        } else if (sender instanceof FormulaireDefinition) {
-            let f: FormulaireDefinition;
-            switch (data["action"]) {
-                case "resetForm": // réinitialisation du formulaire
-                case "resultsUpdated":
-                    f = sender as FormulaireDefinition;
-                    this.updateFormulaireResults(f.uid);
-                    break;
-            }
         }
     }
 
@@ -557,8 +528,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
      */
     public onInputChange(event: any) {
         this._formulaire.resetResults([], (event ? event.symbol : undefined));
-        // to refresh log components, that are fed manually (!)
-        this.resultsComponent.updateView();
     }
 
     /**
@@ -604,8 +573,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         // show proper form (actually subform elements) or proper results,
         // depending on what was clicked
         (this._formulaire as FormulairePrebarrage).nodeSelected(event.node);
-        // refresh results component
-        this.resultsComponent.updateView();
     }
 
     public openHelp() {
diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts
index 011ba0bd1..513710980 100644
--- a/src/app/components/pab-results/pab-results.component.ts
+++ b/src/app/components/pab-results/pab-results.component.ts
@@ -37,7 +37,6 @@ export class PabResultsComponent extends ResultsComponentDirective {
         if (rs.length > 0 && rs[0] instanceof PabResults) {
             this._pabResults = rs[0] as PabResults;
         }
-        // this.updateView();
     }
 
     private mergeGlobalLog(result: Result, log: cLog) {
diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts
index 666257c7d..034f24e0c 100644
--- a/src/app/components/pb-results/pb-results.component.ts
+++ b/src/app/components/pb-results/pb-results.component.ts
@@ -30,7 +30,6 @@ export class PbResultsComponent {
                 this._pbResults = r as PrebarrageResults;
             }
         }
-        // this.updateView();
     }
 
     public get pbResults() {
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index 4a18b7fb9..5762459e1 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -146,7 +146,6 @@ export class RemousResultsComponent extends ResultsComponentDirective {
                 }
             }
         }
-        // this.updateView();
     }
 
     public get log(): cLog {
diff --git a/src/app/components/section-results/section-results.component.ts b/src/app/components/section-results/section-results.component.ts
index 5d6acdeee..8590e0248 100644
--- a/src/app/components/section-results/section-results.component.ts
+++ b/src/app/components/section-results/section-results.component.ts
@@ -37,7 +37,6 @@ export class SectionResultsComponent extends ResultsComponentDirective {
                 }
             }
         }
-        // this.updateView();
         this.drawSectionCanvas();
     }
 
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index eb1dc8ad5..9ebc4348b 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -317,12 +317,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         }
     }
 
-    protected notifyReset() {
-        this.notifyObservers({
-            "action": "resetForm"
-        }, this);
-    }
-
     /**
      * Forwards Nub's progress updated notification.
      * Used by CalculatorComponent to update progress bar
@@ -337,8 +331,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
      */
     public reset() {
         this.resetResults([], undefined, true);
-        // prévenir les composants qu'il faut détecter les changements
-        this.notifyReset();
     }
 
     /**
@@ -499,10 +491,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
     public doCompute() {
         // calculate module
         this.compute();
-        // refresh results
-        this.notifyObservers({
-            "action": "resultsUpdated",
-        }, this);
     }
 
     public resetFormResults() {}
-- 
GitLab