@gridsuite/commons-ui 0.142.0 → 0.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/components/index.js +6 -3
  2. package/dist/components/parameters/common/constant.d.ts +3 -0
  3. package/dist/components/parameters/common/constant.js +6 -0
  4. package/dist/components/parameters/common/index.js +4 -1
  5. package/dist/components/parameters/common/utils.d.ts +14 -0
  6. package/dist/components/parameters/common/utils.js +89 -0
  7. package/dist/components/parameters/index.js +6 -3
  8. package/dist/components/parameters/loadflow/constants.d.ts +0 -3
  9. package/dist/components/parameters/loadflow/constants.js +0 -6
  10. package/dist/components/parameters/loadflow/index.js +1 -4
  11. package/dist/components/parameters/loadflow/load-flow-general-parameters.js +5 -1
  12. package/dist/components/parameters/loadflow/load-flow-parameters-form.js +2 -2
  13. package/dist/components/parameters/loadflow/load-flow-parameters-type.d.ts +11 -0
  14. package/dist/components/parameters/loadflow/load-flow-parameters-type.js +1 -0
  15. package/dist/components/parameters/loadflow/load-flow-parameters-utils.d.ts +0 -11
  16. package/dist/components/parameters/loadflow/load-flow-parameters-utils.js +3 -50
  17. package/dist/components/parameters/loadflow/use-load-flow-parameters-form.d.ts +3 -3
  18. package/dist/components/parameters/loadflow/use-load-flow-parameters-form.js +26 -55
  19. package/dist/components/parameters/short-circuit/constants.d.ts +12 -0
  20. package/dist/components/parameters/short-circuit/constants.js +16 -1
  21. package/dist/components/parameters/short-circuit/index.js +5 -2
  22. package/dist/components/parameters/short-circuit/short-circuit-fields.js +55 -14
  23. package/dist/components/parameters/short-circuit/short-circuit-parameters-dialog.d.ts +3 -1
  24. package/dist/components/parameters/short-circuit/short-circuit-parameters-dialog.js +24 -5
  25. package/dist/components/parameters/short-circuit/short-circuit-parameters-form.js +2 -2
  26. package/dist/components/parameters/short-circuit/short-circuit-parameters-inline.d.ts +4 -3
  27. package/dist/components/parameters/short-circuit/short-circuit-parameters-inline.js +22 -29
  28. package/dist/components/parameters/short-circuit/short-circuit-parameters-utils.d.ts +27 -0
  29. package/dist/components/parameters/short-circuit/short-circuit-parameters-utils.js +61 -0
  30. package/dist/components/parameters/short-circuit/short-circuit-parameters.type.d.ts +7 -21
  31. package/dist/components/parameters/short-circuit/use-short-circuit-parameters-form.d.ts +15 -15
  32. package/dist/components/parameters/short-circuit/use-short-circuit-parameters-form.js +120 -127
  33. package/dist/hooks/use-parameters-backend.d.ts +2 -2
  34. package/dist/hooks/use-parameters-backend.js +6 -4
  35. package/dist/index.js +11 -6
  36. package/dist/services/index.d.ts +1 -0
  37. package/dist/services/index.js +5 -3
  38. package/dist/services/short-circuit-analysis.d.ts +3 -0
  39. package/dist/services/short-circuit-analysis.js +25 -4
  40. package/dist/services/study.d.ts +1 -3
  41. package/dist/services/study.js +0 -19
  42. package/dist/translations/en/parameters.d.ts +3 -0
  43. package/dist/translations/en/parameters.js +3 -0
  44. package/dist/translations/fr/parameters.d.ts +3 -0
  45. package/dist/translations/fr/parameters.js +3 -0
  46. package/dist/utils/types/loadflow.type.d.ts +1 -1
  47. package/dist/utils/types/parameters.type.d.ts +6 -3
  48. package/package.json +2 -2
@@ -0,0 +1,61 @@
1
+ import { SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE, InitialVoltage, SHORT_CIRCUIT_WITH_NEUTRAL_POSITION, SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS, SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS, SHORT_CIRCUIT_WITH_LOADS, SHORT_CIRCUIT_WITH_FEEDER_RESULT, SHORT_CIRCUIT_ONLY_STARTED_GENERATORS, PredefinedParameters } from "./constants.js";
2
+ import "../../../utils/yupConfig.js";
3
+ import { COMMON_PARAMETERS } from "../common/constant.js";
4
+ import "react/jsx-runtime";
5
+ import "@mui/material";
6
+ import "react-intl";
7
+ import "react";
8
+ import "../../../utils/types/equipmentType.js";
9
+ import "../../../utils/conversionUtils.js";
10
+ import "@mui/icons-material";
11
+ import "localized-countries";
12
+ import "localized-countries/data/fr";
13
+ import "localized-countries/data/en";
14
+ import "notistack";
15
+ import "react-hook-form";
16
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
17
+ import "../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
18
+ import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
19
+ import "../../treeViewFinder/TreeViewFinder.js";
20
+ import "../../overflowableText/OverflowableText.js";
21
+ import * as yup from "yup";
22
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
23
+ import "../../customAGGrid/customAggrid.js";
24
+ import "ag-grid-community";
25
+ import "react-papaparse";
26
+ import "react-csv-downloader";
27
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
28
+ import "@react-querybuilder/material";
29
+ import "../../filter/expert/expertFilterConstants.js";
30
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
31
+ import "uuid";
32
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
33
+ import "react-querybuilder";
34
+ import "../common/widget/parameter-line-slider.js";
35
+ import "../common/limitreductions/columns-definitions.js";
36
+ const getCommonShortCircuitParametersFormSchema = () => {
37
+ return yup.object().shape({
38
+ [COMMON_PARAMETERS]: yup.object().shape({
39
+ [SHORT_CIRCUIT_WITH_FEEDER_RESULT]: yup.boolean().required(),
40
+ [SHORT_CIRCUIT_WITH_LOADS]: yup.boolean().required(),
41
+ [SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS]: yup.boolean().required(),
42
+ [SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS]: yup.boolean().required(),
43
+ [SHORT_CIRCUIT_WITH_NEUTRAL_POSITION]: yup.boolean().required(),
44
+ [SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE]: yup.mixed().oneOf(Object.values(InitialVoltage)).required()
45
+ })
46
+ });
47
+ };
48
+ const resetSpecificParameters = (specificDefaultValues, predefinedParameter) => {
49
+ if (Object.hasOwn(specificDefaultValues, SHORT_CIRCUIT_ONLY_STARTED_GENERATORS)) {
50
+ return {
51
+ ...specificDefaultValues,
52
+ // Forced to override specificly this param here because its default value depends of the PredefinedParameters value
53
+ [SHORT_CIRCUIT_ONLY_STARTED_GENERATORS]: predefinedParameter === PredefinedParameters.ICC_MIN_WITH_NOMINAL_VOLTAGE_MAP
54
+ };
55
+ }
56
+ return { ...specificDefaultValues };
57
+ };
58
+ export {
59
+ getCommonShortCircuitParametersFormSchema,
60
+ resetSpecificParameters
61
+ };
@@ -1,7 +1,10 @@
1
+ import { SpecificParametersPerProvider } from '../../../utils';
1
2
  import { InitialVoltage, PredefinedParameters } from './constants';
