Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,14 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
(state: AppState) =>
state.spreadsheetOptionalLoadingParameters[SpreadsheetEquipmentType.GENERATOR].regulatingTerminal
);
const remoteBusNetworkComponents = useSelector(
(state: AppState) => state.spreadsheetOptionalLoadingParameters[SpreadsheetEquipmentType.BUS].networkComponents
);
const [localBranchOlg, setLocalBranchOlg] = useState<boolean>(remoteBranchOlg);
const [localLineOlg, setLocalLineOlg] = useState<boolean>(remoteLineOlg);
const [localTwtOlg, setLocalTwtOlg] = useState<boolean>(remoteTwtOlg);
const [localGeneratorRegTerm, setLocalGeneratorRegTerm] = useState<boolean>(remoteGeneratorRegTerm);
const [localBusNetworkComponents, setLocalBusNetworkComponents] = useState<boolean>(remoteBusNetworkComponents);

const handleClick = useCallback<NonNullable<TooltipIconButtonProps['onClick']>>(
(event) => {
Expand All @@ -59,8 +63,9 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
setLocalLineOlg(remoteLineOlg);
setLocalTwtOlg(remoteTwtOlg);
setLocalGeneratorRegTerm(remoteGeneratorRegTerm);
setLocalBusNetworkComponents(remoteBusNetworkComponents);
},
[remoteBranchOlg, remoteGeneratorRegTerm, remoteLineOlg, remoteTwtOlg]
[remoteBranchOlg, remoteBusNetworkComponents, remoteGeneratorRegTerm, remoteLineOlg, remoteTwtOlg]
);

const handleClose = useCallback(() => {
Expand All @@ -69,7 +74,8 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
localBranchOlg !== remoteBranchOlg ||
localLineOlg !== remoteLineOlg ||
localTwtOlg !== remoteTwtOlg ||
localGeneratorRegTerm !== remoteGeneratorRegTerm
localGeneratorRegTerm !== remoteGeneratorRegTerm ||
localBusNetworkComponents !== remoteBusNetworkComponents
) {
if (studyUuid) {
updateSpreadsheetParameters(studyUuid, {
Expand All @@ -81,6 +87,9 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
[SpreadsheetEquipmentType.GENERATOR]: {
regulatingTerminal: localGeneratorRegTerm,
},
[SpreadsheetEquipmentType.BUS]: {
networkComponents: localBusNetworkComponents,
},
});
}
}
Expand All @@ -93,14 +102,16 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
remoteTwtOlg,
localGeneratorRegTerm,
remoteGeneratorRegTerm,
localBusNetworkComponents,
remoteBusNetworkComponents,
studyUuid,
]);

const open = anchorEl !== undefined;

const isOptionalData = useMemo(
() => remoteBranchOlg || remoteLineOlg || remoteTwtOlg || remoteGeneratorRegTerm,
[remoteBranchOlg, remoteGeneratorRegTerm, remoteLineOlg, remoteTwtOlg]
() => remoteBranchOlg || remoteLineOlg || remoteTwtOlg || remoteGeneratorRegTerm || remoteBusNetworkComponents,
[remoteBranchOlg, remoteBusNetworkComponents, remoteGeneratorRegTerm, remoteLineOlg, remoteTwtOlg]
);

