From aa6c3b69e031aa6f7fdc34e4531b251ff0214b53 Mon Sep 17 00:00:00 2001 From: Jean-Pascal <jean-pascal.aubry@inrae.fr> Date: Wed, 29 Nov 2023 12:02:55 +0100 Subject: [PATCH] feat: add message if no species is selected and trigger it when species select field is empty Refs #637 --- .../elements/select/select-field-species-list.ts | 1 + src/app/formulaire/elements/select/select-field.ts | 7 ++++++- src/locale/messages.en.json | 1 + src/locale/messages.fr.json | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/app/formulaire/elements/select/select-field-species-list.ts b/src/app/formulaire/elements/select/select-field-species-list.ts index 7b94345aa..7b0246758 100644 --- a/src/app/formulaire/elements/select/select-field-species-list.ts +++ b/src/app/formulaire/elements/select/select-field-species-list.ts @@ -16,6 +16,7 @@ import { SelectField } from "./select-field"; export class SelectFieldSpeciesList extends SelectField { constructor(parent: FormulaireNode) { super(parent); + this._messageWhenEmpty = "INFO_VERIF_SELECT_SPECIES_FIRST"; this._multiple = true; } diff --git a/src/app/formulaire/elements/select/select-field.ts b/src/app/formulaire/elements/select/select-field.ts index b45f59c42..59e0c8d21 100644 --- a/src/app/formulaire/elements/select/select-field.ts +++ b/src/app/formulaire/elements/select/select-field.ts @@ -292,9 +292,14 @@ export abstract class SelectField extends Field { return this._entriesBaseId; } + public isEmptySelectField() { + return this._selectedEntry !== undefined && Object.keys(this._selectedEntry).length === 0; + } + + public get messageWhenEmpty(): string { let msg: string; - if (this._selectedEntry === undefined && this._messageWhenEmpty) { + if ((this._selectedEntry === undefined && this._messageWhenEmpty) || this.isEmptySelectField()) { msg = ServiceFactory.i18nService.localizeText(this._messageWhenEmpty); } return msg; diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 49d04bcaa..46a339559 100755 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -664,6 +664,7 @@ "INFO_TRIGO_DESCRIPTION": "cosinus sinus tangent arc maths mathematics", "INFO_TRIGO_TITRE_COURT": "Trigo. f.", "INFO_VERIF_CREATE_PASS_FRIST": "Create first a fish ladder, a baffle fishway or a rock-ramp fishpass", + "INFO_VERIF_SELECT_SPECIES_FIRST": "Select first one or several fish species", "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", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index 764dfbbbf..d305b2ecc 100755 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -665,6 +665,7 @@ "INFO_TRIGO_DESCRIPTION": "cosinus sinus tangente arc maths mathématiques", "INFO_TRIGO_TITRE_COURT": "F. trigo.", "INFO_VERIF_CREATE_PASS_FRIST": "Créer d'abord une passe à bassins, à ralentisseurs, ou à macrorugosités", + "INFO_VERIF_SELECT_SPECIES_FIRST": "Selectionner d'abord une ou plusieurs espèces", "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", -- GitLab