diff --git a/src/app/components/verificateur-results/verificateur-results.component.ts b/src/app/components/verificateur-results/verificateur-results.component.ts index 08c3ef53cb34fde6236f20c9563fbaf662096f00..2222240c55be3b5b886d42cb71342ffe1271f959 100644 --- a/src/app/components/verificateur-results/verificateur-results.component.ts +++ b/src/app/components/verificateur-results/verificateur-results.component.ts @@ -101,8 +101,6 @@ export class VerificateurResultsComponent extends ResultsComponentDirective impl if (this._verificateurResults) { // = 0 lorsque rien ne varie const vi = this._verificateurResults.variableIndex; - // log du Verificateur pour l'itération en cours - const element = { message: Message, subLog: cLog }; if ( this._verificateurResults.result && this._verificateurResults.result.hasResultElements() @@ -123,7 +121,12 @@ export class VerificateurResultsComponent extends ResultsComponentDirective impl if (l.length === this._verificateurResults.especeResults.length) { for (let i = 0; i < this._verificateurResults.especeResults.length; i++) { const er = this._verificateurResults.especeResults[i]; - if (er && er.hasResultElements() && er.resultElements[vi].hasLog()) { + if ( + er + && er.hasResultElements() + && er.resultElements[vi] + && er.resultElements[vi].hasLog()) + { l[i].subLog.addLog(er.resultElements[vi].log); } } diff --git a/src/app/formulaire/definition/form-verificateur.ts b/src/app/formulaire/definition/form-verificateur.ts index 3059f51c5eea3e81de7a042954eee79769711b90..ad7f3fffcdf6b1a18f31f02dfac3cb563e7a632f 100644 --- a/src/app/formulaire/definition/form-verificateur.ts +++ b/src/app/formulaire/definition/form-verificateur.ts @@ -4,6 +4,8 @@ import { SelectFieldCustom } from "../elements/select-field-custom"; import { FormulaireFixedVar } from "./form-fixedvar"; import { VerificateurResults } from "../../results/verificateur-results"; import { CalculatorResults } from "../../results/calculator-results"; +import { NgParameter } from "../elements/ngparam"; +import { ServiceFactory } from "../../services/service-factory"; /** * Formulaire pour les Vérificateurs @@ -34,18 +36,23 @@ export class FormulaireVerificateur extends FormulaireFixedVar { this.reaffectResultComponents(); } + protected findPassVariatedParameters(): NgParameter[] { + let pvp = [] + const passUid = this.verificateurNub.nubToVerify.uid; + const passForm = ServiceFactory.instance.formulaireService.getFormulaireFromNubId(passUid); + pvp = passForm.getVariatedParameters(); + return pvp; + } + protected reaffectResultComponents() { const ver: Verificateur = (this.currentNub as Verificateur); - // const varParams: NgParameter[] = this.getVariatedParameters(); // résultat de calcul de la passe à macrorugo complexe const vr = this.verificateurResults; - // vr.calculatedParameter = computedParam; vr.result = ver.result; - /* if (varParams) { - vr.variatedParameters = varParams; - } */ - vr.variatedParameters = []; + + // paramètres qui varient, pour le sélecteur d'itération + vr.variatedParameters = this.findPassVariatedParameters(); // résultat de chaque Espece const er: Result[] = []; diff --git a/src/app/results/verificateur-results.ts b/src/app/results/verificateur-results.ts index 3047857202f970b00114f6a6cec930e1956c1942..59b1cdd26ed29dae08f92380b11682e7ce0f8ec9 100644 --- a/src/app/results/verificateur-results.ts +++ b/src/app/results/verificateur-results.ts @@ -7,6 +7,11 @@ export class VerificateurResults extends MultiDimensionResults { /** résultats des modules Espece */ public especeResults: Result[]; + public constructor() { + super(); + this.reset(); + } + public reset() { super.reset(); this.especeResults = []; diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 8f6a2e6fac9bc656cda52f35f860c3f88c59ab0d..728fc8d755e46d984dc50425786d7cccd73d4858 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -555,6 +555,7 @@ "INFO_TRIGO_TITRE": "Trigonometric function", "INFO_TRIGO_TITRE_COURT": "Trigo. f.", "INFO_VERIF_OK": "Crossing criteria are met for all species", + "INFO_VERIF_VARYING_OK": "Crossing criteria are met for all species and all pass modalities", "WARNING_VERIF_OK_BUT": "Crossing criteria are met for all species, but there are warnings", "INFO_VERIFICATEUR_CUSTOM_SPECIES": "Custom species: %s", "INFO_VERIFICATEUR_SPECIES_GROUP": "Species group", @@ -641,6 +642,7 @@ "ERROR_VERIF_PAR_DH": "Downstream pass fall prevents crossability", "ERROR_VERIF_PAR_YMIN": "Water level %h% too low (minimum: %minY%)", "ERROR_VERIF_KO": "Crossability criteria are not met for at least one species group", + "ERROR_VERIF_VARYING_KO": "Crossability criteria are not met for at least one species group, for all pass modalities", "ERROR_VERIF_SPECIES_GROUP_KO": "Crossability criteria are not met for species group ENUM_%speciesGroup%", "WARNING_VERIF_SPECIES_GROUP_OK_BUT": "Crossability criteria are met for species group ENUM_%speciesGroup%, but there are warnings", "INFO_VERIF_SPECIES_GROUP_OK": "Crossability criteria are met for species group ENUM_%speciesGroup%", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 14a4a2934ed14dd50bac62eb858236465796602d..9a77d60bdd6673d4e6fad670443e40cb45aac995 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -556,7 +556,9 @@ "INFO_TRIGO_TITRE": "Fonction trigonométrique", "INFO_TRIGO_TITRE_COURT": "F. trigo.", "INFO_VERIF_OK": "Les critères de franchissement sont remplis pour toutes les espèces", + "INFO_VERIF_VARYING_OK": "Les critères de franchissement sont remplis pour toutes les espèces et toutes les modalités de la passe", "WARNING_VERIF_OK_BUT": "Les critères de franchissement sont remplis pour toutes les espèces, mais il y a des avertissements", + "WARNING_VERIF_VARYING_OK_BUT": "Seules certaines modalités de la passe sont franchissables", "INFO_VERIFICATEUR_CUSTOM_SPECIES": "Espèce personnalisée : %s", "INFO_VERIFICATEUR_SPECIES_GROUP": "Groupe d'espèces", "INFO_VERIFICATEUR_TITRE": "Vérification d'une passe", @@ -607,6 +609,7 @@ "INFO_PARENT_PREFIX": "%name% n°%position% : ", "INFO_PARENT_PREFIX_DOWNWALL": "cloison aval : ", "ERROR_VERIF_ERRORS_IN_PASS": "La passe à vérifier contient des erreurs", + "ERROR_VERIF_VARYING_ERRORS_IN_PASS": "La passe à vérifier contient des erreurs à l'itération %i%", "ERROR_VERIF_MR_VMAX": "Vitesse maximale %V% trop élevée (maximum : %maxV%)", "ERROR_VERIF_MR_YMIN": "Tirant d'eau %Y% insuffisant (minimum : %minY%)", "ERROR_VERIF_MRC_AT_LEAST_ONE_APRON": "Aucun des radiers n'est franchissable", @@ -642,6 +645,7 @@ "ERROR_VERIF_PAR_DH": "La chute en pied de passe empêche le franchissement", "ERROR_VERIF_PAR_YMIN": "Tirant d'eau %h% insuffisant (minimum : %minY%)", "ERROR_VERIF_KO": "Le franchissement est impossible pour au moins un groupe d'espèces", + "ERROR_VERIF_VARYING_KO": "Le franchissement est impossible pour au moins un groupe d'espèces, pour toutes les modalités de la passe", "ERROR_VERIF_SPECIES_GROUP_KO": "ENUM_%speciesGroup% : franchissement impossible", "WARNING_VERIF_SPECIES_GROUP_OK_BUT": "ENUM_%speciesGroup% : OK, avec des avertissements", "INFO_VERIF_SPECIES_GROUP_OK": "ENUM_%speciesGroup% : OK",