From 969c31ae19f4d8ddafbe837ea23eb9dba95ff244 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:37:45 +0100 Subject: [PATCH] feat: select component: add error message refs #609 --- .../components/generic-select/generic-select.component.html | 3 +++ src/app/components/results-chart/chart-type.component.ts | 4 ++++ .../select-field-line/select-field-line.component.ts | 6 ++++++ src/app/formulaire/elements/select/select-field.ts | 6 +++++- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/app/components/generic-select/generic-select.component.html b/src/app/components/generic-select/generic-select.component.html index 0a75a714e..68c4dfa09 100644 --- a/src/app/components/generic-select/generic-select.component.html +++ b/src/app/components/generic-select/generic-select.component.html @@ -23,3 +23,6 @@ <div *ngIf="messageWhenEmpty" class="message-when-empty"> {{ messageWhenEmpty }} </div> +<div *ngIf="errorMessage" class="message-when-empty"> + {{ errorMessage }} +</div> diff --git a/src/app/components/results-chart/chart-type.component.ts b/src/app/components/results-chart/chart-type.component.ts index 123657c51..01b12a2a4 100644 --- a/src/app/components/results-chart/chart-type.component.ts +++ b/src/app/components/results-chart/chart-type.component.ts @@ -53,6 +53,10 @@ export class ChartTypeSelectComponent implements IObservable { return this._select.messageWhenEmpty; } + public get errorMessage(): string { + return undefined; + } + public get enableHelpButton(): boolean { return false; } diff --git a/src/app/components/select-field-line/select-field-line.component.ts b/src/app/components/select-field-line/select-field-line.component.ts index 7c4b067ef..7142ef870 100644 --- a/src/app/components/select-field-line/select-field-line.component.ts +++ b/src/app/components/select-field-line/select-field-line.component.ts @@ -45,6 +45,12 @@ export class SelectFieldLineComponent implements OnInit { return this._select.messageWhenEmpty; } + public get errorMessage(): string { + if (this._select.errorMessage !== undefined) { + return this.i18nService.localizeMessage(this._select.errorMessage); + } + } + protected entryLabel(entry: SelectEntry): string { return decodeHtml(entry.label); } diff --git a/src/app/formulaire/elements/select/select-field.ts b/src/app/formulaire/elements/select/select-field.ts index 2ecfdfa75..cb0dce965 100644 --- a/src/app/formulaire/elements/select/select-field.ts +++ b/src/app/formulaire/elements/select/select-field.ts @@ -4,7 +4,7 @@ import { arraysAreEqual } from "../../../util/util"; import { FormulaireNode } from "../formulaire-node"; import { ServiceFactory } from "app/services/service-factory"; import { FormulaireDefinition } from "../../definition/form-definition"; -import { enumValueFromString, Nub } from "jalhyd"; +import { enumValueFromString, Message, Nub } from "jalhyd"; export abstract class SelectField extends Field { @@ -301,6 +301,10 @@ export abstract class SelectField extends Field { return msg; } + public get errorMessage(): Message { + return undefined; + } + public get multiple(): boolean { return this._multiple; } -- GitLab