From 691c9744fd15bbf00219f17f0c1470f8fbfa7aa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Thu, 23 Mar 2023 14:38:46 +0100 Subject: [PATCH] refactor: MacroRugoRemous: add error message to target PAM select refs #609 --- .../elements/select/select-field-target-pam.ts | 17 ++++++++++++++++- src/locale/messages.en.json | 3 ++- src/locale/messages.fr.json | 3 ++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/app/formulaire/elements/select/select-field-target-pam.ts b/src/app/formulaire/elements/select/select-field-target-pam.ts index 0e699ac25..5a5a7620c 100644 --- a/src/app/formulaire/elements/select/select-field-target-pam.ts +++ b/src/app/formulaire/elements/select/select-field-target-pam.ts @@ -1,8 +1,9 @@ import { ServiceFactory } from "app/services/service-factory"; import { decodeHtml } from "../../../util/util"; -import { CalculatorType, MacroRugoRemous } from "jalhyd"; +import { CalculatorType, MacroRugoRemous, Message, MessageCode, Session } from "jalhyd"; import { SelectField } from "./select-field"; import { FormulaireNode } from "../formulaire-node"; +import { SelectEntry } from "./select-entry"; // Courbe de remous dans une passe à macro-rugo. export class SelectFieldTargetPam extends SelectField { @@ -37,4 +38,18 @@ export class SelectFieldTargetPam extends SelectField { // do not override localisation done in populate() // ie. avoid what is done by SelectField.updateLocalisation() } + + public get errorMessage(): Message { + const v = this.getValue(); + if (v instanceof SelectEntry) { + const nubUid = v.value; + const nub = Session.getInstance().findNubByUid(nubUid); + if (nub.resultHasMultipleValues()) { + return new Message(MessageCode.ERROR_MACRORUGOREMOUS_VARIATED_TARGET_PAM); + } + else { + return undefined; + } + } + } } diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index db4e3e018..a5f438b7e 100755 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -777,5 +777,6 @@ "INFO_VERIF_SPECIES_NUB_OK": "Crossability criteria are met for custom species FORM_ID_%uid%", "ERROR_VERIF_PAB_WALL_NOT_CROSSABLE": "Wall #%N% is not crossable", "ERROR_VERIF_PAB_DW_NOT_CROSSABLE": "Downwall is not crossable", - "WARNING_VERIF_PAR_SPECIES_GROUP": "Species groups 3a, 3b et 7b are discouraged for this pass type" + "WARNING_VERIF_PAR_SPECIES_GROUP": "Species groups 3a, 3b et 7b are discouraged for this pass type", + "ERROR_MACRORUGOREMOUS_VARIATED_TARGET_PAM": "Target rock-ramp has variated parameters" } diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index e3f2fb207..28725f79a 100755 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -778,5 +778,6 @@ "INFO_VERIF_SPECIES_NUB_OK": "FORM_ID_%uid% : OK", "ERROR_VERIF_PAB_WALL_NOT_CROSSABLE": "La cloison n°%N% n'est pas franchissable", "ERROR_VERIF_PAB_DW_NOT_CROSSABLE": "La cloison aval n'est pas franchissable", - "WARNING_VERIF_PAR_SPECIES_GROUP": "Les groupes d'espèces 3a, 3b et 7b sont déconseillés pour ce type de passe" + "WARNING_VERIF_PAR_SPECIES_GROUP": "Les groupes d'espèces 3a, 3b et 7b sont déconseillés pour ce type de passe", + "ERROR_MACRORUGOREMOUS_VARIATED_TARGET_PAM": "La passe cible comporte des paramètres variés" } \ No newline at end of file -- GitLab