Skip to content

Commit ad26c62

Browse files
Use language in sa, sensi and shortcircuit results csv export (#3186)
Signed-off-by: Franck LECUYER <[email protected]>
1 parent a06fb08 commit ad26c62

File tree

6 files changed

+38
-9
lines changed

6 files changed

+38
-9
lines changed

src/components/results/securityanalysis/security-analysis-export-button.tsx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ import { downloadSecurityAnalysisResultZippedCsv } from 'services/study/security
1414
import { downloadZipFile } from 'services/utils';
1515
import { RESULT_TYPE } from './security-analysis-result-utils';
1616
import { PERMANENT_LIMIT_NAME } from '../common/utils';
17+
import { useSelector } from 'react-redux';
18+
import { AppState } from '../../../redux/reducer';
19+
import { PARAM_LANGUAGE } from '../../../utils/config-params';
1720

1821
interface SecurityAnalysisExportButtonProps {
1922
studyUuid: UUID;
@@ -30,6 +33,7 @@ export const SecurityAnalysisExportButton: FunctionComponent<SecurityAnalysisExp
3033

3134
const [isCsvExportLoading, setIsCsvExportLoading] = useState(false);
3235
const [isCsvExportSuccessful, setIsCsvExportSuccessful] = useState(false);
36+
const language = useSelector((state: AppState) => state[PARAM_LANGUAGE]);
3337

3438
const intl = useIntl();
3539

@@ -76,7 +80,8 @@ export const SecurityAnalysisExportButton: FunctionComponent<SecurityAnalysisExp
7680
resultType,
7781
},
7882
csvHeaders,
79-
enumValueTranslations
83+
enumValueTranslations,
84+
language
8085
)
8186
.then((fileBlob) => {
8287
downloadZipFile(fileBlob, `${resultType}-results.zip`);
@@ -91,7 +96,17 @@ export const SecurityAnalysisExportButton: FunctionComponent<SecurityAnalysisExp
9196
});
9297
})
9398
.finally(() => setIsCsvExportLoading(false));
94-
}, [resultType, csvHeaders, enumValueTranslations, studyUuid, nodeUuid, rootNetworkUuid, snackError, intl]);
99+
}, [
100+
resultType,
101+
csvHeaders,
102+
enumValueTranslations,
103+
studyUuid,
104+
nodeUuid,
105+
rootNetworkUuid,
106+
snackError,
107+
intl,
108+
language,
109+
]);
95110

