5
5
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
6
*/
7
7
8
- import WaitingLoader from './utils/waiting-loader' ;
9
- import VoltageInitResult from './voltage-init-result' ;
10
8
import { useSelector } from 'react-redux' ;
11
9
import { ComputingType } from '@gridsuite/commons-ui' ;
12
- import { fetchVoltageInitResult } from '../services/study/voltage-init' ;
13
10
import RunningStatus from './utils/running-status' ;
14
11
import { voltageInitResultInvalidations } from './computing-status/use-all-computing-status' ;
15
12
import { useNodeData } from './use-node-data' ;
16
13
import { UUID } from 'crypto' ;
17
14
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' ;
18
20
19
21
export type VoltageInitResultTabProps = {
20
22
studyUuid : UUID ;
@@ -30,12 +32,32 @@ export function VoltageInitResultTab({
30
32
const voltageInitStatus = useSelector (
31
33
( state : AppState ) => state . computingStatus [ ComputingType . VOLTAGE_INITIALIZATION ]
32
34
) ;
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
+ ) ;
33
55
34
- const { result : voltageInitResult , isLoading : isWaiting } = useNodeData ( {
56
+ const { result : voltageInitResult } = useNodeData ( {
35
57
studyUuid,
36
58
nodeUuid,
37
59
rootNetworkUuid : currentRootNetworkUuid ,
38
- fetcher : fetchVoltageInitResult ,
60
+ fetcher : fetchVoltageInitResultWithGlobalFilters ,
39
61
invalidations : voltageInitResultInvalidations ,
40
62
} ) ;
41
63
@@ -45,8 +67,11 @@ export function VoltageInitResultTab({
45
67
: null ;
46
68
47
69
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
+ />
51
76
) ;
52
77
}
0 commit comments