Skip to content

Commit a3005c2

Browse files
authored
Merge branch 'main' into fix_export_csv_export_button_status
2 parents 1acc755 + 12a0766 commit a3005c2

File tree

6 files changed

+79
-19
lines changed

6 files changed

+79
-19
lines changed

src/components/spreadsheet-view/spreadsheet-tabs/toolbar/PartialLoadingMenuButton.tsx

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,14 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
4747
(state: AppState) =>
4848
state.spreadsheetOptionalLoadingParameters[SpreadsheetEquipmentType.GENERATOR].regulatingTerminal
4949
);
50+
const remoteBusNetworkComponents = useSelector(
51+
(state: AppState) => state.spreadsheetOptionalLoadingParameters[SpreadsheetEquipmentType.BUS].networkComponents
52+
);
5053
const [localBranchOlg, setLocalBranchOlg] = useState<boolean>(remoteBranchOlg);
5154
const [localLineOlg, setLocalLineOlg] = useState<boolean>(remoteLineOlg);
5255
const [localTwtOlg, setLocalTwtOlg] = useState<boolean>(remoteTwtOlg);
5356
const [localGeneratorRegTerm, setLocalGeneratorRegTerm] = useState<boolean>(remoteGeneratorRegTerm);
57+
const [localBusNetworkComponents, setLocalBusNetworkComponents] = useState<boolean>(remoteBusNetworkComponents);
5458

5559
const handleClick = useCallback<NonNullable<TooltipIconButtonProps['onClick']>>(
5660
(event) => {
@@ -59,8 +63,9 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
5963
setLocalLineOlg(remoteLineOlg);
6064
setLocalTwtOlg(remoteTwtOlg);
6165
setLocalGeneratorRegTerm(remoteGeneratorRegTerm);
66+
setLocalBusNetworkComponents(remoteBusNetworkComponents);
6267
},
63-
[remoteBranchOlg, remoteGeneratorRegTerm, remoteLineOlg, remoteTwtOlg]
68+
[remoteBranchOlg, remoteBusNetworkComponents, remoteGeneratorRegTerm, remoteLineOlg, remoteTwtOlg]
6469
);
6570

6671
const handleClose = useCallback(() => {
@@ -69,7 +74,8 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
6974
localBranchOlg !== remoteBranchOlg ||
7075
localLineOlg !== remoteLineOlg ||
7176
localTwtOlg !== remoteTwtOlg ||
72-
localGeneratorRegTerm !== remoteGeneratorRegTerm
77+
localGeneratorRegTerm !== remoteGeneratorRegTerm ||
78+
localBusNetworkComponents !== remoteBusNetworkComponents
7379
) {
7480
if (studyUuid) {
7581
updateSpreadsheetParameters(studyUuid, {
@@ -81,6 +87,9 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
8187
[SpreadsheetEquipmentType.GENERATOR]: {
8288
regulatingTerminal: localGeneratorRegTerm,
8389
},
90+
[SpreadsheetEquipmentType.BUS]: {
91+
networkComponents: localBusNetworkComponents,
92+
},
8493
});
8594
}
8695
}
@@ -93,14 +102,16 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
93102
remoteTwtOlg,
94103
localGeneratorRegTerm,
95104
remoteGeneratorRegTerm,
105+
localBusNetworkComponents,
106+
remoteBusNetworkComponents,
96107
studyUuid,
97108
]);
98109

99110
const open = anchorEl !== undefined;
100111

101112
const isOptionalData = useMemo(
102-
() => remoteBranchOlg || remoteLineOlg || remoteTwtOlg || remoteGeneratorRegTerm,
103-
[remoteBranchOlg, remoteGeneratorRegTerm, remoteLineOlg, remoteTwtOlg]
113+
() => remoteBranchOlg || remoteLineOlg || remoteTwtOlg || remoteGeneratorRegTerm || remoteBusNetworkComponents,
114+
[remoteBranchOlg, remoteBusNetworkComponents, remoteGeneratorRegTerm, remoteLineOlg, remoteTwtOlg]
104115
);
105116

