From ead4843ccd526ae369e1075b5c78ad4cfcdf2c8d Mon Sep 17 00:00:00 2001 From: Etienne LESOT Date: Fri, 20 Feb 2026 08:28:44 +0100 Subject: [PATCH 1/6] manage sensi parameters with node built Signed-off-by: Etienne LESOT --- src/components/parameters-tabs.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/parameters-tabs.tsx b/src/components/parameters-tabs.tsx index 10c400f305..0fc4e7a981 100644 --- a/src/components/parameters-tabs.tsx +++ b/src/components/parameters-tabs.tsx @@ -69,6 +69,7 @@ import { } from 'services/study/short-circuit-analysis'; import { useGetPccMinParameters } from './dialogs/parameters/use-get-pcc-min-parameters'; import { useWorkspacePanelActions } from './workspace/hooks/use-workspace-panel-actions'; +import { isNodeBuilt } from './graph/util/model-functions'; enum TAB_VALUES { lfParamsTabValue = 'LOAD_FLOW', @@ -89,6 +90,7 @@ const ParametersTabs: FunctionComponent = () => { const attemptedLeaveParametersTabIndex = useSelector((state: AppState) => state.attemptedLeaveParametersTabIndex); const user = useSelector((state: AppState) => state.user); const studyUuid = useSelector((state: AppState) => state.studyUuid); + const currentNode = useSelector((state: AppState) => state.currentTreeNode ?? null); const currentNodeUuid = useSelector((state: AppState) => state.currentTreeNode?.id ?? null); const currentRootNetworkUuid = useSelector((state: AppState) => state.currentRootNetworkUuid); @@ -307,6 +309,7 @@ const ParametersTabs: FunctionComponent = () => { currentRootNetworkUuid={currentRootNetworkUuid} parametersBackend={sensitivityAnalysisBackend} setHaveDirtyFields={setDirtyFields} + isNodeBuilt={isNodeBuilt(currentNode)} isDeveloperMode={isDeveloperMode} /> ); From cdb15456e48816b7d128f1eee7deea750c4ef4a0 Mon Sep 17 00:00:00 2001 From: Etienne LESOT Date: Fri, 27 Feb 2026 09:18:41 +0100 Subject: [PATCH 2/6] finalize Signed-off-by: Etienne LESOT --- .../graph/menus/create-node-menu.tsx | 2 +- .../root-network/unbuild-all-nodes-button.tsx | 2 +- .../graph/network-modification-tree-model.ts | 2 +- src/components/graph/nodes/build-button.tsx | 2 +- .../graph/nodes/build-status-chip.tsx | 79 ------------------- .../graph/nodes/network-modification-node.tsx | 4 +- src/components/graph/tree-node.type.ts | 2 +- src/components/graph/util/model-functions.ts | 2 +- .../network-modification-tree-pane.jsx | 2 +- src/components/network/constants.ts | 8 -- src/components/parameters-tabs.tsx | 2 +- .../common/computation-report-viewer.tsx | 2 +- src/components/study-container.jsx | 2 +- src/services/study/tree-subtree.ts | 2 +- src/translations/en.json | 5 -- src/translations/fr.json | 5 -- 16 files changed, 13 insertions(+), 110 deletions(-) delete mode 100644 src/components/graph/nodes/build-status-chip.tsx diff --git a/src/components/graph/menus/create-node-menu.tsx b/src/components/graph/menus/create-node-menu.tsx index dd4cbb10fe..c96b2ba7bb 100644 --- a/src/components/graph/menus/create-node-menu.tsx +++ b/src/components/graph/menus/create-node-menu.tsx @@ -13,7 +13,6 @@ import { useSelector } from 'react-redux'; import ChildMenuItem from './create-child-menu-item'; import { CustomDialog } from '../../utils/custom-dialog'; import { CustomNestedMenuItem } from '@gridsuite/commons-ui'; -import { BUILD_STATUS } from '../../network/constants'; import { type AppState, type NodeSelectionForCopy } from 'redux/reducer'; import type { UUID } from 'node:crypto'; import NetworkModificationTreeModel from '../network-modification-tree-model'; @@ -21,6 +20,7 @@ import { CopyType } from 'components/network-modification.type'; import { CurrentTreeNode, isSecurityModificationNode, NetworkModificationNodeType, NodeType } from '../tree-node.type'; import { NodeInsertModes } from 'types/notification-types'; import { Divider } from '@mui/material'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; type SubMenuItem = { onRoot: boolean; diff --git a/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx b/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx index 2ec29f6927..02214f4c87 100644 --- a/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx +++ b/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx @@ -22,7 +22,7 @@ import { useSelector } from 'react-redux'; import { AppState } from 'redux/reducer'; import { unbuildAllStudyNodes } from 'services/study/study'; import { NETWORK_MODIFICATION } from '../../../../utils/report/report.constant'; -import { BUILD_STATUS } from '../../../network/constants'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; const styles = { button: { diff --git a/src/components/graph/network-modification-tree-model.ts b/src/components/graph/network-modification-tree-model.ts index 77aaa37463..92d1bb45c6 100644 --- a/src/components/graph/network-modification-tree-model.ts +++ b/src/components/graph/network-modification-tree-model.ts @@ -6,7 +6,7 @@ */ import { convertNodetoReactFlowModelNode, getModificationNodeDataOrUndefined } from './util/model-functions'; -import { BUILD_STATUS } from '../network/constants'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; import type { UUID } from 'node:crypto'; import { Edge } from '@xyflow/react'; import { AbstractNode, CurrentTreeNode, NetworkModificationNodeData, RootNodeData } from './tree-node.type'; diff --git a/src/components/graph/nodes/build-button.tsx b/src/components/graph/nodes/build-button.tsx index c5af50b4e3..e000b83f5a 100644 --- a/src/components/graph/nodes/build-button.tsx +++ b/src/components/graph/nodes/build-button.tsx @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { BUILD_STATUS } from 'components/network/constants'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; import React, { useCallback, useState } from 'react'; import { PlayCircleFilled, StopCircleOutlined } from '@mui/icons-material'; import { Button, CircularProgress } from '@mui/material'; diff --git a/src/components/graph/nodes/build-status-chip.tsx b/src/components/graph/nodes/build-status-chip.tsx deleted file mode 100644 index ed2beca07b..0000000000 --- a/src/components/graph/nodes/build-status-chip.tsx +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Copyright (c) 2025, RTE (http://www.rte-france.com) - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -import React, { ReactElement } from 'react'; -import { Chip } from '@mui/material'; -import { useIntl } from 'react-intl'; -import { BUILD_STATUS } from 'components/network/constants'; -import { mergeSx, type SxStyle } from '@gridsuite/commons-ui'; - -function getBuildStatusSx(buildStatus: BUILD_STATUS | undefined): SxStyle { - return (theme) => { - const bs = theme.node.buildStatus; - // pick background based on status - let bg: string; - - switch (buildStatus) { - case BUILD_STATUS.BUILT: - bg = bs.success; - break; - case BUILD_STATUS.BUILT_WITH_WARNING: - bg = bs.warning; - break; - case BUILD_STATUS.BUILT_WITH_ERROR: - bg = bs.error; - break; - default: - bg = bs.notBuilt; - break; - } - - // only set explicit contrast color when it's the "notBuilt" background - const shouldSetContrast = bg === bs.notBuilt; - - return { - background: bg, - ...(shouldSetContrast ? { color: theme.palette.getContrastText(bg) } : {}), - '&:hover': { - backgroundColor: bg, - }, - }; - }; -} - -const baseStyle: SxStyle = (theme) => - ({ - padding: theme.spacing(1, 0.5), - fontSize: '12px', - fontWeight: 400, - lineHeight: '100%', - }) as const; - -type BuildStatusChipProps = { - buildStatus?: BUILD_STATUS; - sx?: SxStyle; - icon?: ReactElement; - onClick?: (e: React.MouseEvent) => void; -}; - -const BuildStatusChip = ({ buildStatus = BUILD_STATUS.NOT_BUILT, sx, icon, onClick }: BuildStatusChipProps) => { - const intl = useIntl(); - - const label = intl.formatMessage({ id: buildStatus }); - - return ( - - ); -}; - -export default BuildStatusChip; diff --git a/src/components/graph/nodes/network-modification-node.tsx b/src/components/graph/nodes/network-modification-node.tsx index 244e8eb802..bf3cfbd95f 100644 --- a/src/components/graph/nodes/network-modification-node.tsx +++ b/src/components/graph/nodes/network-modification-node.tsx @@ -11,14 +11,12 @@ import { useSelector } from 'react-redux'; import Box from '@mui/material/Box'; import { copyToClipboard, LIGHT_THEME, type MuiStyles, useSnackMessage } from '@gridsuite/commons-ui'; import { getLocalStorageTheme } from '../../../redux/session-storage/local-storage'; -import { BUILD_STATUS } from '../../network/constants'; import { AppState } from 'redux/reducer'; import { CopyType } from 'components/network-modification.type'; import { ModificationNode } from '../tree-node.type'; import NodeHandle from './node-handle'; import { baseNodeStyles, interactiveNodeStyles } from './styles'; import NodeOverlaySpinner from './node-overlay-spinner'; -import BuildStatusChip from './build-status-chip'; import { BuildButton } from './build-button'; import { Tooltip, Typography } from '@mui/material'; @@ -27,6 +25,8 @@ import { useCallback, useMemo } from 'react'; import { TOOLTIP_DELAY } from 'utils/UIconstants'; import ForwardRefBox from 'components/utils/forwardRefBox'; import ContentCopyIcon from '@mui/icons-material/ContentCopy'; +import BuildStatusChip from '@gridsuite/commons-ui/components/node/build-status-chip'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; const styles = { networkModificationSelected: (theme) => ({ diff --git a/src/components/graph/tree-node.type.ts b/src/components/graph/tree-node.type.ts index c3245fdafb..b20425cac7 100644 --- a/src/components/graph/tree-node.type.ts +++ b/src/components/graph/tree-node.type.ts @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import type { UUID } from 'node:crypto'; -import { BUILD_STATUS } from '../network/constants'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; import { Node } from '@xyflow/react'; export enum NodeType { diff --git a/src/components/graph/util/model-functions.ts b/src/components/graph/util/model-functions.ts index ba535c6ae8..aec3300ea3 100644 --- a/src/components/graph/util/model-functions.ts +++ b/src/components/graph/util/model-functions.ts @@ -6,7 +6,7 @@ */ import type { UUID } from 'node:crypto'; -import { BUILD_STATUS } from '../../network/constants'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; import type NetworkModificationTreeModel from '../network-modification-tree-model'; import { CurrentTreeNode, diff --git a/src/components/network-modification-tree-pane.jsx b/src/components/network-modification-tree-pane.jsx index 33c8bb0c39..1134020da0 100644 --- a/src/components/network-modification-tree-pane.jsx +++ b/src/components/network-modification-tree-pane.jsx @@ -28,7 +28,7 @@ import { useSnackMessage, } from '@gridsuite/commons-ui'; import { ExportNetworkDialog } from './dialogs/export-network/export-network-dialog'; -import { BUILD_STATUS } from './network/constants'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; import { copySubtree, copyTreeNode, diff --git a/src/components/network/constants.ts b/src/components/network/constants.ts index b5e52cf3d2..097a9b55ac 100644 --- a/src/components/network/constants.ts +++ b/src/components/network/constants.ts @@ -155,14 +155,6 @@ export const VARIATION_TYPES = { TARGET_P: { id: 'TARGET_P', label: 'TargetPText' }, } as const; -export enum BUILD_STATUS { - NOT_BUILT = 'NOT_BUILT', - BUILDING = 'BUILDING', - BUILT = 'BUILT', - BUILT_WITH_WARNING = 'BUILT_WITH_WARNING', - BUILT_WITH_ERROR = 'BUILT_WITH_ERROR', -} - export const SWITCH_TYPE = { BREAKER: { id: 'BREAKER', label: 'Breaker' }, DISCONNECTOR: { id: 'DISCONNECTOR', label: 'Disconnector' }, diff --git a/src/components/parameters-tabs.tsx b/src/components/parameters-tabs.tsx index aa9d45c464..d20e369119 100644 --- a/src/components/parameters-tabs.tsx +++ b/src/components/parameters-tabs.tsx @@ -343,7 +343,7 @@ const ParametersTabs: FunctionComponent = () => { currentRootNetworkUuid={currentRootNetworkUuid} parametersBackend={sensitivityAnalysisBackend} setHaveDirtyFields={setDirtyFields} - isNodeBuilt={isNodeBuilt(currentNode)} + globalBuildStatus={currentNode?.data?.globalBuildStatus} isDeveloperMode={isDeveloperMode} /> ); diff --git a/src/components/results/common/computation-report-viewer.tsx b/src/components/results/common/computation-report-viewer.tsx index 3971f9ed78..bdf3c3f005 100644 --- a/src/components/results/common/computation-report-viewer.tsx +++ b/src/components/results/common/computation-report-viewer.tsx @@ -13,7 +13,7 @@ import { ComputingType } from '@gridsuite/commons-ui'; import WaitingLoader from '../../utils/waiting-loader'; import { useReportFetcher } from '../../../hooks/use-report-fetcher'; import { Report, SeverityLevel } from '../../../utils/report/report.type'; -import { BUILD_STATUS } from 'components/network/constants'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; import { sortSeverityList } from 'utils/report/report-severity'; interface ComputationReportViewerProps { diff --git a/src/components/study-container.jsx b/src/components/study-container.jsx index d56a354bdf..3870e4f2f9 100644 --- a/src/components/study-container.jsx +++ b/src/components/study-container.jsx @@ -39,7 +39,7 @@ import { } from '@gridsuite/commons-ui'; import NetworkModificationTreeModel from './graph/network-modification-tree-model'; import { getFirstNodeOfType } from './graph/util/model-functions'; -import { BUILD_STATUS } from './network/constants'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; import { useAllComputingStatus } from './computing-status/use-all-computing-status'; import { fetchNetworkModificationTree, fetchNetworkModificationTreeNode } from '../services/study/tree-subtree'; import { fetchNetworkExistence, fetchRootNetworkIndexationStatus } from '../services/study/network'; diff --git a/src/services/study/tree-subtree.ts b/src/services/study/tree-subtree.ts index c71e92cf64..5b9859c0e5 100644 --- a/src/services/study/tree-subtree.ts +++ b/src/services/study/tree-subtree.ts @@ -9,8 +9,8 @@ import { getStudyUrl } from './index'; import { backendFetch, backendFetchJson } from '@gridsuite/commons-ui'; import type { UUID } from 'node:crypto'; import { AbstractNode, NodeType, StashedNodeProperties } from '../../components/graph/tree-node.type'; -import { BUILD_STATUS } from '../../components/network/constants'; import { NodeInsertModes } from 'types/notification-types'; +import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; interface Node { name: string; diff --git a/src/translations/en.json b/src/translations/en.json index d2fa1b22a9..112d29482c 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -1664,11 +1664,6 @@ "voltage-level": "voltage level", "substation": "substation", "notValidVoltageLevel": "Invalid voltage level to add busbar section. Please re-create the voltage level.", - "BUILT": "Built", - "BUILT_WITH_WARNING": "Warnings", - "BUILT_WITH_ERROR": "Errors", - "NOT_BUILT": "Not built", - "BUILDING": "Building", "allBusbarSections": "All", "allOptionHelperText": "Busbars have different sections (number or index)", "enableNavigationSync": "Enable multi-tab tree navigation", diff --git a/src/translations/fr.json b/src/translations/fr.json index 5993461333..3db8d68556 100644 --- a/src/translations/fr.json +++ b/src/translations/fr.json @@ -1659,11 +1659,6 @@ "voltage-level": "poste", "substation": "site", "notValidVoltageLevel": "Poste invalide pour l'ajout de section/tronçon. Veuillez re-créer le poste.", - "BUILT": "Réalisé", - "BUILT_WITH_WARNING": "Alertes", - "BUILT_WITH_ERROR": "Erreurs", - "NOT_BUILT": "Non réalisé", - "BUILDING": "En cours de réalisation", "allBusbarSections": "Tous", "allOptionHelperText": "Tous les jeux de barres n'ont pas les memes sections (index et nombre)", "enableNavigationSync": "Activer la navigation dans l'arbre en multi-onglets", From b4d26458d52dcb726441607ed848c719878d6318 Mon Sep 17 00:00:00 2001 From: Etienne LESOT Date: Fri, 27 Feb 2026 10:31:24 +0100 Subject: [PATCH 3/6] fix Signed-off-by: Etienne LESOT --- src/components/graph/menus/create-node-menu.tsx | 4 ++-- .../menus/root-network/unbuild-all-nodes-button.tsx | 4 ++-- .../graph/network-modification-tree-model.ts | 4 ++-- src/components/graph/nodes/build-button.tsx | 8 ++++---- .../graph/nodes/network-modification-node.tsx | 8 ++++---- src/components/graph/tree-node.type.ts | 10 +++++----- src/components/graph/util/model-functions.ts | 4 ++-- src/components/network-modification-tree-pane.jsx | 6 +++--- src/components/parameters-tabs.tsx | 2 +- .../results/common/computation-report-viewer.tsx | 4 ++-- src/components/study-container.jsx | 8 ++++---- src/services/study/tree-subtree.ts | 6 +++--- 12 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/components/graph/menus/create-node-menu.tsx b/src/components/graph/menus/create-node-menu.tsx index c96b2ba7bb..6994a2c59a 100644 --- a/src/components/graph/menus/create-node-menu.tsx +++ b/src/components/graph/menus/create-node-menu.tsx @@ -20,7 +20,7 @@ import { CopyType } from 'components/network-modification.type'; import { CurrentTreeNode, isSecurityModificationNode, NetworkModificationNodeType, NodeType } from '../tree-node.type'; import { NodeInsertModes } from 'types/notification-types'; import { Divider } from '@mui/material'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; type SubMenuItem = { onRoot: boolean; @@ -344,7 +344,7 @@ const CreateNodeMenu: React.FC = ({ id: 'buildNode', disabled: activeNode?.data?.globalBuildStatus?.startsWith('BUILT') || - activeNode?.data?.globalBuildStatus === BUILD_STATUS.BUILDING, + activeNode?.data?.globalBuildStatus === BuildStatus.BUILDING, }, UNBUILD_NODE: { onRoot: false, diff --git a/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx b/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx index 02214f4c87..be4fe26979 100644 --- a/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx +++ b/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx @@ -22,7 +22,7 @@ import { useSelector } from 'react-redux'; import { AppState } from 'redux/reducer'; import { unbuildAllStudyNodes } from 'services/study/study'; import { NETWORK_MODIFICATION } from '../../../../utils/report/report.constant'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; const styles = { button: { @@ -73,7 +73,7 @@ export const UnbuildAllNodesButton = () => { .filter((treeNode) => treeNode.type === NETWORK_MODIFICATION) .every( (treeNode) => - treeNode.data.globalBuildStatus === BUILD_STATUS.NOT_BUILT || + treeNode.data.globalBuildStatus === BuildStatus.NOT_BUILT || treeNode.data.globalBuildStatus === undefined ); }, [treeModel]); diff --git a/src/components/graph/network-modification-tree-model.ts b/src/components/graph/network-modification-tree-model.ts index 92d1bb45c6..80ba9481c7 100644 --- a/src/components/graph/network-modification-tree-model.ts +++ b/src/components/graph/network-modification-tree-model.ts @@ -6,7 +6,7 @@ */ import { convertNodetoReactFlowModelNode, getModificationNodeDataOrUndefined } from './util/model-functions'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import type { UUID } from 'node:crypto'; import { Edge } from '@xyflow/react'; import { AbstractNode, CurrentTreeNode, NetworkModificationNodeData, RootNodeData } from './tree-node.type'; @@ -273,6 +273,6 @@ export default class NetworkModificationTreeModel { setBuildingStatus() { this.isAnyNodeBuilding = - this.treeNodes.find((node) => node?.data?.globalBuildStatus === BUILD_STATUS.BUILDING) !== undefined; + this.treeNodes.find((node) => node?.data?.globalBuildStatus === BuildStatus.BUILDING) !== undefined; } } diff --git a/src/components/graph/nodes/build-button.tsx b/src/components/graph/nodes/build-button.tsx index e000b83f5a..7aeb4fdf2f 100644 --- a/src/components/graph/nodes/build-button.tsx +++ b/src/components/graph/nodes/build-button.tsx @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import React, { useCallback, useState } from 'react'; import { PlayCircleFilled, StopCircleOutlined } from '@mui/icons-material'; import { Button, CircularProgress } from '@mui/material'; @@ -14,7 +14,7 @@ import type { UUID } from 'node:crypto'; import { type MuiStyles, snackWithFallback, useSnackMessage } from '@gridsuite/commons-ui'; type BuildButtonProps = { - buildStatus?: BUILD_STATUS; + buildStatus?: BuildStatus; studyUuid: UUID | null; currentRootNetworkUuid: UUID | null; nodeUuid: UUID; @@ -50,7 +50,7 @@ export const BuildButton = ({ setIsLoading(true); - if (!buildStatus || buildStatus === BUILD_STATUS.NOT_BUILT) { + if (!buildStatus || buildStatus === BuildStatus.NOT_BUILT) { buildNode(studyUuid, nodeUuid, currentRootNetworkUuid) .catch((error) => snackWithFallback(snackError, error, { headerId: 'NodeBuildingError' })) .finally(() => { @@ -73,7 +73,7 @@ export const BuildButton = ({ if (isLoading) { return ; } - return !buildStatus || buildStatus === BUILD_STATUS.NOT_BUILT ? ( + return !buildStatus || buildStatus === BuildStatus.NOT_BUILT ? ( ) : ( diff --git a/src/components/graph/nodes/network-modification-node.tsx b/src/components/graph/nodes/network-modification-node.tsx index bf3cfbd95f..69003f3dac 100644 --- a/src/components/graph/nodes/network-modification-node.tsx +++ b/src/components/graph/nodes/network-modification-node.tsx @@ -26,7 +26,7 @@ import { TOOLTIP_DELAY } from 'utils/UIconstants'; import ForwardRefBox from 'components/utils/forwardRefBox'; import ContentCopyIcon from '@mui/icons-material/ContentCopy'; import BuildStatusChip from '@gridsuite/commons-ui/components/node/build-status-chip'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; const styles = { networkModificationSelected: (theme) => ({ @@ -189,13 +189,13 @@ const NetworkModificationNode = (props: NodeProps) => { - {props.data.globalBuildStatus !== BUILD_STATUS.BUILDING && ( + {props.data.globalBuildStatus !== BuildStatus.BUILDING && ( )} - {props.data.localBuildStatus !== BUILD_STATUS.BUILDING && ( + {props.data.localBuildStatus !== BuildStatus.BUILDING && ( ) => { )} - {props.data.localBuildStatus === BUILD_STATUS.BUILDING && } + {props.data.localBuildStatus === BuildStatus.BUILDING && } diff --git a/src/components/graph/tree-node.type.ts b/src/components/graph/tree-node.type.ts index b20425cac7..54c3b31697 100644 --- a/src/components/graph/tree-node.type.ts +++ b/src/components/graph/tree-node.type.ts @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import type { UUID } from 'node:crypto'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import { Node } from '@xyflow/react'; export enum NodeType { @@ -40,8 +40,8 @@ export type StashedNodeProperties = { }; export interface NodeBuildStatus { - globalBuildStatus: BUILD_STATUS; - localBuildStatus: BUILD_STATUS; + globalBuildStatus: BuildStatus; + localBuildStatus: BuildStatus; } export type RootNodeData = AbstractNode & { @@ -67,12 +67,12 @@ export type NetworkModificationNodeData = AbstractNode & { export type NodeCommonData = { label: string; - globalBuildStatus?: BUILD_STATUS; + globalBuildStatus?: BuildStatus; description?: string; readOnly?: boolean; nodeType?: NetworkModificationNodeType; }; -export type ReactFlowModificationNodeData = NodeCommonData & { localBuildStatus?: BUILD_STATUS }; +export type ReactFlowModificationNodeData = NodeCommonData & { localBuildStatus?: BuildStatus }; export type ModificationNode = Node & { id: UUID; diff --git a/src/components/graph/util/model-functions.ts b/src/components/graph/util/model-functions.ts index aec3300ea3..0b35c452e4 100644 --- a/src/components/graph/util/model-functions.ts +++ b/src/components/graph/util/model-functions.ts @@ -6,7 +6,7 @@ */ import type { UUID } from 'node:crypto'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import type NetworkModificationTreeModel from '../network-modification-tree-model'; import { CurrentTreeNode, @@ -121,7 +121,7 @@ export function isNodeReadOnly(node: CurrentTreeNode | null) { return node?.data?.readOnly ? true : false; // ternary operator because of potential undefined } -export function isStatusBuilt(status: BUILD_STATUS | undefined) { +export function isStatusBuilt(status: BuildStatus | undefined) { return status?.startsWith('BUILT'); } diff --git a/src/components/network-modification-tree-pane.jsx b/src/components/network-modification-tree-pane.jsx index 1134020da0..b3d4d3c577 100644 --- a/src/components/network-modification-tree-pane.jsx +++ b/src/components/network-modification-tree-pane.jsx @@ -28,7 +28,7 @@ import { useSnackMessage, } from '@gridsuite/commons-ui'; import { ExportNetworkDialog } from './dialogs/export-network/export-network-dialog'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import { copySubtree, copyTreeNode, @@ -275,8 +275,8 @@ export const NetworkModificationTreePane = ({ studyUuid, currentRootNetworkUuid createTreeNode(studyUuid, element.id, insertMode, { name: response, type: type, - localBuildStatus: BUILD_STATUS.NOT_BUILT, - globalBuildStatus: BUILD_STATUS.NOT_BUILT, + localBuildStatus: BuildStatus.NOT_BUILT, + globalBuildStatus: BuildStatus.NOT_BUILT, nodeType: networkModificationNodeType, }).catch((error) => { snackWithFallback(snackError, error, { headerId: 'NodeCreateError' }); diff --git a/src/components/parameters-tabs.tsx b/src/components/parameters-tabs.tsx index d20e369119..f96eefaaba 100644 --- a/src/components/parameters-tabs.tsx +++ b/src/components/parameters-tabs.tsx @@ -71,7 +71,6 @@ import { } from 'services/study/short-circuit-analysis'; import { useGetPccMinParameters } from './dialogs/parameters/use-get-pcc-min-parameters'; import { useWorkspacePanelActions } from './workspace/hooks/use-workspace-panel-actions'; -import { isNodeBuilt } from './graph/util/model-functions'; import { fetchContingencyCount } from '../services/study'; import { fetchDefaultDynamicSecurityAnalysisProvider } from '../services/study/dynamic-security-analysis'; import { @@ -403,6 +402,7 @@ const ParametersTabs: FunctionComponent = () => { ); } }, [ + currentNode, tabValue, studyUuid, languageLocal, diff --git a/src/components/results/common/computation-report-viewer.tsx b/src/components/results/common/computation-report-viewer.tsx index bdf3c3f005..11bb1a8024 100644 --- a/src/components/results/common/computation-report-viewer.tsx +++ b/src/components/results/common/computation-report-viewer.tsx @@ -13,7 +13,7 @@ import { ComputingType } from '@gridsuite/commons-ui'; import WaitingLoader from '../../utils/waiting-loader'; import { useReportFetcher } from '../../../hooks/use-report-fetcher'; import { Report, SeverityLevel } from '../../../utils/report/report.type'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import { sortSeverityList } from 'utils/report/report-severity'; interface ComputationReportViewerProps { @@ -27,7 +27,7 @@ export const ComputationReportViewer: FunctionComponent state.currentTreeNode); const [isReportLoading, fetchReport, fetchReportSeverities] = useReportFetcher(reportType); const shouldFetchReport = useMemo( - () => studyUuid && currentNode?.id && currentNode?.data?.globalBuildStatus !== BUILD_STATUS.NOT_BUILT, + () => studyUuid && currentNode?.id && currentNode?.data?.globalBuildStatus !== BuildStatus.NOT_BUILT, [studyUuid, currentNode] ); diff --git a/src/components/study-container.jsx b/src/components/study-container.jsx index 3870e4f2f9..ef3c102cc7 100644 --- a/src/components/study-container.jsx +++ b/src/components/study-container.jsx @@ -39,7 +39,7 @@ import { } from '@gridsuite/commons-ui'; import NetworkModificationTreeModel from './graph/network-modification-tree-model'; import { getFirstNodeOfType } from './graph/util/model-functions'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import { useAllComputingStatus } from './computing-status/use-all-computing-status'; import { fetchNetworkModificationTree, fetchNetworkModificationTreeNode } from '../services/study/tree-subtree'; import { fetchNetworkExistence, fetchRootNetworkIndexationStatus } from '../services/study/network'; @@ -337,9 +337,9 @@ export function StudyContainer() { if (initIndexationStatus === RootNetworkIndexationStatus.INDEXED) { firstSelectedNode = getFirstNodeOfType(tree, NodeType.NETWORK_MODIFICATION, [ - BUILD_STATUS.BUILT, - BUILD_STATUS.BUILT_WITH_WARNING, - BUILD_STATUS.BUILT_WITH_ERROR, + BuildStatus.BUILT, + BuildStatus.BUILT_WITH_WARNING, + BuildStatus.BUILT_WITH_ERROR, ]) || firstSelectedNode; } diff --git a/src/services/study/tree-subtree.ts b/src/services/study/tree-subtree.ts index 5b9859c0e5..e2a1810786 100644 --- a/src/services/study/tree-subtree.ts +++ b/src/services/study/tree-subtree.ts @@ -10,13 +10,13 @@ import { backendFetch, backendFetchJson } from '@gridsuite/commons-ui'; import type { UUID } from 'node:crypto'; import { AbstractNode, NodeType, StashedNodeProperties } from '../../components/graph/tree-node.type'; import { NodeInsertModes } from 'types/notification-types'; -import { BUILD_STATUS } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; interface Node { name: string; type: NodeType; - localBuildStatus: BUILD_STATUS; - globalBuildStatus: BUILD_STATUS; + localBuildStatus: BuildStatus; + globalBuildStatus: BuildStatus; } export function copySubtree( sourceStudyUuid: UUID, From adc66675dbb4a32f80c2017f67c13b480cdffb5a Mon Sep 17 00:00:00 2001 From: Etienne LESOT Date: Mon, 9 Mar 2026 16:55:45 +0100 Subject: [PATCH 4/6] get buildstatus from commonsui directly Signed-off-by: Etienne LESOT --- src/components/graph/menus/create-node-menu.tsx | 5 ++--- .../menus/root-network/unbuild-all-nodes-button.tsx | 3 +-- .../graph/network-modification-tree-model.ts | 2 +- src/components/graph/nodes/build-button.tsx | 3 +-- .../graph/nodes/network-modification-node.tsx | 11 ++++++++--- src/components/graph/tree-node.type.ts | 2 +- src/components/graph/util/model-functions.ts | 2 +- src/components/network-modification-tree-pane.jsx | 2 +- .../results/common/computation-report-viewer.tsx | 3 +-- src/components/study-container.jsx | 2 +- src/services/study/tree-subtree.ts | 3 +-- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/components/graph/menus/create-node-menu.tsx b/src/components/graph/menus/create-node-menu.tsx index 95d3008410..0a703e5088 100644 --- a/src/components/graph/menus/create-node-menu.tsx +++ b/src/components/graph/menus/create-node-menu.tsx @@ -12,15 +12,14 @@ import { useIsAnyNodeBuilding } from '../../utils/is-any-node-building-hook'; import { useSelector } from 'react-redux'; import ChildMenuItem from './create-child-menu-item'; import { CustomDialog } from '../../utils/custom-dialog'; -import { CustomNestedMenuItem } from '@gridsuite/commons-ui'; -import { type AppState, type NodeSelectionForCopy } from 'redux/reducer'; +import { CustomNestedMenuItem, PARAM_DEVELOPER_MODE, BuildStatus } from '@gridsuite/commons-ui'; +import { type AppState, type NodeSelectionForCopy } from 'redux/reducer.type'; import type { UUID } from 'node:crypto'; import NetworkModificationTreeModel from '../network-modification-tree-model'; import { CopyType } from 'components/network-modification.type'; import { CurrentTreeNode, isSecurityModificationNode, NetworkModificationNodeType, NodeType } from '../tree-node.type'; import { NodeInsertModes } from 'types/notification-types'; import { Divider } from '@mui/material'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import { useParameterState } from 'components/dialogs/parameters/use-parameters-state'; type SubMenuItem = { diff --git a/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx b/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx index a1ea1ea0ac..c524965f1c 100644 --- a/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx +++ b/src/components/graph/menus/root-network/unbuild-all-nodes-button.tsx @@ -4,7 +4,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { CancelButton, snackWithFallback, useSnackMessage } from '@gridsuite/commons-ui'; +import { CancelButton, snackWithFallback, useSnackMessage, BuildStatus } from '@gridsuite/commons-ui'; import { StopCircleOutlined } from '@mui/icons-material'; import { Button, @@ -22,7 +22,6 @@ import { useSelector } from 'react-redux'; import { AppState } from 'redux/reducer.type'; import { unbuildAllStudyNodes } from 'services/study/study'; import { NETWORK_MODIFICATION } from '../../../../utils/report/report.constant'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; const styles = { button: { diff --git a/src/components/graph/network-modification-tree-model.ts b/src/components/graph/network-modification-tree-model.ts index 80ba9481c7..855c2a0c06 100644 --- a/src/components/graph/network-modification-tree-model.ts +++ b/src/components/graph/network-modification-tree-model.ts @@ -6,7 +6,7 @@ */ import { convertNodetoReactFlowModelNode, getModificationNodeDataOrUndefined } from './util/model-functions'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui'; import type { UUID } from 'node:crypto'; import { Edge } from '@xyflow/react'; import { AbstractNode, CurrentTreeNode, NetworkModificationNodeData, RootNodeData } from './tree-node.type'; diff --git a/src/components/graph/nodes/build-button.tsx b/src/components/graph/nodes/build-button.tsx index 7aeb4fdf2f..402310d257 100644 --- a/src/components/graph/nodes/build-button.tsx +++ b/src/components/graph/nodes/build-button.tsx @@ -5,13 +5,12 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import React, { useCallback, useState } from 'react'; import { PlayCircleFilled, StopCircleOutlined } from '@mui/icons-material'; import { Button, CircularProgress } from '@mui/material'; import { buildNode, unbuildNode } from '../../../services/study'; import type { UUID } from 'node:crypto'; -import { type MuiStyles, snackWithFallback, useSnackMessage } from '@gridsuite/commons-ui'; +import { type MuiStyles, snackWithFallback, BuildStatus, useSnackMessage } from '@gridsuite/commons-ui'; type BuildButtonProps = { buildStatus?: BuildStatus; diff --git a/src/components/graph/nodes/network-modification-node.tsx b/src/components/graph/nodes/network-modification-node.tsx index 1189e55b6b..bb1b83d31f 100644 --- a/src/components/graph/nodes/network-modification-node.tsx +++ b/src/components/graph/nodes/network-modification-node.tsx @@ -9,7 +9,14 @@ import { NodeProps, Position } from '@xyflow/react'; import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward'; import { useSelector } from 'react-redux'; import Box from '@mui/material/Box'; -import { copyToClipboard, LIGHT_THEME, type MuiStyles, useSnackMessage } from '@gridsuite/commons-ui'; +import { + copyToClipboard, + LIGHT_THEME, + type MuiStyles, + useSnackMessage, + BuildStatusChip, + BuildStatus, +} from '@gridsuite/commons-ui'; import { getLocalStorageTheme } from '../../../redux/session-storage/local-storage'; import { AppState } from 'redux/reducer.type'; import { CopyType } from 'components/network-modification.type'; @@ -25,8 +32,6 @@ import { useCallback, useMemo } from 'react'; import { TOOLTIP_DELAY } from 'utils/UIconstants'; import ForwardRefBox from 'components/utils/forwardRefBox'; import ContentCopyIcon from '@mui/icons-material/ContentCopy'; -import BuildStatusChip from '@gridsuite/commons-ui/components/node/build-status-chip'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; const styles = { networkModificationSelected: (theme) => ({ diff --git a/src/components/graph/tree-node.type.ts b/src/components/graph/tree-node.type.ts index 54c3b31697..570d7d6283 100644 --- a/src/components/graph/tree-node.type.ts +++ b/src/components/graph/tree-node.type.ts @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import type { UUID } from 'node:crypto'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui'; import { Node } from '@xyflow/react'; export enum NodeType { diff --git a/src/components/graph/util/model-functions.ts b/src/components/graph/util/model-functions.ts index 0b35c452e4..a6bda0f57b 100644 --- a/src/components/graph/util/model-functions.ts +++ b/src/components/graph/util/model-functions.ts @@ -6,7 +6,7 @@ */ import type { UUID } from 'node:crypto'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; +import { BuildStatus } from '@gridsuite/commons-ui'; import type NetworkModificationTreeModel from '../network-modification-tree-model'; import { CurrentTreeNode, diff --git a/src/components/network-modification-tree-pane.jsx b/src/components/network-modification-tree-pane.jsx index b83d874e8f..7ebe5d1290 100644 --- a/src/components/network-modification-tree-pane.jsx +++ b/src/components/network-modification-tree-pane.jsx @@ -26,9 +26,9 @@ import { snackWithFallback, useNotificationsListener, useSnackMessage, + BuildStatus, } from '@gridsuite/commons-ui'; import { ExportNetworkDialog } from './dialogs/export-network/export-network-dialog'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import { copySubtree, copyTreeNode, diff --git a/src/components/results/common/computation-report-viewer.tsx b/src/components/results/common/computation-report-viewer.tsx index 78843d0209..6a15d65eaa 100644 --- a/src/components/results/common/computation-report-viewer.tsx +++ b/src/components/results/common/computation-report-viewer.tsx @@ -9,11 +9,10 @@ import { FunctionComponent, useEffect, useMemo, useState } from 'react'; import ReportViewer from '../../report-viewer/report-viewer'; import { useSelector } from 'react-redux'; import { AppState } from '../../../redux/reducer.type'; -import { ComputingType } from '@gridsuite/commons-ui'; +import { ComputingType, BuildStatus } from '@gridsuite/commons-ui'; import WaitingLoader from '../../utils/waiting-loader'; import { useReportFetcher } from '../../../hooks/use-report-fetcher'; import { Report, SeverityLevel } from '../../../utils/report/report.type'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import { sortSeverityList } from 'utils/report/report-severity'; interface ComputationReportViewerProps { diff --git a/src/components/study-container.jsx b/src/components/study-container.jsx index ef3c102cc7..1d470f8a62 100644 --- a/src/components/study-container.jsx +++ b/src/components/study-container.jsx @@ -36,10 +36,10 @@ import { useIntlRef, useNotificationsListener, useSnackMessage, + BuildStatus, } from '@gridsuite/commons-ui'; import NetworkModificationTreeModel from './graph/network-modification-tree-model'; import { getFirstNodeOfType } from './graph/util/model-functions'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; import { useAllComputingStatus } from './computing-status/use-all-computing-status'; import { fetchNetworkModificationTree, fetchNetworkModificationTreeNode } from '../services/study/tree-subtree'; import { fetchNetworkExistence, fetchRootNetworkIndexationStatus } from '../services/study/network'; diff --git a/src/services/study/tree-subtree.ts b/src/services/study/tree-subtree.ts index e2a1810786..736325d59a 100644 --- a/src/services/study/tree-subtree.ts +++ b/src/services/study/tree-subtree.ts @@ -6,11 +6,10 @@ */ import { getStudyUrl } from './index'; -import { backendFetch, backendFetchJson } from '@gridsuite/commons-ui'; +import { backendFetch, backendFetchJson, BuildStatus } from '@gridsuite/commons-ui'; import type { UUID } from 'node:crypto'; import { AbstractNode, NodeType, StashedNodeProperties } from '../../components/graph/tree-node.type'; import { NodeInsertModes } from 'types/notification-types'; -import { BuildStatus } from '@gridsuite/commons-ui/components/node/constant'; interface Node { name: string; From e9a72aecbcd10cf6284e15f8113a00fae1d50193 Mon Sep 17 00:00:00 2001 From: Etienne LESOT Date: Tue, 31 Mar 2026 10:16:29 +0200 Subject: [PATCH 5/6] fix Signed-off-by: Etienne LESOT --- src/components/parameters-tabs.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/parameters-tabs.tsx b/src/components/parameters-tabs.tsx index ce242db4e2..be5ec129c6 100644 --- a/src/components/parameters-tabs.tsx +++ b/src/components/parameters-tabs.tsx @@ -49,6 +49,7 @@ import { VoltageInitParametersInLine, DynamicSecurityAnalysisInline, fetchDynamicSecurityAnalysisProviders, + BuildStatus, } from '@gridsuite/commons-ui'; import { useParametersNotification } from './dialogs/parameters/use-parameters-notification'; import { useGetVoltageInitParameters } from './dialogs/parameters/use-get-voltage-init-parameters'; @@ -67,7 +68,6 @@ import { fetchDynamicSecurityAnalysisParameters, updateDynamicSecurityAnalysisParameters, } from '../services/study/dynamic-security-analysis'; -import { BUILD_STATUS } from './network/constants'; enum TAB_VALUES { lfParamsTabValue = 'LOAD_FLOW', @@ -316,8 +316,8 @@ const ParametersTabs: FunctionComponent = () => { parametersBackend={securityAnalysisParametersBackend} fetchContingencyCount={fetchContingencyCountBackend} isBuiltCurrentNode={ - currentNodeBuildStatus !== BUILD_STATUS.NOT_BUILT && - currentNodeBuildStatus !== BUILD_STATUS.BUILDING + currentNodeBuildStatus !== BuildStatus.NOT_BUILT && + currentNodeBuildStatus !== BuildStatus.BUILDING } setHaveDirtyFields={setDirtyFields} isDeveloperMode={isDeveloperMode} From 61345f97150284a14cdd07af8d5bd7fe4bc117ff Mon Sep 17 00:00:00 2001 From: Etienne LESOT Date: Wed, 1 Apr 2026 13:36:37 +0200 Subject: [PATCH 6/6] commons-ui v0.186.0 Signed-off-by: Etienne LESOT --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a31386c3be..ba891d5df2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", - "@gridsuite/commons-ui": "0.184.0", + "@gridsuite/commons-ui": "0.186.0", "@hello-pangea/dnd": "^18.0.1", "@hookform/resolvers": "^4.1.3", "@mui/icons-material": "^5.18.0", @@ -3295,9 +3295,9 @@ } }, "node_modules/@gridsuite/commons-ui": { - "version": "0.184.0", - "resolved": "https://registry.npmjs.org/@gridsuite/commons-ui/-/commons-ui-0.184.0.tgz", - "integrity": "sha512-uuSgtYf+5EbOO0JSonrjoGONWV+IGCB4toiEkJvgyH8ydVB4CnCDLU0oU7QtASLFGfhe26WUtrhvaF1nL6O3Pg==", + "version": "0.186.0", + "resolved": "https://registry.npmjs.org/@gridsuite/commons-ui/-/commons-ui-0.186.0.tgz", + "integrity": "sha512-xFQRcHJP4oRx8nkPeNlkOYmUORKcwKKugxY//O2cimM8QUyU9meKRRVT9zAXleYRmRF8OrUr1yMSKzufjYncHw==", "license": "MPL-2.0", "dependencies": { "@ag-grid-community/locale": "^33.3.2", diff --git a/package.json b/package.json index f54963fade..4c5c43e7ab 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dependencies": { "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", - "@gridsuite/commons-ui": "0.184.0", + "@gridsuite/commons-ui": "0.186.0", "@hello-pangea/dnd": "^18.0.1", "@hookform/resolvers": "^4.1.3", "@mui/icons-material": "^5.18.0",