Skip to content

Commit 8a4d230

Browse files
use global filter in voltage init results (#3038)
Signed-off-by: Franck LECUYER <[email protected]>
1 parent ed8a652 commit 8a4d230

File tree

5 files changed

+221
-100
lines changed

5 files changed

+221
-100
lines changed

src/components/dialogs/network-modifications/voltage-init-modification/voltage-init-modification-dialog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ interface BusData {
154154
angle: number | undefined;
155155
}
156156

157-
interface EditData {
157+
export interface EditData {
158158
generators: GeneratorData[];
159159
transformers: TransformerData[];
160160
staticVarCompensators: StaticVarCompensatorData[];

src/components/voltage-init-result-tab.tsx

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,18 @@
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
77

8-
import WaitingLoader from './utils/waiting-loader';
9-
import VoltageInitResult from './voltage-init-result';
108
import { useSelector } from 'react-redux';
119
import { ComputingType } from '@gridsuite/commons-ui';
12-
import { fetchVoltageInitResult } from '../services/study/voltage-init';
1310
import RunningStatus from './utils/running-status';
1411
import { voltageInitResultInvalidations } from './computing-status/use-all-computing-status';
1512
import { useNodeData } from './use-node-data';
1613
import { UUID } from 'crypto';
1714
import { AppState } from '../redux/reducer';
15+
import { VoltageInitResult } from './voltage-init-result';
16+
import { useMemo } from 'react';
17+
import { fetchVoltageInitResult } from '../services/study/voltage-init';
18+
import useGlobalFilters from './results/common/global-filter/use-global-filters';
19+
import { useGlobalFilterOptions } from './results/common/global-filter/use-global-filter-options';
1820

1921
export type VoltageInitResultTabProps = {
2022
studyUuid: UUID;
@@ -30,12 +32,32 @@ export function VoltageInitResultTab({
3032
const voltageInitStatus = useSelector(
3133
(state: AppState) => state.computingStatus[ComputingType.VOLTAGE_INITIALIZATION]
3234
);
35+
const { countriesFilter, voltageLevelsFilter, propertiesFilter } = useGlobalFilterOptions();
36+
const { globalFilters, handleGlobalFilterChange, getGlobalFilterParameter } = useGlobalFilters({});
37+
const globalFilterOptions = useMemo(
38+
() => [...voltageLevelsFilter, ...countriesFilter, ...propertiesFilter],
39+
[voltageLevelsFilter, countriesFilter, propertiesFilter]
40+
);
41+
42+
const fetchVoltageInitResultWithGlobalFilters = useMemo(
43+
() => (studyUuid: UUID, nodeUuid: UUID, currentRootNetworkUuid: UUID) => {
44+
return fetchVoltageInitResult(studyUuid, nodeUuid, currentRootNetworkUuid, {
45+
filters: null,
46+
...(getGlobalFilterParameter(globalFilters) !== undefined && {
47+
globalFilters: {
48+
...getGlobalFilterParameter(globalFilters),
49+
},
50+
}),
51+
});
52+
},
53+
[getGlobalFilterParameter, globalFilters]
54+
);
3355

34-
const { result: voltageInitResult, isLoading: isWaiting } = useNodeData({
56+
const { result: voltageInitResult } = useNodeData({
3557
studyUuid,
3658
nodeUuid,
3759
rootNetworkUuid: currentRootNetworkUuid,
38-
fetcher: fetchVoltageInitResult,
60+
fetcher: fetchVoltageInitResultWithGlobalFilters,
3961
invalidations: voltageInitResultInvalidations,
4062
});
4163

@@ -45,8 +67,11 @@ export function VoltageInitResultTab({
4567
: null;
4668

4769
return (
48-
<WaitingLoader message={'LoadingRemoteData'} loading={isWaiting}>
49-
<VoltageInitResult result={voltageInitResultToShow} status={voltageInitStatus} />
50-
</WaitingLoader>
70+
<VoltageInitResult
71+
result={voltageInitResultToShow}
72+
status={voltageInitStatus}
73+
handleGlobalFilterChange={handleGlobalFilterChange}
74+
globalFilterOptions={globalFilterOptions}
75+
/>
5176
);
5277
}

0 commit comments

Comments
 (0)