106117
return (
@@ -166,6 +177,15 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
166177
labelId="spreadsheet/tabs/lazy_loading/labels/regulatingTerminal"
167178
onChange={setLocalGeneratorRegTerm}
168179
/>
180+
181+
<ListSubheader sx={styles.headers}>
182+
<FormattedMessage id="BUS" />
183+
</ListSubheader>
184+
<PartialLoadingMenuItem
185+
value={localBusNetworkComponents}
186+
labelId="spreadsheet/tabs/lazy_loading/labels/networkComponentsInformation"
187+
onChange={setLocalBusNetworkComponents}
188+
/>
169189
</Menu>
170190
</>
171191
);

src/components/spreadsheet-view/spreadsheet/spreadsheet-content/hooks/use-optional-loading-parameters-for-equipments.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,14 @@ export function useOptionalLoadingParametersForEquipments(type: SpreadsheetEquip
2929
(state: AppState) =>
3030
state.spreadsheetOptionalLoadingParameters[SpreadsheetEquipmentType.GENERATOR].regulatingTerminal
3131
);
32+
const remoteBusNetworkComponents = useSelector(
33+
(state: AppState) => state.spreadsheetOptionalLoadingParameters[SpreadsheetEquipmentType.BUS].networkComponents
34+
);
3235
const [branchOlg, setBranchOlg] = useState<boolean>(remoteBranchOlg);
3336
const [lineOlg, setLineOlg] = useState<boolean>(remoteLineOlg);
3437
const [twtOlg, setTwtOlg] = useState<boolean>(remoteTwtOlg);
3538
const [generatorRegTerm, setGeneratorRegTerm] = useState<boolean>(remoteGeneratorRegTerm);
39+
const [busNetworkComponents, setBusNetworkComponents] = useState<boolean>(remoteBusNetworkComponents);
3640
const {
3741
value: shouldLoadOptionalLoadingParameters,
3842
setValue: setShouldLoadOptionalLoadingParameters,
@@ -77,16 +81,31 @@ export function useOptionalLoadingParametersForEquipments(type: SpreadsheetEquip
7781
!remoteGeneratorRegTerm
7882
) {
7983
setShouldCleanOptionalLoadingParameters(true);
84+
} else if (
85+
type === SpreadsheetEquipmentType.BUS &&
86+
remoteBusNetworkComponents !== busNetworkComponents &&
87+
remoteBusNetworkComponents
88+
) {
89+
setShouldLoadOptionalLoadingParameters(true);
90+
} else if (
91+
type === SpreadsheetEquipmentType.BUS &&
92+
remoteBusNetworkComponents !== busNetworkComponents &&
93+
!remoteBusNetworkComponents
94+
) {
95+
setShouldCleanOptionalLoadingParameters(true);
8096
}
8197
setBranchOlg(remoteBranchOlg);
8298
setLineOlg(remoteLineOlg);
8399
setTwtOlg(remoteTwtOlg);
84100
setGeneratorRegTerm(remoteGeneratorRegTerm);
101+
setBusNetworkComponents(remoteBusNetworkComponents);
85102
}, [
86103
branchOlg,
104+
busNetworkComponents,
87105
generatorRegTerm,
88106
lineOlg,
89107
remoteBranchOlg,
108+
remoteBusNetworkComponents,
90109
remoteGeneratorRegTerm,
91110
remoteLineOlg,
92111
remoteTwtOlg,

src/components/spreadsheet-view/types/spreadsheet.type.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,7 @@ export type SpreadsheetOptionalLoadingParameters = {
122122
[SpreadsheetEquipmentType.GENERATOR]: {
123123
regulatingTerminal: boolean;
124124
};
125+
[SpreadsheetEquipmentType.BUS]: {
126+
networkComponents: boolean;
127+
};
125128
};

src/redux/reducer.ts

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,9 @@ const initialState: AppState = {
776776
[SpreadsheetEquipmentType.GENERATOR]: {
777777
regulatingTerminal: false,
778778
},
779+
[SpreadsheetEquipmentType.BUS]: {
780+
networkComponents: false,
781+
},
779782
},
780783
diagramGridLayout: {
781784
gridLayouts: {},
@@ -1612,24 +1615,37 @@ export const reducer = createReducer(initialState, (builder) => {
16121615
action.equipmentType !== SpreadsheetEquipmentType.BRANCH &&
16131616
action.equipmentType !== SpreadsheetEquipmentType.LINE &&
16141617
action.equipmentType !== SpreadsheetEquipmentType.TWO_WINDINGS_TRANSFORMER &&
1615-
action.equipmentType !== SpreadsheetEquipmentType.GENERATOR
1618+
action.equipmentType !== SpreadsheetEquipmentType.GENERATOR &&
1619+
action.equipmentType !== SpreadsheetEquipmentType.BUS
16161620
) {
16171621
return;
16181622
}
1619-
const propsToClean =
1620-
action.equipmentType === SpreadsheetEquipmentType.GENERATOR
1621-
? {
1622-
regulatingTerminalVlName: undefined,
1623-
regulatingTerminalConnectableId: undefined,
1624-
regulatingTerminalConnectableType: undefined,
1625-
regulatingTerminalVlId: undefined,
1626-
}
1627-
: {
1628-
operationalLimitsGroup1: undefined,
1629-
operationalLimitsGroup1Names: undefined,
1630-
operationalLimitsGroup2: undefined,
1631-
operationalLimitsGroup2Names: undefined,
1632-
};
1623+
let propsToClean;
1624+
switch (action.equipmentType) {
1625+
case SpreadsheetEquipmentType.GENERATOR:
1626+
propsToClean = {
1627+
regulatingTerminalVlName: undefined,
1628+
regulatingTerminalConnectableId: undefined,
1629+
regulatingTerminalConnectableType: undefined,
1630+
regulatingTerminalVlId: undefined,
1631+
};
1632+
break;
1633+
case SpreadsheetEquipmentType.LINE:
1634+
case SpreadsheetEquipmentType.TWO_WINDINGS_TRANSFORMER:
1635+
case SpreadsheetEquipmentType.BRANCH:
1636+
propsToClean = {
1637+
operationalLimitsGroup1: undefined,
1638+
operationalLimitsGroup1Names: undefined,
1639+
operationalLimitsGroup2: undefined,
1640+
operationalLimitsGroup2Names: undefined,
1641+
};
1642+
break;
1643+
case SpreadsheetEquipmentType.BUS:
1644+
propsToClean = {
1645+
synchronousComponentNum: undefined,
1646+
connectedComponentNum: undefined,
1647+
};
1648+
}
16331649
state.spreadsheetNetwork[action.equipmentType].nodesId.forEach((nodeId: UUID) => {
16341650
state.spreadsheetNetwork[action.equipmentType].equipmentsByNodeId[nodeId] = Object.values(
16351651
state.spreadsheetNetwork[action.equipmentType].equipmentsByNodeId[nodeId]

src/translations/spreadsheet-en.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ const spreadsheetEn = {
122122
'spreadsheet/tabs/lazy_loading/toolbar_button_tooltip': 'Include additional data',
123123
'spreadsheet/tabs/lazy_loading/labels/operationalLimitsGroups': 'Inactive limit sets',
124124
'spreadsheet/tabs/lazy_loading/labels/regulatingTerminal': 'Regulated terminals',
125+
'spreadsheet/tabs/lazy_loading/labels/networkComponentsInformation': 'Network components',
125126

126127
'spreadsheet/global-model-edition/edit': 'Model edition',
127128
'spreadsheet/global-model-edition/column_id': 'ID',

src/translations/spreadsheet-fr.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ const spreadsheetFr = {
126126
'spreadsheet/tabs/lazy_loading/toolbar_button_tooltip': 'Inclure données supplémentaires',
127127
'spreadsheet/tabs/lazy_loading/labels/operationalLimitsGroups': 'Sets de limites inactifs',
128128
'spreadsheet/tabs/lazy_loading/labels/regulatingTerminal': 'Terminaux distants réglés',
129+
'spreadsheet/tabs/lazy_loading/labels/networkComponentsInformation': 'Composantes de réseau',
129130

130131
'spreadsheet/global-model-edition/edit': 'Éditer le modèle',
131132
'spreadsheet/global-model-edition/column_id': 'ID',

0 commit comments

Comments
 (0)