return (
Expand Down Expand Up @@ -166,6 +177,15 @@ export default function PartialLoadingMenuButton({ disabled, ...props }: Readonl
labelId="spreadsheet/tabs/lazy_loading/labels/regulatingTerminal"
onChange={setLocalGeneratorRegTerm}
/>

<ListSubheader sx={styles.headers}>
<FormattedMessage id="BUS" />
</ListSubheader>
<PartialLoadingMenuItem
value={localBusNetworkComponents}
labelId="spreadsheet/tabs/lazy_loading/labels/networkComponentsInformation"
onChange={setLocalBusNetworkComponents}
/>
</Menu>
</>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,14 @@ export function useOptionalLoadingParametersForEquipments(type: SpreadsheetEquip
(state: AppState) =>
state.spreadsheetOptionalLoadingParameters[SpreadsheetEquipmentType.GENERATOR].regulatingTerminal
);
const remoteBusNetworkComponents = useSelector(
(state: AppState) => state.spreadsheetOptionalLoadingParameters[SpreadsheetEquipmentType.BUS].networkComponents
);
const [branchOlg, setBranchOlg] = useState<boolean>(remoteBranchOlg);
const [lineOlg, setLineOlg] = useState<boolean>(remoteLineOlg);
const [twtOlg, setTwtOlg] = useState<boolean>(remoteTwtOlg);
const [generatorRegTerm, setGeneratorRegTerm] = useState<boolean>(remoteGeneratorRegTerm);
const [busNetworkComponents, setBusNetworkComponents] = useState<boolean>(remoteBusNetworkComponents);
const {
value: shouldLoadOptionalLoadingParameters,
setValue: setShouldLoadOptionalLoadingParameters,
Expand Down Expand Up @@ -77,16 +81,31 @@ export function useOptionalLoadingParametersForEquipments(type: SpreadsheetEquip
!remoteGeneratorRegTerm
) {
setShouldCleanOptionalLoadingParameters(true);
} else if (
type === SpreadsheetEquipmentType.BUS &&
remoteBusNetworkComponents !== busNetworkComponents &&
remoteBusNetworkComponents
) {
setShouldLoadOptionalLoadingParameters(true);
} else if (
type === SpreadsheetEquipmentType.BUS &&
remoteBusNetworkComponents !== busNetworkComponents &&
!remoteBusNetworkComponents
) {
setShouldCleanOptionalLoadingParameters(true);
}
setBranchOlg(remoteBranchOlg);
setLineOlg(remoteLineOlg);
setTwtOlg(remoteTwtOlg);
setGeneratorRegTerm(remoteGeneratorRegTerm);
setBusNetworkComponents(remoteBusNetworkComponents);
}, [
branchOlg,
busNetworkComponents,
generatorRegTerm,
lineOlg,
remoteBranchOlg,
remoteBusNetworkComponents,
remoteGeneratorRegTerm,
remoteLineOlg,
remoteTwtOlg,
Expand Down
3 changes: 3 additions & 0 deletions src/components/spreadsheet-view/types/spreadsheet.type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,7 @@ export type SpreadsheetOptionalLoadingParameters = {
[SpreadsheetEquipmentType.GENERATOR]: {
regulatingTerminal: boolean;
};
[SpreadsheetEquipmentType.BUS]: {
networkComponents: boolean;
};
};
46 changes: 31 additions & 15 deletions src/redux/reducer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -776,6 +776,9 @@ const initialState: AppState = {
[SpreadsheetEquipmentType.GENERATOR]: {
regulatingTerminal: false,
},
[SpreadsheetEquipmentType.BUS]: {
networkComponents: false,
},
},
diagramGridLayout: {
gridLayouts: {},
Expand Down Expand Up @@ -1612,24 +1615,37 @@ export const reducer = createReducer(initialState, (builder) => {
action.equipmentType !== SpreadsheetEquipmentType.BRANCH &&
action.equipmentType !== SpreadsheetEquipmentType.LINE &&
action.equipmentType !== SpreadsheetEquipmentType.TWO_WINDINGS_TRANSFORMER &&
action.equipmentType !== SpreadsheetEquipmentType.GENERATOR
action.equipmentType !== SpreadsheetEquipmentType.GENERATOR &&
action.equipmentType !== SpreadsheetEquipmentType.BUS
) {
return;
}
const propsToClean =
action.equipmentType === SpreadsheetEquipmentType.GENERATOR
? {
regulatingTerminalVlName: undefined,
regulatingTerminalConnectableId: undefined,
regulatingTerminalConnectableType: undefined,
regulatingTerminalVlId: undefined,
}
: {
operationalLimitsGroup1: undefined,
operationalLimitsGroup1Names: undefined,
operationalLimitsGroup2: undefined,
operationalLimitsGroup2Names: undefined,
};
let propsToClean;
switch (action.equipmentType) {
case SpreadsheetEquipmentType.GENERATOR:
propsToClean = {
regulatingTerminalVlName: undefined,
regulatingTerminalConnectableId: undefined,
regulatingTerminalConnectableType: undefined,
regulatingTerminalVlId: undefined,
};
break;
case SpreadsheetEquipmentType.LINE:
case SpreadsheetEquipmentType.TWO_WINDINGS_TRANSFORMER:
case SpreadsheetEquipmentType.BRANCH:
propsToClean = {
operationalLimitsGroup1: undefined,
operationalLimitsGroup1Names: undefined,
operationalLimitsGroup2: undefined,
operationalLimitsGroup2Names: undefined,
};
break;
case SpreadsheetEquipmentType.BUS:
propsToClean = {
synchronousComponentNum: undefined,
connectedComponentNum: undefined,
};
}
state.spreadsheetNetwork[action.equipmentType].nodesId.forEach((nodeId: UUID) => {
state.spreadsheetNetwork[action.equipmentType].equipmentsByNodeId[nodeId] = Object.values(
state.spreadsheetNetwork[action.equipmentType].equipmentsByNodeId[nodeId]
Expand Down
1 change: 1 addition & 0 deletions src/translations/spreadsheet-en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ const spreadsheetEn = {
'spreadsheet/tabs/lazy_loading/toolbar_button_tooltip': 'Include additional data',
'spreadsheet/tabs/lazy_loading/labels/operationalLimitsGroups': 'Inactive limit sets',
'spreadsheet/tabs/lazy_loading/labels/regulatingTerminal': 'Regulated terminals',
'spreadsheet/tabs/lazy_loading/labels/networkComponentsInformation': 'Network components',

'spreadsheet/global-model-edition/edit': 'Model edition',
'spreadsheet/global-model-edition/column_id': 'ID',
Expand Down
1 change: 1 addition & 0 deletions src/translations/spreadsheet-fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ const spreadsheetFr = {
'spreadsheet/tabs/lazy_loading/toolbar_button_tooltip': 'Inclure données supplémentaires',
'spreadsheet/tabs/lazy_loading/labels/operationalLimitsGroups': 'Sets de limites inactifs',
'spreadsheet/tabs/lazy_loading/labels/regulatingTerminal': 'Terminaux distants réglés',
'spreadsheet/tabs/lazy_loading/labels/networkComponentsInformation': 'Composantes de réseau',

'spreadsheet/global-model-edition/edit': 'Éditer le modèle',
'spreadsheet/global-model-edition/column_id': 'ID',
Expand Down
Loading