From 8bab5feb2d0eb85d73b570130f05df719bcf21a4 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 18 Feb 2019 11:26:14 +0100
Subject: [PATCH] =?UTF-8?q?Fix=20#121=20:=20r=C3=A9sultats=20de=20calcul?=
 =?UTF-8?q?=20r=C3=A9tablis=20sous=20la=20section=20param=C3=A9tr=C3=A9e?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../calculator-results.component.html              |  4 ++--
 .../fixedvar-results/fixed-results.component.ts    | 14 ++++++++------
 .../section-results/section-results.component.html | 14 ++------------
 .../section-results/section-results.component.scss |  5 +++++
 .../section-results/section-results.component.ts   |  9 ++++-----
 .../definition/concrete/form-section-parametree.ts |  6 +-----
 .../definition/form-compute-section-parametree.ts  | 11 +++++++++--
 src/app/results/section-results.ts                 |  3 +--
 8 files changed, 32 insertions(+), 34 deletions(-)

diff --git a/src/app/components/calculator-results/calculator-results.component.html b/src/app/components/calculator-results/calculator-results.component.html
index 1cf1ee86e..03c60dfa0 100644
--- a/src/app/components/calculator-results/calculator-results.component.html
+++ b/src/app/components/calculator-results/calculator-results.component.html
@@ -1,5 +1,5 @@
-<div class="container-fluid">
-    <fixedvar-results></fixedvar-results>
+<div>
     <section-results></section-results>
     <remous-results></remous-results>
+    <fixedvar-results></fixedvar-results>
 </div>
diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index a5ec36ac6..cf23921d8 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -80,12 +80,14 @@ export class FixedResultsComponent {
             && res.resultElement
             && res.extraResults
         ) {
-            // 2.1. main result
-            data.push({
-                label: this._fixedResults.calculatedParameterHeader,
-                value: this.intlService.formatResult(res.name, res.resultElement.vCalc),
-                isCalcResult: true // for CSS
-            });
+            // 2.1. main result (sometimes empty, for ex. in "Section paramétrée")
+            if (res.name && res.resultElement.vCalc) {
+                data.push({
+                    label: this._fixedResults.calculatedParameterHeader,
+                    value: this.intlService.formatResult(res.name, res.resultElement.vCalc),
+                    isCalcResult: true // for CSS
+                });
+            }
 
             // 2.2. extra results
             const extraResults = res.resultElement.extraResults;
diff --git a/src/app/components/section-results/section-results.component.html b/src/app/components/section-results/section-results.component.html
index 0e0bdc211..2415b2655 100644
--- a/src/app/components/section-results/section-results.component.html
+++ b/src/app/components/section-results/section-results.component.html
@@ -13,18 +13,8 @@
         </div>
 
         <!-- graphique -->
-        <div class="row">
-            <div class="col" style="text-align: center">
-                <section-canvas></section-canvas>
-            </div>
+        <div class="canvas-container">
+            <section-canvas></section-canvas>
         </div>
     </div>
 </div>
-
-<!-- tableau de valeurs -->
-<div class="col mx-auto">
-    <table style="width: 100%" cellpadding="15">
-        <tr vertical-result-element [result-element]=resultElement>
-        </tr>
-    </table>
-</div>
diff --git a/src/app/components/section-results/section-results.component.scss b/src/app/components/section-results/section-results.component.scss
index 4b8f1982b..15dd10202 100644
--- a/src/app/components/section-results/section-results.component.scss
+++ b/src/app/components/section-results/section-results.component.scss
@@ -21,3 +21,8 @@
         }
     }
 }
+
+.canvas-container {
+    // border: dashed red 2px;
+    text-align: center;
+}
diff --git a/src/app/components/section-results/section-results.component.ts b/src/app/components/section-results/section-results.component.ts
index 47859d7db..34248eae2 100644
--- a/src/app/components/section-results/section-results.component.ts
+++ b/src/app/components/section-results/section-results.component.ts
@@ -6,6 +6,7 @@ import { SectionCanvasComponent } from "../section-canvas/section-canvas.compone
 import { SectionResults } from "../../results/section-results";
 import { ApplicationSetupService } from "../../services/app-setup/app-setup.service";
 import { CalculatorResults } from "../../results/calculator-results";
