From 706489d2c4fe9c25c3d3a7eae4367593e6d9ebeb Mon Sep 17 00:00:00 2001 From: Thang PHAM Date: Thu, 21 May 2026 19:32:52 +0200 Subject: [PATCH 1/4] Show error message in DnDTable Signed-off-by: Thang PHAM --- src/components/dialogs/limits/limits-side-pane.tsx | 3 +++ src/components/dialogs/limits/temporary-limits-table.tsx | 5 +++-- .../global-model-editor/columnName-editor.tsx | 1 - 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/dialogs/limits/limits-side-pane.tsx b/src/components/dialogs/limits/limits-side-pane.tsx index 2815da24ac..a462666847 100644 --- a/src/components/dialogs/limits/limits-side-pane.tsx +++ b/src/components/dialogs/limits/limits-side-pane.tsx @@ -74,6 +74,7 @@ export function LimitsSidePane({ editable: true, type: DndColumnType.TEXT as const, maxWidth: 200, + //hideErrorMessage: true, }, { label: 'TemporaryLimitDuration', @@ -82,6 +83,7 @@ export function LimitsSidePane({ editable: true, type: DndColumnType.NUMERIC as const, maxWidth: 100, + //hideErrorMessage: true, }, { label: 'TemporaryLimitValue', @@ -90,6 +92,7 @@ export function LimitsSidePane({ editable: true, type: DndColumnType.NUMERIC as const, maxWidth: 100, + //hideErrorMessage: true, }, ].map((column) => ({ ...column, diff --git a/src/components/dialogs/limits/temporary-limits-table.tsx b/src/components/dialogs/limits/temporary-limits-table.tsx index b726e840f8..0cdc476512 100644 --- a/src/components/dialogs/limits/temporary-limits-table.tsx +++ b/src/components/dialogs/limits/temporary-limits-table.tsx @@ -44,16 +44,17 @@ interface CustomTableCellProps { function EditableTableCell({ name, column, previousValue, valueModified, ...props }: Readonly) { return ( - + {column.type === DndColumnType.NUMERIC ? ( ) : ( - + )} ); diff --git a/src/components/spreadsheet-view/spreadsheet/spreadsheet-toolbar/global-model-editor/columnName-editor.tsx b/src/components/spreadsheet-view/spreadsheet/spreadsheet-toolbar/global-model-editor/columnName-editor.tsx index 7342c2e66c..0635e74d97 100644 --- a/src/components/spreadsheet-view/spreadsheet/spreadsheet-toolbar/global-model-editor/columnName-editor.tsx +++ b/src/components/spreadsheet-view/spreadsheet/spreadsheet-toolbar/global-model-editor/columnName-editor.tsx @@ -29,7 +29,6 @@ export default function ColumnNameEditor({ name, rowIndex, generateColumnId }: C autoFocus: true, onBlur: onBlurColumnName, }} - showErrorMsg={true} /> ); } From 9bf20e525f98208daae2306fcde7bd7e4f639f5a Mon Sep 17 00:00:00 2001 From: Thang PHAM Date: Thu, 21 May 2026 19:35:30 +0200 Subject: [PATCH 2/4] clean code Signed-off-by: Thang PHAM --- src/components/dialogs/limits/limits-side-pane.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/components/dialogs/limits/limits-side-pane.tsx b/src/components/dialogs/limits/limits-side-pane.tsx index a462666847..2815da24ac 100644 --- a/src/components/dialogs/limits/limits-side-pane.tsx +++ b/src/components/dialogs/limits/limits-side-pane.tsx @@ -74,7 +74,6 @@ export function LimitsSidePane({ editable: true, type: DndColumnType.TEXT as const, maxWidth: 200, - //hideErrorMessage: true, }, { label: 'TemporaryLimitDuration', @@ -83,7 +82,6 @@ export function LimitsSidePane({ editable: true, type: DndColumnType.NUMERIC as const, maxWidth: 100, - //hideErrorMessage: true, }, { label: 'TemporaryLimitValue', @@ -92,7 +90,6 @@ export function LimitsSidePane({ editable: true, type: DndColumnType.NUMERIC as const, maxWidth: 100, - //hideErrorMessage: true, }, ].map((column) => ({ ...column, From f295f6cc75150659bb17424780d50d58a43dd761 Mon Sep 17 00:00:00 2001 From: Thang PHAM Date: Wed, 27 May 2026 15:33:41 +0200 Subject: [PATCH 3/4] customize translation Signed-off-by: Thang PHAM --- .../generation-dispatch/generation-dispatch-dialog.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/dialogs/network-modifications/generation-dispatch/generation-dispatch-dialog.tsx b/src/components/dialogs/network-modifications/generation-dispatch/generation-dispatch-dialog.tsx index d5ca16a070..52b8811a5e 100644 --- a/src/components/dialogs/network-modifications/generation-dispatch/generation-dispatch-dialog.tsx +++ b/src/components/dialogs/network-modifications/generation-dispatch/generation-dispatch-dialog.tsx @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { CustomFormProvider, snackWithFallback, useSnackMessage, DeepNullable } from '@gridsuite/commons-ui'; +import { CustomFormProvider, DeepNullable, snackWithFallback, useSnackMessage } from '@gridsuite/commons-ui'; import { yupResolver } from '@hookform/resolvers/yup'; import { FORM_LOADING_DELAY } from 'components/network/constants'; import { @@ -72,7 +72,7 @@ const getGeneratorsFrequencyReserveSchema = () => { [NAME]: yup.string().required(), }) ) - .min(1) + .min(1, 'FilterInputMinError') .required(), [FREQUENCY_RESERVE]: yup.number().nullable().min(0).max(100).required(), }) @@ -82,7 +82,7 @@ const getGeneratorsFrequencyReserveSchema = () => { const getSubstationsGeneratorsOrderingSchema = () => { return yup.array().of( yup.object().shape({ - [SUBSTATION_IDS]: yup.array().of(yup.string().required()).min(1).required(), + [SUBSTATION_IDS]: yup.array().of(yup.string().required()).min(1, 'FilterInputMinError').required(), }) ); }; From 518fc13e87b1af9a0457a0b0d3705afe5b33b2df Mon Sep 17 00:00:00 2001 From: Thang PHAM Date: Wed, 27 May 2026 19:00:09 +0200 Subject: [PATCH 4/4] customize translation positive Signed-off-by: Thang PHAM --- src/components/dialogs/limits/limits-pane-utils.ts | 2 +- .../generation-dispatch/generation-dispatch-dialog.tsx | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/dialogs/limits/limits-pane-utils.ts b/src/components/dialogs/limits/limits-pane-utils.ts index dbaa6d7535..67fbd94c99 100644 --- a/src/components/dialogs/limits/limits-pane-utils.ts +++ b/src/components/dialogs/limits/limits-pane-utils.ts @@ -65,7 +65,7 @@ const temporaryLimitsValidationSchema = () => { [TEMPORARY_LIMIT_DURATION]: yup .number() .nullable() - .min(0) + .min(0, 'mustBeGreaterOrEqualToZero') .when([TEMPORARY_LIMIT_VALUE, TEMPORARY_LIMIT_NAME], { is: (value: number | null, name: string | null) => value != null || !!name, then: (schema) => schema.required(), diff --git a/src/components/dialogs/network-modifications/generation-dispatch/generation-dispatch-dialog.tsx b/src/components/dialogs/network-modifications/generation-dispatch/generation-dispatch-dialog.tsx index 52b8811a5e..65c51bcc77 100644 --- a/src/components/dialogs/network-modifications/generation-dispatch/generation-dispatch-dialog.tsx +++ b/src/components/dialogs/network-modifications/generation-dispatch/generation-dispatch-dialog.tsx @@ -74,7 +74,12 @@ const getGeneratorsFrequencyReserveSchema = () => { ) .min(1, 'FilterInputMinError') .required(), - [FREQUENCY_RESERVE]: yup.number().nullable().min(0).max(100).required(), + [FREQUENCY_RESERVE]: yup + .number() + .nullable() + .min(0, 'NormalizedPercentage') + .max(100, 'NormalizedPercentage') + .required(), }) ); };