96111
return (
97112
<ExportButton

src/components/results/sensitivity-analysis/sensitivity-analysis-result-tab.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { useOpenLoaderShortWait } from '../../dialogs/commons/handle-loader';
1717
import { RESULTS_LOADING_DELAY } from '../../network/constants';
1818
import { exportSensitivityResultsAsCsv } from '../../../services/study/sensitivity-analysis';
1919
import { downloadZipFile } from '../../../services/utils';
20-
import { ComputingType, useSnackMessage } from '@gridsuite/commons-ui';
20+
import { ComputingType, PARAM_LANGUAGE, useSnackMessage } from '@gridsuite/commons-ui';
2121
import { useIntl } from 'react-intl';
2222
import { ExportButton } from '../../utils/export-button';
2323
import { AppState } from '../../../redux/reducer';
@@ -54,6 +54,7 @@ function SensitivityAnalysisResultTab({
5454
const sensitivityAnalysisStatus = useSelector(
5555
(state: AppState) => state.computingStatus[ComputingType.SENSITIVITY_ANALYSIS]
5656
);
57+
const language = useSelector((state: AppState) => state[PARAM_LANGUAGE]);
5758

5859
const { globalFilters, handleGlobalFilterChange, getGlobalFilterParameter } = useGlobalFilters({});
5960
const { countriesFilter, voltageLevelsFilter, propertiesFilter } = useGlobalFilterOptions();
@@ -92,6 +93,7 @@ function SensitivityAnalysisResultTab({
9293
csvHeaders: csvHeaders,
9394
resultTab: SensitivityResultTabs[nOrNkIndex].id,
9495
sensitivityFunctionType: isSensiKind(sensiTab) ? FUNCTION_TYPES[sensiTab] : undefined,
96+
language: language,
9597
})
9698
.then((response) => {
9799
response.blob().then((blob: Blob) => {
@@ -109,7 +111,7 @@ function SensitivityAnalysisResultTab({
109111
setIsCsvExportSuccessful(false);
110112
})
111113
.finally(() => setIsCsvExportLoading(false));
112-
}, [snackError, studyUuid, nodeUuid, currentRootNetworkUuid, intl, nOrNkIndex, sensiTab, csvHeaders]);
114+
}, [snackError, studyUuid, nodeUuid, currentRootNetworkUuid, intl, nOrNkIndex, sensiTab, csvHeaders, language]);
113115

114116
const filterableEquipmentTypes: EQUIPMENT_TYPES[] = useMemo(() => {
115117
return sensiTab === SENSITIVITY_AT_NODE ? [] : [EQUIPMENT_TYPES.TWO_WINDINGS_TRANSFORMER, EQUIPMENT_TYPES.LINE];

src/components/results/shortcircuit/shortcircuit-analysis-export-button.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77

88
import { FunctionComponent, useCallback, useEffect, useMemo, useState } from 'react';
99
import { ExportButton } from '../../utils/export-button';
10-
import { useSnackMessage } from '@gridsuite/commons-ui';
10+
import { PARAM_LANGUAGE, useSnackMessage } from '@gridsuite/commons-ui';
1111
import { useIntl } from 'react-intl';
1212
import { downloadShortCircuitResultZippedCsv } from '../../../services/study/short-circuit-analysis';
1313
import { downloadZipFile } from '../../../services/utils';
1414
import { ShortCircuitAnalysisType } from './shortcircuit-analysis-result.type';
1515
import { UUID } from 'crypto';
1616
import { BranchSide } from 'components/utils/constants';
17+
import { AppState } from 'redux/reducer';
18+
import { useSelector } from 'react-redux';
1719

1820
interface ShortCircuitExportButtonProps {
1921
studyUuid: UUID;
@@ -32,6 +34,7 @@ export const ShortCircuitExportButton: FunctionComponent<ShortCircuitExportButto
3234
const [isCsvExportSuccessful, setIsCsvExportSuccessful] = useState(false);
3335

3436
const intl = useIntl();
37+
const language = useSelector((state: AppState) => state[PARAM_LANGUAGE]);
3538

3639
useEffect(() => {
3740
setIsCsvExportSuccessful(false);
@@ -69,7 +72,8 @@ export const ShortCircuitExportButton: FunctionComponent<ShortCircuitExportButto
6972
currentRootNetworkUuid,
7073
analysisType,
7174
csvHeaders,
72-
enumValueTranslations
75+
enumValueTranslations,
76+
language
7377
)
7478
.then((response) => {
7579
response.blob().then((fileBlob: Blob) => {
@@ -101,6 +105,7 @@ export const ShortCircuitExportButton: FunctionComponent<ShortCircuitExportButto
101105
csvHeaders,
102106
analysisType,
103107
enumValueTranslations,
108+
language,
104109
]);
105110

106111
return (

src/services/study/security-analysis.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { getStudyUrl, getStudyUrlWithNodeUuidAndRootNetworkUuid, PREFIX_STUDY_QU
99
import { backendFetch, backendFetchFile, backendFetchJson, backendFetchText, getRequestParamFromList } from '../utils';
1010
import { UUID } from 'crypto';
1111
import { RESULT_TYPE } from '../../components/results/securityanalysis/security-analysis-result-utils';
12+
import { GsLang } from '@gridsuite/commons-ui';
1213

1314
export function startSecurityAnalysis(
1415
studyUuid: UUID,
@@ -84,7 +85,8 @@ export function downloadSecurityAnalysisResultZippedCsv(
8485
currentRootNetworkUuid: UUID,
8586
queryParams: { resultType: RESULT_TYPE },
8687
headers: string[] | undefined,
87-
enumValueTranslations: Record<string, string>
88+
enumValueTranslations: Record<string, string>,
89+
language: GsLang
8890
) {
8991
console.info(
9092
`Fetching security analysis zipped csv on ${studyUuid} on root network ${currentRootNetworkUuid} and node ${currentNodeUuid} ...`
@@ -110,6 +112,7 @@ export function downloadSecurityAnalysisResultZippedCsv(
110112
body: JSON.stringify({
111113
headers,
112114
enumValueTranslations: enumValueTranslations,
115+
language: language,
113116
}),
114117
});
115118
}

src/services/study/sensitivity-analysis.type.ts

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

8+
import { GsLang } from '@gridsuite/commons-ui';
89
import { UUID } from 'crypto';
910

1011
export enum DistributionType {
@@ -89,6 +90,7 @@ export type CsvConfig = {
8990
csvHeaders: string[];
9091
resultTab: string;
9192
sensitivityFunctionType?: string;
93+
language: GsLang;
9294
};
9395
export type SensitivityOfTo = {
9496
type: 'SensitivityOfTo' | 'SensitivityWithContingency'; // discrimination field

src/services/study/short-circuit-analysis.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
import { backendFetch, backendFetchJson, backendFetchText } from '../utils';
1414
import { UUID } from 'crypto';
1515
import { FilterConfig, SortConfig } from '../../types/custom-aggrid-types';
16+
import { GsLang } from '@gridsuite/commons-ui';
1617

1718
interface ShortCircuitAnalysisResult {
1819
studyUuid: UUID | null;
@@ -173,7 +174,8 @@ export function downloadShortCircuitResultZippedCsv(
173174
currentRootNetworkUuid: UUID,
174175
analysisType: number,
175176
headersCsv: string[] | undefined,
176-
enumValueTranslations: Record<string, string>
177+
enumValueTranslations: Record<string, string>,
178+
language: GsLang
177179
) {
178180
console.info(
179181
`Fetching short-circuit analysis export csv on ${studyUuid} , node '${currentNodeUuid}' and root network '${currentRootNetworkUuid}'...`
@@ -196,6 +198,6 @@ export function downloadShortCircuitResultZippedCsv(
196198
Accept: 'application/json',
197199
'Content-Type': 'application/json',
198200
},
199-
body: JSON.stringify({ headersCsv, enumValueTranslations }),
201+
body: JSON.stringify({ headersCsv, enumValueTranslations, language }),
200202
});
201203
}

0 commit comments

Comments
 (0)