Skip to content

Commit 4e08496

Browse files
authored
Handle confirmation popup when changing the tabs (#2450)
Signed-off-by: AAJELLAL <[email protected]>
1 parent 976804f commit 4e08496

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/components/dialogs/parameters/network-visualizations/network-visualizations-parameters.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,13 @@ import {
2929
import { mergeSx } from '../../../utils/functions';
3030
import { updateConfigParameters } from '../../../../services/config';
3131

32-
export const NetworkVisualizationsParameters: FunctionComponent = () => {
32+
interface NetworkVisualizationsParametersProps {
33+
setHaveDirtyFields: (haveDirtyFields: boolean) => void;
34+
}
35+
36+
export const NetworkVisualizationsParameters: FunctionComponent<NetworkVisualizationsParametersProps> = ({
37+
setHaveDirtyFields,
38+
}) => {
3339
const user = useSelector((state: AppState) => state.user);
3440
const componentLibraries = useGetAvailableComponentLibraries(user);
3541
const [tabValue, setTabValue] = useState(TabValue.MAP);
@@ -92,6 +98,11 @@ export const NetworkVisualizationsParameters: FunctionComponent = () => {
9298
});
9399

94100
const { reset, handleSubmit, formState } = formMethods;
101+
102+
useEffect(() => {
103+
setHaveDirtyFields(!!Object.keys(formState.dirtyFields).length);
104+
}, [formState, setHaveDirtyFields]);
105+
95106
useEffect(() => {
96107
if (parameters) {
97108
reset(fromNetworkVisualizationsParamsDataToFormValues(parameters));

src/components/parameters-tabs.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ const hasValidationTabs = [
146146
TAB_VALUES.dynamicSimulationParamsTabValue,
147147
TAB_VALUES.voltageInitParamsTabValue,
148148
TAB_VALUES.lfParamsTabValue,
149+
TAB_VALUES.networkVisualizationsParams,
149150
];
150151

151152
type OwnProps = {
@@ -297,7 +298,7 @@ const ParametersTabs: FunctionComponent<OwnProps> = (props) => {
297298
case TAB_VALUES.advancedParamsTabValue:
298299
return <NetworkParameters />;
299300
case TAB_VALUES.networkVisualizationsParams:
300-
return <NetworkVisualizationsParameters />;
301+
return <NetworkVisualizationsParameters setHaveDirtyFields={setHaveDirtyFields} />;
301302
}
302303
}, [
303304
loadFlowParametersBackend,

0 commit comments

Comments
 (0)