+import { FixedResults } from "../../results/fixed-results";
 
 @Component({
     selector: "section-results",
@@ -22,19 +23,18 @@ export class SectionResultsComponent implements DoCheck {
 
     public set results(rs: CalculatorResults[]) {
         this._resultElement = undefined;
-
         this._results = undefined;
         if (rs) {
             for (const r of rs) {
                 if (r instanceof SectionResults) {
                     this._results = r;
-                    break;
                 }
             }
         }
         this.updateView();
     }
 
+    /** détermine s'il y a des résultats de section "fixes" (pas de paramètre varié, graphique de la section) */
     public get hasResults(): boolean {
         return this._results && this._results.hasResults;
     }
@@ -52,9 +52,8 @@ export class SectionResultsComponent implements DoCheck {
         "Yc": { r: 255, g: 128, b: 0 },
         "Yco": { r: 255, g: 0, b: 255 },
     };
-    /**
-    * résultats non mis en forme
-    */
+
+    /**  résultats non mis en forme */
     private _results: SectionResults;
 
     /**
diff --git a/src/app/formulaire/definition/concrete/form-section-parametree.ts b/src/app/formulaire/definition/concrete/form-section-parametree.ts
index e5d22bcf9..651ec0453 100644
--- a/src/app/formulaire/definition/concrete/form-section-parametree.ts
+++ b/src/app/formulaire/definition/concrete/form-section-parametree.ts
@@ -1,16 +1,12 @@
-import { CalculatorType, acSection, ParamsEquation, ComputeNodeType, IObservable } from "jalhyd";
+import { IObservable } from "jalhyd";
 
 import { FormResultSection } from "../form-result-section";
 import { FormDefSection } from "../form-def-section";
-import { NgParameter } from "../../ngparam";
-import { InputField } from "../../input-field";
 import { FormComputeSectionParametree } from "../form-compute-section-parametree";
 import { FormulaireDefinition } from "../form-definition";
-import { I18nService } from "../../../services/internationalisation/internationalisation.service";
 import { CalculatorResults } from "../../../results/calculator-results";
 import { FormDefFixedVar } from "../form-def-fixedvar";
 import { FieldSet } from "../../fieldset";
-import { SelectField } from "../../select-field";
 
 export class FormulaireSectionParametree extends FormulaireDefinition {
     private _formFixedVar: FormDefFixedVar;
diff --git a/src/app/formulaire/definition/form-compute-section-parametree.ts b/src/app/formulaire/definition/form-compute-section-parametree.ts
index 5466762f0..ab2c327b5 100644
--- a/src/app/formulaire/definition/form-compute-section-parametree.ts
+++ b/src/app/formulaire/definition/form-compute-section-parametree.ts
@@ -1,4 +1,4 @@
-import { SectionParametree, acSection } from "jalhyd";
+import { SectionParametree, acSection, Result } from "jalhyd";
 
 import { FormCompute } from "./form-compute";
 import { NgParameter } from "../ngparam";
@@ -80,9 +80,16 @@ export class FormComputeSectionParametree extends FormCompute {
         this._sectionResults.section = sect;
 
         const computePrec: number = this._formBase.getParameterValue("Pr"); // précision de calcul
-        this._sectionResults.result = sectNub.CalcSerie(computePrec,
+        const tmpResult: Result = sectNub.CalcSerie(computePrec,
             undefined, // valeur initiale, non utilisée dans ce cas
             undefined // variable à calculer, non utilisée
         );
+
+        // résultats de section (avec le graphique de section)
+        this._sectionResults.result = tmpResult;
+
+        // résultats complémentaires des paramètres fixés
+        this._formSectionResult.addSectionFixedParameters(false);
+        this._formSectionResult.fixedResults.result = tmpResult;
     }
 }
diff --git a/src/app/results/section-results.ts b/src/app/results/section-results.ts
index ee05b2943..c2ab16e7f 100644
--- a/src/app/results/section-results.ts
+++ b/src/app/results/section-results.ts
@@ -1,7 +1,6 @@
-import { acSection, Result, ResultElement } from "jalhyd";
+import { acSection, Result } from "jalhyd";
 
 import { CalculatorResults } from "./calculator-results";
-import { NgParameter } from "../formulaire/ngparam";
 
 export class SectionResults extends CalculatorResults {
     private _result: Result;
-- 
GitLab