2
3
  export interface VoltageRange {
3
4
  minimumNominalVoltage: number;
4
5
  maximumNominalVoltage: number;
6
+ voltage: number;
7
+ voltageRangeCoefficient: number;
5
8
  }
6
9
  export interface ShortCircuitParametersDto {
7
10
  withFeederResult: boolean;
@@ -13,26 +16,9 @@ export interface ShortCircuitParametersDto {
13
16
  voltageRanges?: VoltageRange[];
14
17
  }
15
18
  export interface ShortCircuitParametersInfos {
16
- parameters: ShortCircuitParametersDto;
19
+ provider: string;
17
20
  predefinedParameters: PredefinedParameters;
18
- cei909VoltageRanges?: any;
19
- }
20
- interface VoltageRanges {
21
- maximumNominalVoltage: number;
22
- minimumNominalVoltage: number;
23
- voltage: number;
24
- voltageRangeCoefficient: number;
25
- }
26
- export interface ShortCircuitParameters {
27
- predefinedParameters: NonNullable<PredefinedParameters | undefined>;
28
- parameters: {
29
- withFeederResult: boolean;
30
- withLoads: boolean;
31
- withVSCConverterStations: boolean;
32
- withShuntCompensators: boolean;
33
- withNeutralPosition: boolean;
34
- initialVoltageProfileMode: NonNullable<InitialVoltage | undefined>;
35
- voltageRanges?: VoltageRanges;
36
- };
21
+ commonParameters: ShortCircuitParametersDto;
22
+ specificParametersPerProvider: SpecificParametersPerProvider;
23
+ cei909VoltageRanges?: VoltageRange[];
37
24
  }
38
- export {};
@@ -1,29 +1,29 @@
1
- import { FieldValues, UseFormReturn } from 'react-hook-form';
1
+ import { FieldErrors, UseFormReturn } from 'react-hook-form';
2
2
  import { ObjectSchema } from 'yup';
3
3
  import { UUID } from 'node:crypto';
4
4
  import { PredefinedParameters } from './constants';
5
+ import { SpecificParameterInfos, UseParametersBackendReturnProps } from '../../../utils';
5
6
  import { ShortCircuitParametersInfos } from './short-circuit-parameters.type';
7
+ import { ComputingType } from '../common';
6
8
  export interface UseShortCircuitParametersFormReturn {
7
9
  formMethods: UseFormReturn;
8
10
  formSchema: ObjectSchema<any>;
9
- paramsLoading: boolean;
11
+ resetAll: (predefinedParameter: PredefinedParameters) => void;
12
+ specificParametersDescriptionForProvider: SpecificParameterInfos[];
13
+ toShortCircuitFormValues: (_params: ShortCircuitParametersInfos) => any;
14
+ formatNewParams: (formData: Record<string, any>) => ShortCircuitParametersInfos;
15
+ params: ShortCircuitParametersInfos | null;
16
+ provider: string | undefined;
17
+ paramsLoaded: boolean;
18
+ onValidationError: (errors: FieldErrors) => void;
10
19
  onSaveInline: (formData: Record<string, any>) => void;
11
20
  onSaveDialog: (formData: Record<string, any>) => void;
12
- resetAll: (predefinedParameter: PredefinedParameters) => void;
13
- getCurrentValues: () => FieldValues;
14
21
  }
15
22
  type UseShortCircuitParametersFormProps = {
16
- parametersUuid: UUID;
17
- name: string;
23
+ parametersBackend: UseParametersBackendReturnProps<ComputingType.SHORT_CIRCUIT>;
24
+ parametersUuid: UUID | null;
25
+ name: string | null;
18
26
  description: string | null;
19
- studyUuid: null;
20
- studyShortCircuitParameters: null;
21
- } | {
22
- parametersUuid: null;
23
- name: null;
24
- description: null;
25
- studyUuid: UUID | null;
26
- studyShortCircuitParameters: ShortCircuitParametersInfos | null;
27
27
  };
28
- export declare const useShortCircuitParametersForm: ({ parametersUuid, name, description, studyUuid, studyShortCircuitParameters, }: UseShortCircuitParametersFormProps) => UseShortCircuitParametersFormReturn;
28
+ export declare const useShortCircuitParametersForm: ({ parametersBackend, parametersUuid, name, description, }: UseShortCircuitParametersFormProps) => UseShortCircuitParametersFormReturn;
29
29
  export {};
@@ -12,7 +12,6 @@ import { snackWithFallback } from "../../../utils/error.js";
12
12
  import "@mui/icons-material";
13
13
  import { ElementType } from "../../../utils/types/elementType.js";
14
14
  import { updateParameter } from "../../../services/explore.js";
15
- import { setStudyShortCircuitParameters, invalidateStudyShortCircuitStatus } from "../../../services/study.js";
16
15
  import "localized-countries";
17
16
  import "localized-countries/data/fr";
18
17
  import "localized-countries/data/en";
@@ -33,135 +32,143 @@ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
33
32
  import "uuid";
34
33
  import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
35
34
  import "react-querybuilder";
36
- import { SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE, InitialVoltage, SHORT_CIRCUIT_WITH_NEUTRAL_POSITION, SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS, SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS, SHORT_CIRCUIT_WITH_LOADS, SHORT_CIRCUIT_PREDEFINED_PARAMS, PredefinedParameters, SHORT_CIRCUIT_WITH_FEEDER_RESULT } from "./constants.js";
35
+ import { SHORT_CIRCUIT_PREDEFINED_PARAMS, PredefinedParameters, InitialVoltage, SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE, SHORT_CIRCUIT_WITH_NEUTRAL_POSITION, SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS, SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS, SHORT_CIRCUIT_WITH_LOADS, SHORT_CIRCUIT_WITH_FEEDER_RESULT, SHORT_CIRCUIT_VOLTAGE_RANGES } from "./constants.js";
37
36
  import "../../filter/HeaderFilterForm.js";
38
37
  import { getNameElementEditorSchema, getNameElementEditorEmptyFormData } from "../common/name-element-editor/name-element-editor-utils.js";
39
- import { fetchShortCircuitParameters } from "../../../services/short-circuit-analysis.js";
38
+ import { SPECIFIC_PARAMETERS, COMMON_PARAMETERS, VERSION_PARAMETER, PROVIDER } from "../common/constant.js";
39
+ import "../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
40
+ import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
41
+ import "../common/widget/parameter-line-slider.js";
42
+ import "../common/limitreductions/columns-definitions.js";
43
+ import { getCommonShortCircuitParametersFormSchema, resetSpecificParameters } from "./short-circuit-parameters-utils.js";
44
+ import { getDefaultSpecificParamsValues, getSpecificParametersFormSchema, getAllSpecificParametersValues, formatSpecificParameters } from "../common/utils.js";
40
45
  const useShortCircuitParametersForm = ({
46
+ parametersBackend,
41
47
  parametersUuid,
42
48
  name,
43
- description,
44
- studyUuid,
45
- studyShortCircuitParameters
49
+ description
46
50
  }) => {
51
+ const [, provider, , , , params, , updateParameters, , specificParamsDescriptions] = parametersBackend;
52
+ const [paramsLoaded, setParamsLoaded] = useState(false);
47
53
  const { snackError } = useSnackMessage();
48
- const [paramsLoading, setParamsLoading] = useState(false);
49
- const [shortCircuitParameters, setShortCircuitParameters] = useState();
54
+ const specificParametersDescriptionForProvider = useMemo(() => {
55
+ return provider && specificParamsDescriptions?.[provider] ? specificParamsDescriptions[provider] : [];
56
+ }, [provider, specificParamsDescriptions]);
57
+ const specificParametersDefaultValues = useMemo(() => {
58
+ return getDefaultSpecificParamsValues(specificParametersDescriptionForProvider);
59
+ }, [specificParametersDescriptionForProvider]);
50
60
  const formSchema = useMemo(() => {
51
- return yup.object().shape({
52
- [SHORT_CIRCUIT_WITH_FEEDER_RESULT]: yup.boolean().required(),
61
+ return yup.object({
53
62
  [SHORT_CIRCUIT_PREDEFINED_PARAMS]: yup.mixed().oneOf(Object.values(PredefinedParameters)).required(),
54
- [SHORT_CIRCUIT_WITH_LOADS]: yup.boolean().required(),
55
- [SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS]: yup.boolean().required(),
56
- [SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS]: yup.boolean().required(),
57
- [SHORT_CIRCUIT_WITH_NEUTRAL_POSITION]: yup.boolean().required(),
58
- [SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE]: yup.mixed().oneOf(Object.values(InitialVoltage)).required()
59
- }).required().concat(getNameElementEditorSchema(name));
60
- }, [name]);
61
- const emptyFormData = useMemo(() => {
62
- return {
63
+ ...getCommonShortCircuitParametersFormSchema().fields,
64
+ ...getSpecificParametersFormSchema(specificParametersDescriptionForProvider).fields
65
+ }).concat(getNameElementEditorSchema(name));
66
+ }, [name, specificParametersDescriptionForProvider]);
67
+ const formMethods = useForm({
68
+ defaultValues: {
63
69
  ...getNameElementEditorEmptyFormData(name, description),
64
- [SHORT_CIRCUIT_WITH_FEEDER_RESULT]: false,
65
70
  [SHORT_CIRCUIT_PREDEFINED_PARAMS]: PredefinedParameters.ICC_MAX_WITH_CEI909,
66
- [SHORT_CIRCUIT_WITH_LOADS]: false,
67
- [SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS]: false,
68
- [SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS]: false,
69
- [SHORT_CIRCUIT_WITH_NEUTRAL_POSITION]: false,
70
- [SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE]: InitialVoltage.CEI909
71
- };
72
- }, [name, description]);
73
- const formMethods = useForm({
74
- defaultValues: emptyFormData,
71
+ [COMMON_PARAMETERS]: {
72
+ ...params?.commonParameters
73
+ },
74
+ [SPECIFIC_PARAMETERS]: {
75
+ ...specificParametersDefaultValues
76
+ }
77
+ },
75
78
  resolver: yupResolver(formSchema)
76
79
  });
77
- const { getValues, reset, setValue } = formMethods;
80
+ const { reset, setValue } = formMethods;
78
81
  const resetAll = useCallback(
79
82
  (predefinedParameter) => {
80
83
  const dirty = { shouldDirty: true };
81
- setValue(SHORT_CIRCUIT_WITH_FEEDER_RESULT, false, dirty);
82
- setValue(SHORT_CIRCUIT_WITH_LOADS, false, dirty);
83
84
  setValue(
84
- SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS,
85
- predefinedParameter !== PredefinedParameters.ICC_MIN_WITH_NOMINAL_VOLTAGE_MAP,
85
+ COMMON_PARAMETERS,
86
+ {
87
+ ...params?.commonParameters,
88
+ // for VERSION_PARAMETER and other non managed params
89
+ [SHORT_CIRCUIT_WITH_FEEDER_RESULT]: false,
90
+ [SHORT_CIRCUIT_WITH_LOADS]: false,
91
+ [SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS]: predefinedParameter !== PredefinedParameters.ICC_MIN_WITH_NOMINAL_VOLTAGE_MAP,
92
+ [SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS]: false,
93
+ [SHORT_CIRCUIT_WITH_NEUTRAL_POSITION]: false,
94
+ [SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE]: predefinedParameter === PredefinedParameters.ICC_MAX_WITH_CEI909 ? InitialVoltage.CEI909 : InitialVoltage.NOMINAL
95
+ },
86
96
  dirty
87
97
  );
88
- setValue(SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS, false, dirty);
89
- setValue(SHORT_CIRCUIT_WITH_NEUTRAL_POSITION, false, dirty);
90
- const initialVoltageProfileMode = predefinedParameter === PredefinedParameters.ICC_MAX_WITH_CEI909 ? InitialVoltage.CEI909 : InitialVoltage.NOMINAL;
91
- setValue(SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE, initialVoltageProfileMode, dirty);
92
98
  setValue(SHORT_CIRCUIT_PREDEFINED_PARAMS, predefinedParameter, dirty);
99
+ setValue(
100
+ SPECIFIC_PARAMETERS,
101
+ resetSpecificParameters(specificParametersDefaultValues, predefinedParameter),
102
+ dirty
103
+ );
93
104
  },
94
- [setValue]
105
+ [specificParametersDefaultValues, params?.commonParameters, setValue]
95
106
  );
96
- const prepareDataToSend = (shortCircuitParams, newParameters) => {
97
- const oldParameters = { ...shortCircuitParams.parameters };
98
- const {
99
- predefinedParameters: omit,
100
- [NAME]: omit2,
101
- [DESCRIPTION]: omit3,
102
- ...newParametersWithoutPredefinedParameters
103
- } = newParameters;
104
- let parameters = {
105
- ...oldParameters,
106
- ...newParametersWithoutPredefinedParameters,
107
- // we need to add voltageRanges to the parameters only when initialVoltageProfileMode is equals to CEI909
108
- voltageRanges: void 0,
109
- withNeutralPosition: !newParameters.withNeutralPosition
110
- };
111
- if (newParameters.initialVoltageProfileMode === InitialVoltage.CEI909) {
112
- parameters = {
113
- ...parameters,
114
- voltageRanges: shortCircuitParams.cei909VoltageRanges,
115
- initialVoltageProfileMode: InitialVoltage.CONFIGURED
107
+ const formatNewParams = useCallback(
108
+ (formData) => {
109
+ if (!provider) {
110
+ return {};
111
+ }
112
+ return {
113
+ provider: formData[PROVIDER],
114
+ predefinedParameters: formData[SHORT_CIRCUIT_PREDEFINED_PARAMS],
115
+ commonParameters: {
116
+ [VERSION_PARAMETER]: formData[COMMON_PARAMETERS][VERSION_PARAMETER],
117
+ // PowSyBl requires that "version" appears first
118
+ ...formData[COMMON_PARAMETERS],
119
+ // this should be inverted for API compatibility
120
+ [SHORT_CIRCUIT_WITH_NEUTRAL_POSITION]: !formData[COMMON_PARAMETERS][SHORT_CIRCUIT_WITH_NEUTRAL_POSITION],
121
+ [SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE]: formData[COMMON_PARAMETERS][SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE] === InitialVoltage.CEI909 ? InitialVoltage.CONFIGURED : formData[COMMON_PARAMETERS][SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE],
122
+ // we need to add voltageRanges to the parameters only when initialVoltageProfileMode is equals to CEI909
123
+ [SHORT_CIRCUIT_VOLTAGE_RANGES]: formData[COMMON_PARAMETERS][SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE] === InitialVoltage.CEI909 ? params?.cei909VoltageRanges : void 0
124
+ },
125
+ specificParametersPerProvider: {
126
+ [provider]: getAllSpecificParametersValues(formData, specificParametersDefaultValues)
127
+ }
116
128
  };
117
- }
118
- return {
119
- predefinedParameters: newParameters.predefinedParameters,
120
- parameters
121
- };
122
- };
123
- const getCurrentValues = useCallback(() => {
124
- if (shortCircuitParameters) {
125
- const currentValues = getValues();
126
- return { ...prepareDataToSend(shortCircuitParameters, currentValues) };
127
- }
128
- return {};
129
- }, [shortCircuitParameters, getValues]);
130
- const formatShortCircuitParameters = (parameters, predefinedParameters) => {
131
- return {
132
- [SHORT_CIRCUIT_WITH_FEEDER_RESULT]: parameters.withFeederResult,
133
- [SHORT_CIRCUIT_PREDEFINED_PARAMS]: predefinedParameters,
134
- [SHORT_CIRCUIT_WITH_LOADS]: parameters.withLoads,
135
- [SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS]: parameters.withVSCConverterStations,
136
- [SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS]: parameters.withShuntCompensators,
137
- [SHORT_CIRCUIT_WITH_NEUTRAL_POSITION]: !parameters.withNeutralPosition,
138
- [SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE]: parameters.initialVoltageProfileMode === InitialVoltage.CONFIGURED ? InitialVoltage.CEI909 : parameters.initialVoltageProfileMode
139
- };
140
- };
129
+ },
130
+ [params?.cei909VoltageRanges, provider, specificParametersDefaultValues]
131
+ );
132
+ const toShortCircuitFormValues = useCallback(
133
+ (_params) => {
134
+ if (!provider) {
135
+ return {};
136
+ }
137
+ const specificParamsListForCurrentProvider = _params.specificParametersPerProvider[provider];
138
+ return {
139
+ [PROVIDER]: _params.provider,
140
+ [SHORT_CIRCUIT_PREDEFINED_PARAMS]: _params.predefinedParameters,
141
+ [COMMON_PARAMETERS]: {
142
+ ..._params.commonParameters,
143
+ [SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE]: _params.commonParameters.initialVoltageProfileMode === InitialVoltage.CONFIGURED ? InitialVoltage.CEI909 : _params.commonParameters.initialVoltageProfileMode,
144
+ // invert back the value for the form
145
+ [SHORT_CIRCUIT_WITH_NEUTRAL_POSITION]: !_params.commonParameters.withNeutralPosition
146
+ },
147
+ [SPECIFIC_PARAMETERS]: {
148
+ ...formatSpecificParameters(
149
+ specificParametersDescriptionForProvider,
150
+ specificParamsListForCurrentProvider
151
+ )
152
+ }
153
+ };
154
+ },
155
+ [provider, specificParametersDescriptionForProvider]
156
+ );
157
+ const onValidationError = useCallback((_errors) => {
158
+ }, []);
141
159
  const onSaveInline = useCallback(
142
160
  (formData) => {
143
- if (studyUuid && shortCircuitParameters) {
144
- const oldParams = shortCircuitParameters;
145
- setStudyShortCircuitParameters(studyUuid, {
146
- ...prepareDataToSend(shortCircuitParameters, formData)
147
- }).then(() => {
148
- invalidateStudyShortCircuitStatus(studyUuid).catch((error) => {
149
- snackWithFallback(snackError, error, { headerId: "invalidateShortCircuitStatusError" });
150
- });
151
- }).catch((error) => {
152
- setShortCircuitParameters(oldParams);
153
- snackWithFallback(snackError, error, { headerId: "paramsChangingError" });
154
- });
155
- }
161
+ const data = formatNewParams(formData);
162
+ updateParameters(data);
156
163
  },
157
- [shortCircuitParameters, setShortCircuitParameters, snackError, studyUuid]
164
+ [updateParameters, formatNewParams]
158
165
  );
159
166
  const onSaveDialog = useCallback(
160
167
  (formData) => {
161
- if (parametersUuid && shortCircuitParameters) {
168
+ if (parametersUuid) {
162
169
  updateParameter(
163
170
  parametersUuid,
164
- prepareDataToSend(shortCircuitParameters, formData),
171
+ formatNewParams(formData),
165
172
  formData[NAME],
166
173
  ElementType.SHORT_CIRCUIT_PARAMETERS,
167
174
  formData[DESCRIPTION] ?? ""
@@ -170,42 +177,28 @@ const useShortCircuitParametersForm = ({
170
177
  });
171
178
  }
172
179
  },
173
- [parametersUuid, shortCircuitParameters, snackError]
180
+ [formatNewParams, parametersUuid, snackError]
174
181
  );
175
182
  useEffect(() => {
176
- if (parametersUuid) {
177
- const timer = setTimeout(() => {
178
- setParamsLoading(true);
179
- }, 700);
180
- fetchShortCircuitParameters(parametersUuid).then((params) => {
181
- setShortCircuitParameters(params);
182
- }).catch((error) => {
183
- snackWithFallback(snackError, error, { headerId: "paramsRetrievingError" });
184
- }).finally(() => {
185
- clearTimeout(timer);
186
- setParamsLoading(false);
187
- });
188
- }
189
- }, [parametersUuid, snackError]);
190
- useEffect(() => {
191
- if (studyShortCircuitParameters) {
192
- setShortCircuitParameters(studyShortCircuitParameters);
193
- }
194
- }, [studyShortCircuitParameters]);
195
- useEffect(() => {
196
- if (shortCircuitParameters) {
197
- const { parameters, predefinedParameters } = shortCircuitParameters;
198
- reset(formatShortCircuitParameters(parameters, predefinedParameters));
183
+ if (!params || !provider || !specificParamsDescriptions) {
184
+ return;
199
185
  }
200
- }, [reset, shortCircuitParameters]);
186
+ reset(toShortCircuitFormValues(params));
187
+ setParamsLoaded(true);
188
+ }, [provider, params, reset, specificParamsDescriptions, toShortCircuitFormValues]);
201
189
  return {
202
190
  formMethods,
203
191
  formSchema,
204
- paramsLoading,
192
+ specificParametersDescriptionForProvider,
193
+ toShortCircuitFormValues,
194
+ formatNewParams,
195
+ params,
196
+ provider,
197
+ paramsLoaded,
198
+ onValidationError,
205
199
  onSaveInline,
206
200
  onSaveDialog,
207
- resetAll,
208
- getCurrentValues
201
+ resetAll
209
202
  };
210
203
  };
211
204
  export {
@@ -2,10 +2,10 @@ import { UUID } from 'node:crypto';
2
2
  import { User } from 'oidc-client';
3
3
  import { ComputingType } from '../components/parameters/common/computing-type';
4
4
  import { ILimitReductionsByVoltageLevel } from '../components/parameters/common/limitreductions/columns-definitions';
5
- import { ParametersInfos, SpecificParametersInfos, UseParametersBackendReturnProps } from '../utils/types/parameters.type';
5
+ import { ParametersInfos, SpecificParametersDescription, UseParametersBackendReturnProps } from '../utils/types/parameters.type';
6
6
  export declare enum OptionalServicesStatus {
7
7
  Up = "UP",
8
8
  Down = "DOWN",
9
9
  Pending = "PENDING"
10
10
  }
11
- export declare const useParametersBackend: <T extends ComputingType>(user: User | null, studyUuid: UUID | null, type: T, optionalServiceStatus: OptionalServicesStatus | undefined, backendFetchProviders: () => Promise<string[]>, backendFetchProvider: ((studyUuid: UUID) => Promise<string>) | null, backendFetchDefaultProvider: () => Promise<string>, backendUpdateProvider: ((studyUuid: UUID, newProvider: string) => Promise<any>) | null, backendFetchParameters: (studyUuid: UUID) => Promise<ParametersInfos<T>>, backendUpdateParameters?: (studyUuid: UUID, newParam: ParametersInfos<T> | null) => Promise<any>, backendFetchSpecificParametersDescription?: () => Promise<SpecificParametersInfos>, backendFetchDefaultLimitReductions?: () => Promise<ILimitReductionsByVoltageLevel[]>) => UseParametersBackendReturnProps<T>;
11
+ export declare const useParametersBackend: <T extends ComputingType>(user: User | null, studyUuid: UUID | null, type: T, optionalServiceStatus: OptionalServicesStatus | undefined, backendFetchProviders: (() => Promise<string[]>) | null, backendFetchProvider: ((studyUuid: UUID) => Promise<string>) | null, backendFetchDefaultProvider: (() => Promise<string>) | null, backendUpdateProvider: ((studyUuid: UUID, newProvider: string) => Promise<any>) | null, backendFetchParameters: (studyUuid: UUID) => Promise<ParametersInfos<T>>, backendUpdateParameters?: (studyUuid: UUID, newParam: ParametersInfos<T> | null) => Promise<any>, backendFetchSpecificParametersDescription?: () => Promise<SpecificParametersDescription>, backendFetchDefaultLimitReductions?: () => Promise<ILimitReductionsByVoltageLevel[]>) => UseParametersBackendReturnProps<T>;
@@ -17,7 +17,9 @@ const useParametersBackend = (user, studyUuid, type, optionalServiceStatus, back
17
17
  const providerRef = useRef(provider);
18
18
  providerRef.current = provider;
19
19
  const [params, setParams] = useState(null);
20
- const [specificParamsDescription, setSpecificParamsDescription] = useState(null);
20
+ const [specificParamsDescription, setSpecificParamsDescription] = useState(
21
+ null
22
+ );
21
23
  const [defaultLimitReductions, setDefaultLimitReductions] = useState([]);
22
24
  const optionalServiceStatusRef = useRef(optionalServiceStatus);
23
25
  optionalServiceStatusRef.current = optionalServiceStatus;
@@ -44,7 +46,7 @@ const useParametersBackend = (user, studyUuid, type, optionalServiceStatus, back
44
46
  [backendUpdateProvider, studyUuid, snackError, type]
45
47
  );
46
48
  const resetProvider = useCallback(() => {
47
- backendFetchDefaultProvider().then((defaultProvider) => {
49
+ backendFetchDefaultProvider?.().then((defaultProvider) => {
48
50
  const providerNames = Object.keys(providersRef.current);
49
51
  if (providerNames.length > 0) {
50
52
  const newProvider = defaultProvider in providersRef.current ? defaultProvider : providerNames[0];
@@ -59,7 +61,7 @@ const useParametersBackend = (user, studyUuid, type, optionalServiceStatus, back
59
61
  });
60
62
  }, [backendFetchDefaultProvider, updateProvider, snackError, type]);
61
63
  const fetchAvailableProviders = useCallback(() => {
62
- return backendFetchProviders().then((providers) => {
64
+ return backendFetchProviders?.().then((providers) => {
63
65
  const providersObj = providers.reduce((acc, v) => {
64
66
  return {
65
67
  ...acc,
@@ -91,7 +93,7 @@ const useParametersBackend = (user, studyUuid, type, optionalServiceStatus, back
91
93
  );
92
94
  useEffect(() => {
93
95
  if (user !== null && studyUuid && optionalServiceStatus === "UP") {
94
- fetchAvailableProviders().then(() => fetchProvider(studyUuid));
96
+ fetchAvailableProviders()?.then(() => fetchProvider(studyUuid));
95
97
  }
96
98
  }, [fetchAvailableProviders, fetchProvider, optionalServiceStatus, studyUuid, user]);
97
99
  const fetchSpecificParametersDescription = useCallback(() => {
package/dist/index.js CHANGED
@@ -134,7 +134,7 @@ import { DeviceHubIcon } from "./components/icons/DeviceHubIcon.js";
134
134
  import { TuneIcon } from "./components/icons/TuneIcon.js";
135
135
  import { PhotoLibraryIcon } from "./components/icons/PhotoLibraryIcon.js";
136
136
  import { ComputingType, formatComputingTypeLabel, isValidComputingType } from "./components/parameters/common/computing-type.js";
137
- import { PARAM_SA_FLOW_PROPORTIONAL_THRESHOLD, PARAM_SA_HIGH_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_HIGH_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_PROVIDER, PROVIDER, ReactivePowerAdornment, VOLTAGE_LEVEL, VoltageAdornment } from "./components/parameters/common/constant.js";
137
+ import { COMMON_PARAMETERS, PARAM_SA_FLOW_PROPORTIONAL_THRESHOLD, PARAM_SA_HIGH_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_HIGH_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_PROVIDER, PROVIDER, ReactivePowerAdornment, SPECIFIC_PARAMETERS, VERSION_PARAMETER, VOLTAGE_LEVEL, VoltageAdornment } from "./components/parameters/common/constant.js";
138
138
  import { LineSeparator } from "./components/parameters/common/line-separator.js";
139
139
  import { LabelledButton, SwitchWithLabel, TabPanel } from "./components/parameters/common/parameters.js";
140
140
  import { CreateParameterDialog } from "./components/parameters/common/parameters-creation-dialog.js";
@@ -156,10 +156,10 @@ import { CENTER_LABEL, COMPONENT_LIBRARY, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OP
156
156
  import { MAP_BASEMAP_CARTO, MAP_BASEMAP_CARTO_NOLABEL, MAP_BASEMAP_ETALAB, MAP_BASEMAP_MAPBOX, NadPositionsGenerationMode, SubstationLayout } from "./components/parameters/network-visualizations/network-visualizations.types.js";
157
157
  import { NetworkVisualizationParametersInline } from "./components/parameters/network-visualizations/network-visualizations-parameters-inline.js";
158
158
  import { NetworkVisualizationsParametersEditionDialog } from "./components/parameters/network-visualizations/network-visualizations-parameters-dialog.js";
159
- import { BALANCE_TYPE, COMMON_PARAMETERS, CONNECTED_COMPONENT_MODE, COUNTRIES_TO_BALANCE, DC, DC_POWER_FACTOR, DC_USE_TRANSFORMER_RATIO, DEFAULT_LIMIT_REDUCTION_VALUE, DISTRIBUTED_SLACK, HVDC_AC_EMULATION, MAX_VALUE_ALLOWED_FOR_LIMIT_REDUCTION, MIN_VALUE_ALLOWED_FOR_LIMIT_REDUCTION, PARAM_LIMIT_REDUCTION, PARAM_PROVIDER_OPENLOADFLOW, PHASE_SHIFTER_REGULATION_ON, READ_SLACK_BUS, SHUNT_COMPENSATOR_VOLTAGE_CONTROL_ON, SPECIFIC_PARAMETERS, TWT_SPLIT_SHUNT_ADMITTANCE, USE_REACTIVE_LIMITS, VERSION_PARAMETER, VOLTAGE_INIT_MODE, WRITE_SLACK_BUS, alertThresholdMarks } from "./components/parameters/loadflow/constants.js";
159
+ import { BALANCE_TYPE, CONNECTED_COMPONENT_MODE, COUNTRIES_TO_BALANCE, DC, DC_POWER_FACTOR, DC_USE_TRANSFORMER_RATIO, DEFAULT_LIMIT_REDUCTION_VALUE, DISTRIBUTED_SLACK, HVDC_AC_EMULATION, MAX_VALUE_ALLOWED_FOR_LIMIT_REDUCTION, MIN_VALUE_ALLOWED_FOR_LIMIT_REDUCTION, PARAM_LIMIT_REDUCTION, PARAM_PROVIDER_OPENLOADFLOW, PHASE_SHIFTER_REGULATION_ON, READ_SLACK_BUS, SHUNT_COMPENSATOR_VOLTAGE_CONTROL_ON, TWT_SPLIT_SHUNT_ADMITTANCE, USE_REACTIVE_LIMITS, VOLTAGE_INIT_MODE, WRITE_SLACK_BUS, alertThresholdMarks } from "./components/parameters/loadflow/constants.js";
160
160
  import { LoadFlowParametersInline } from "./components/parameters/loadflow/load-flow-parameters-inline.js";
161
161
  import { LoadFlowParametersEditionDialog } from "./components/parameters/loadflow/load-flow-parameters-dialog.js";
162
- import { InitialVoltage, PredefinedParameters, SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE, SHORT_CIRCUIT_PREDEFINED_PARAMS, SHORT_CIRCUIT_WITH_FEEDER_RESULT, SHORT_CIRCUIT_WITH_LOADS, SHORT_CIRCUIT_WITH_NEUTRAL_POSITION, SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS, SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS, intlInitialVoltageProfileMode, intlPredefinedParametersOptions } from "./components/parameters/short-circuit/constants.js";
162
+ import { InitialVoltage, PredefinedParameters, SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE, SHORT_CIRCUIT_ONLY_STARTED_GENERATORS, SHORT_CIRCUIT_PREDEFINED_PARAMS, SHORT_CIRCUIT_VOLTAGE_RANGES, SHORT_CIRCUIT_WITH_FEEDER_RESULT, SHORT_CIRCUIT_WITH_LOADS, SHORT_CIRCUIT_WITH_NEUTRAL_POSITION, SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS, SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS, intlInitialVoltageProfileMode, intlPredefinedParametersOptions, onlyStartedGeneratorsOptions } from "./components/parameters/short-circuit/constants.js";
163
163
  import { ShortCircuitParametersInLine } from "./components/parameters/short-circuit/short-circuit-parameters-inline.js";
164
164
  import { ShortCircuitParametersEditionDialog } from "./components/parameters/short-circuit/short-circuit-parameters-dialog.js";
165
165
  import { DEFAULT_GENERAL_APPLY_MODIFICATIONS, DEFAULT_REACTIVE_SLACKS_THRESHOLD, DEFAULT_SHUNT_COMPENSATOR_ACTIVATION_THRESHOLD, DEFAULT_UPDATE_BUS_VOLTAGE, GENERAL, GENERAL_APPLY_MODIFICATIONS, GENERATORS_SELECTION_TYPE, HIGH_VOLTAGE_LIMIT, LEG_SIDE, LOW_VOLTAGE_LIMIT, PRIORITY, RATIO_TAP_CHANGER_POSITION, RATIO_TAP_CHANGER_TARGET_V, REACTIVE_SLACKS_THRESHOLD, SELECTION_TYPE, SHUNT_COMPENSATORS_SELECTION_TYPE, SHUNT_COMPENSATOR_ACTIVATION_THRESHOLD, TRANSFORMERS_SELECTION_TYPE, UPDATE_BUS_VOLTAGE, VARIABLE_Q_GENERATORS, VARIABLE_SHUNT_COMPENSATORS, VARIABLE_TRANSFORMERS, VOLTAGE_LIMITS_DEFAULT, VOLTAGE_LIMITS_MODIFICATION, VoltageInitTabValues } from "./components/parameters/voltage-init/constants.js";
@@ -200,11 +200,12 @@ import { createFilter, createParameter, fetchElementsInfos, saveFilter, updatePa
200
200
  import { PREFIX_STUDY_QUERIES, fetchLoadFlowParameters, getDefaultLoadFlowProvider, getLoadFlowDefaultLimitReductions, getLoadFlowProviders, getLoadFlowSpecificParametersDescription, getLoadFlowUrl, setLoadFlowParameters } from "./services/loadflow.js";
201
201
  import { getPccMinStudyParameters, updatePccMinParameters } from "./services/pcc-min.js";
202
202
  import { fetchDefaultSecurityAnalysisProvider, fetchSecurityAnalysisParameters, fetchSecurityAnalysisProviders, getSecurityAnalysisDefaultLimitReductions, getSecurityAnalysisParameters, getStudyUrl, safeEncodeURIComponent, setSecurityAnalysisParameters, updateSecurityAnalysisParameters, updateSecurityAnalysisProvider } from "./services/security-analysis.js";
203
- import { exportFilter, getAvailableComponentLibraries, getStudyNetworkVisualizationsParameters, getStudyShortCircuitParameters, invalidateStudyShortCircuitStatus, setStudyNetworkVisualizationParameters, setStudyShortCircuitParameters, updateVoltageInitParameters } from "./services/study.js";
203
+ import { exportFilter, getAvailableComponentLibraries, getStudyNetworkVisualizationsParameters, getStudyShortCircuitParameters, setStudyNetworkVisualizationParameters, updateVoltageInitParameters } from "./services/study.js";
204
204
  import { getNetworkVisualizationsParameters } from "./services/study-config.js";
205
205
  import { fetchCurrentAnnouncement, fetchUserDetails } from "./services/userAdmin.js";
206
206
  import { NetworkTimeoutError, backendFetch, backendFetchFile, backendFetchJson, backendFetchText, getRequestParamFromList } from "./services/utils.js";
207
207
  import { getVoltageInitParameters, getVoltageInitUrl } from "./services/voltage-init.js";
208
+ import { fetchShortCircuitParameters, getShortCircuitSpecificParametersDescription, updateShortCircuitParameters } from "./services/short-circuit-analysis.js";
208
209
  import { equalsArray } from "./utils/algos.js";
209
210
  import { FetchStatus } from "./utils/constants/fetchStatus.js";
210
211
  import { FieldConstants } from "./utils/constants/fieldConstants.js";
@@ -597,7 +598,9 @@ export {
597
598
  SELECTION_TYPE,
598
599
  SENSITIVITY_TYPES,
599
600
  SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE,
601
+ SHORT_CIRCUIT_ONLY_STARTED_GENERATORS,
600
602
  SHORT_CIRCUIT_PREDEFINED_PARAMS,
603
+ SHORT_CIRCUIT_VOLTAGE_RANGES,
601
604
  SHORT_CIRCUIT_WITH_FEEDER_RESULT,
602
605
  SHORT_CIRCUIT_WITH_LOADS,
603
606
  SHORT_CIRCUIT_WITH_NEUTRAL_POSITION,
@@ -757,6 +760,7 @@ export {
757
760
  fetchRootFolders,
758
761
  fetchSecurityAnalysisParameters,
759
762
  fetchSecurityAnalysisProviders,
763
+ fetchShortCircuitParameters,
760
764
  fetchStudyMetadata,
761
765
  fetchUserDetails,
762
766
  filterEn,
@@ -794,6 +798,7 @@ export {
794
798
  getSAParametersFromSchema,
795
799
  getSecurityAnalysisDefaultLimitReductions,
796
800
  getSecurityAnalysisParameters,
801
+ getShortCircuitSpecificParametersDescription,
797
802
  getStudyNetworkVisualizationsParameters,
798
803
  getStudyShortCircuitParameters,
799
804
  getStudyUrl,
@@ -815,7 +820,6 @@ export {
815
820
  inputsFr,
816
821
  intlInitialVoltageProfileMode,
817
822
  intlPredefinedParametersOptions,
818
- invalidateStudyShortCircuitStatus,
819
823
  isBlankOrEmpty,
820
824
  isFieldRequired,
821
825
  isFloatNumber,
@@ -836,6 +840,7 @@ export {
836
840
  multipleSelectionDialogFr,
837
841
  networkModificationsEn,
838
842
  networkModificationsFr,
843
+ onlyStartedGeneratorsOptions,
839
844
  parametersEn,
840
845
  parametersFr,
841
846
  queryValidator,
@@ -858,7 +863,6 @@ export {
858
863
  setShowAuthenticationRouterLogin,
859
864
  setSignInCallbackError,
860
865
  setStudyNetworkVisualizationParameters,
861
- setStudyShortCircuitParameters,
862
866
  setUnauthorizedUserInfo,
863
867
  setUserValidationError,
864
868
  snackWithFallback,
@@ -884,6 +888,7 @@ export {
884
888
  updatePccMinParameters,
885
889
  updateSecurityAnalysisParameters,
886
890
  updateSecurityAnalysisProvider,
891
+ updateShortCircuitParameters,
887
892
  updateVoltageInitParameters,
888
893
  useConfidentialityWarning,
889
894
  useConvertValue,
@@ -16,3 +16,4 @@ export * from './study-config';
16
16
  export * from './userAdmin';
17
17
  export * from './utils';
18
18
  export * from './voltage-init';
19
+ export * from './short-circuit-analysis';