From bea206c0e6adf2b8bef18f932e6a28a51526b4c6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr>
Date: Thu, 12 May 2022 10:27:02 +0200
Subject: [PATCH] feat: PAB calculator: add error,warning,info count in
 boundary conditions select

refs #517
---
 .../variable-results-selector.component.ts    | 19 ++++++++++++++++---
 src/locale/messages.en.json                   |  3 +++
 src/locale/messages.fr.json                   |  3 +++
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/src/app/components/variable-results-selector/variable-results-selector.component.ts b/src/app/components/variable-results-selector/variable-results-selector.component.ts
index 663f1f0e5..0d68b4457 100644
--- a/src/app/components/variable-results-selector/variable-results-selector.component.ts
+++ b/src/app/components/variable-results-selector/variable-results-selector.component.ts
@@ -3,9 +3,9 @@ import { Component, Input, OnChanges } from "@angular/core";
 import { I18nService } from "../../services/internationalisation.service";
 import { fv, longestVarParam } from "../../util";
 import { MultiDimensionResults } from "../../results/multidimension-results";
-import { PrebarrageResults } from "../../results/prebarrage-results";
-import { CalculatorType, PbBassin, PbCloison, Structure, VariatedDetails } from "jalhyd";
+import { VariatedDetails } from "jalhyd";
 import { CalculatorResults } from "../../results/calculator-results";
+import { LogHelper } from "app/results/log-helper";
 
 @Component({
     selector: "variable-results-selector",
@@ -24,6 +24,9 @@ export class VariableResultsSelectorComponent implements OnChanges {
     @Input()
     private variatedParameters: VariatedDetails[];
 
+    /** stats du log synthétique */
+    private _logHelper: LogHelper;
+
     /** valeur en cours */
     private _selectedValue = 0;
 
@@ -61,6 +64,7 @@ export class VariableResultsSelectorComponent implements OnChanges {
         // get current variatedIndex even if component was rebuilt
         if (this.results) {
             this._selectedValue = this.results.variableIndex;
+            this._logHelper = new LogHelper(this.results);
         }
     }
 
@@ -80,8 +84,17 @@ export class VariableResultsSelectorComponent implements OnChanges {
         return ret;
     }
 
+    /**
+     * generate entry text for boundary conditions select
+     * @param index select option index
+     */
     protected entryLabel(index: number): string {
-        return CalculatorResults.variatingModalityLabel(this.varValues, this.results, index);
+        let res = CalculatorResults.variatingModalityLabel(this.varValues, this.results, index);
+        const restat = this._logHelper.resultElementsStats(index);
+        if (restat.length > 0) {
+            res += " - " + restat;
+        }
+        return res;
     }
 
     public get selectedValue(): number {
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index eb3b5d866..649e9e7c1 100755
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -7,6 +7,9 @@
     "WARNING_NOTCH_SUBMERSION_GREATER_THAN_07": "Notch formula is discouraged when submersion is greater than 0.7",
     "WARNING_SLOT_SUBMERSION_NOT_BETWEEN_07_AND_09": "Slot formula is discouraged when submersion is lower than 0.7 or greater than 0.9",
     "WARNING_WEIR_SUBMERSION_LOWER_THAN_08": "Submerged weir formula is discouraged when submersion is lower than 08",
+    "WARNING_INFO_COUNT_SHORT": "%d info(s)",
+    "WARNING_WARNING_COUNT_SHORT": "%d warning(s)",
+    "WARNING_ERROR_COUNT_SHORT": "%d error(s)",
     "WARNING_WARNINGS_ABSTRACT": "%nb% warnings occurred during calculation",
     "WARNING_ERRORS_ABSTRACT": "%nb% error occurred during calculation",
     "WARNING_ERRORS_ABSTRACT_PLUR": "%nb% errors occurred during calculation",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 60802ea9e..cb3e769e6 100755
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -7,6 +7,9 @@
     "WARNING_NOTCH_SUBMERSION_GREATER_THAN_07": "La formule de l'échancrure n'est pas conseillée pour un ennoiement supérieur à 0.7",
     "WARNING_SLOT_SUBMERSION_NOT_BETWEEN_07_AND_09": "La formule de la fente n'est pas conseillée pour un ennoiement inférieur à 0.7 et supérieur à 0.9",
     "WARNING_WEIR_SUBMERSION_LOWER_THAN_08": "La formule du seuil noyé n'est pas conseillé pour un ennoiement inférieur à 0.8",
+    "WARNING_INFO_COUNT_SHORT": "%d info(s)",
+    "WARNING_WARNING_COUNT_SHORT": "%d avertissement(s)",
+    "WARNING_ERROR_COUNT_SHORT": "%d erreur(s)",
     "WARNING_WARNINGS_ABSTRACT": "%nb% avertissements rencontrés lors du calcul",
     "WARNING_ERRORS_ABSTRACT": "%nb% erreur rencontrée lors du calcul",
     "WARNING_ERRORS_ABSTRACT_PLUR": "%nb% erreurs rencontrées lors du calcul",
-- 
GitLab