@gridsuite/commons-ui 0.105.1 → 0.106.1

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 (52) hide show
  1. package/dist/components/dialogs/customMuiDialog/CustomMuiDialog.d.ts +4 -3
  2. package/dist/components/dialogs/customMuiDialog/CustomMuiDialog.js +3 -1
  3. package/dist/components/dialogs/descriptionModificationDialog/DescriptionModificationDialog.d.ts +3 -8
  4. package/dist/components/index.js +33 -0
  5. package/dist/components/parameters/common/name-element-editor/index.d.ts +8 -0
  6. package/dist/components/parameters/common/name-element-editor/index.js +7 -0
  7. package/dist/components/parameters/common/name-element-editor/name-element-editor-form.d.ts +8 -0
  8. package/dist/components/parameters/common/name-element-editor/name-element-editor-form.js +57 -0
  9. package/dist/components/parameters/common/name-element-editor/name-element-editor-utils.d.ts +12 -0
  10. package/dist/components/parameters/common/name-element-editor/name-element-editor-utils.js +48 -0
  11. package/dist/components/parameters/index.d.ts +1 -0
  12. package/dist/components/parameters/index.js +33 -0
  13. package/dist/components/parameters/loadflow/load-flow-parameters-dialog.js +14 -24
  14. package/dist/components/parameters/loadflow/load-flow-parameters-form.js +1 -1
  15. package/dist/components/parameters/loadflow/load-flow-parameters-inline.js +1 -1
  16. package/dist/components/parameters/loadflow/use-load-flow-parameters-form.js +4 -3
  17. package/dist/components/parameters/network-visualizations/constants.d.ts +41 -0
  18. package/dist/components/parameters/network-visualizations/constants.js +94 -0
  19. package/dist/components/parameters/network-visualizations/index.d.ts +10 -0
  20. package/dist/components/parameters/network-visualizations/index.js +35 -0
  21. package/dist/components/parameters/network-visualizations/map-parameters.d.ts +1 -0
  22. package/dist/components/parameters/network-visualizations/map-parameters.js +97 -0
  23. package/dist/components/parameters/network-visualizations/network-area-diagram-parameters.d.ts +1 -0
  24. package/dist/components/parameters/network-visualizations/network-area-diagram-parameters.js +52 -0
  25. package/dist/components/parameters/network-visualizations/network-visualizations-form.d.ts +11 -0
  26. package/dist/components/parameters/network-visualizations/network-visualizations-form.js +102 -0
  27. package/dist/components/parameters/network-visualizations/network-visualizations-parameters-dialog.d.ts +14 -0
  28. package/dist/components/parameters/network-visualizations/network-visualizations-parameters-dialog.js +93 -0
  29. package/dist/components/parameters/network-visualizations/network-visualizations-parameters-inline.d.ts +10 -0
  30. package/dist/components/parameters/network-visualizations/network-visualizations-parameters-inline.js +125 -0
  31. package/dist/components/parameters/network-visualizations/network-visualizations.types.d.ts +34 -0
  32. package/dist/components/parameters/network-visualizations/network-visualizations.types.js +17 -0
  33. package/dist/components/parameters/network-visualizations/single-line-diagram-parameters.d.ts +10 -0
  34. package/dist/components/parameters/network-visualizations/single-line-diagram-parameters.js +101 -0
  35. package/dist/components/parameters/network-visualizations/use-network-visualizations-parameters-form.d.ts +16 -0
  36. package/dist/components/parameters/network-visualizations/use-network-visualizations-parameters-form.js +151 -0
  37. package/dist/index.js +48 -1
  38. package/dist/services/index.d.ts +2 -0
  39. package/dist/services/index.js +15 -1
  40. package/dist/services/study-config.d.ts +3 -0
  41. package/dist/services/study-config.js +18 -0
  42. package/dist/services/study.d.ts +4 -0
  43. package/dist/services/study.js +24 -2
  44. package/dist/translations/en/networkModificationsEn.d.ts +3 -0
  45. package/dist/translations/en/networkModificationsEn.js +3 -0
  46. package/dist/translations/en/parameters.d.ts +24 -0
  47. package/dist/translations/en/parameters.js +25 -1
  48. package/dist/translations/fr/networkModificationsFr.d.ts +3 -0
  49. package/dist/translations/fr/networkModificationsFr.js +3 -0
  50. package/dist/translations/fr/parameters.d.ts +24 -0
  51. package/dist/translations/fr/parameters.js +25 -1
  52. package/package.json +1 -1
@@ -0,0 +1,94 @@
1
+ import { SubstationLayout, MAP_BASEMAP_MAPBOX, MAP_BASEMAP_CARTO, MAP_BASEMAP_CARTO_NOLABEL } from "./network-visualizations.types.js";
2
+ var LineFlowMode = /* @__PURE__ */ ((LineFlowMode2) => {
3
+ LineFlowMode2["STATIC_ARROWS"] = "staticArrows";
4
+ LineFlowMode2["ANIMATED_ARROWS"] = "animatedArrows";
5
+ LineFlowMode2["FEEDERS"] = "feeders";
6
+ return LineFlowMode2;
7
+ })(LineFlowMode || {});
8
+ const PARAM_LINE_FULL_PATH = "lineFullPath";
9
+ const PARAM_LINE_PARALLEL_PATH = "lineParallelPath";
10
+ const PARAM_LINE_FLOW_MODE = "lineFlowMode";
11
+ const PARAM_MAP_MANUAL_REFRESH = "mapManualRefresh";
12
+ const PARAM_MAP_BASEMAP = "mapBaseMap";
13
+ const PARAM_CENTER_LABEL = "centerLabel";
14
+ const PARAM_COMPONENT_LIBRARY = "componentLibrary";
15
+ const PARAM_DIAGONAL_LABEL = "diagonalLabel";
16
+ const PARAM_SUBSTATION_LAYOUT = "substationLayout";
17
+ const PARAM_INIT_NAD_WITH_GEO_DATA = "initNadWithGeoData";
18
+ var NetworkVisualizationTabValues = /* @__PURE__ */ ((NetworkVisualizationTabValues2) => {
19
+ NetworkVisualizationTabValues2["MAP"] = "mapParameters";
20
+ NetworkVisualizationTabValues2["SINGLE_LINE_DIAGRAM"] = "singleLineDiagramParameters";
21
+ NetworkVisualizationTabValues2["NETWORK_AREA_DIAGRAM"] = "networkAreaDiagramParameters";
22
+ return NetworkVisualizationTabValues2;
23
+ })(NetworkVisualizationTabValues || {});
24
+ const MAP_MANUAL_REFRESH = "MapManualRefresh";
25
+ const LINE_FLOW_MODE = "LineFlowMode";
26
+ const MAP_BASE_MAP = "MapBaseMap";
27
+ const DIAGONAL_LABEL = "diagonalLabel";
28
+ const CENTER_LABEL = "centerLabel";
29
+ const SUBSTATION_LAYOUT = "SubstationLayout";
30
+ const COMPONENT_LIBRARY = "ComponentLibrary";
31
+ const INIT_NAD_WITH_GEO_DATA = "initNadWithGeoData";
32
+ const INTL_LINE_FLOW_MODE_OPTIONS = [
33
+ {
34
+ id: "staticArrows",
35
+ label: "StaticArrows"
36
+ },
37
+ {
38
+ id: "animatedArrows",
39
+ label: "AnimatedArrows"
40
+ },
41
+ {
42
+ id: "feeders",
43
+ label: "Feeders"
44
+ }
45
+ ];
46
+ const INTL_MAP_BASE_MAP_OPTIONS = [
47
+ {
48
+ id: MAP_BASEMAP_MAPBOX,
49
+ label: "Mapbox"
50
+ },
51
+ {
52
+ id: MAP_BASEMAP_CARTO,
53
+ label: "Carto"
54
+ },
55
+ {
56
+ id: MAP_BASEMAP_CARTO_NOLABEL,
57
+ label: "CartoNoLabel"
58
+ }
59
+ ];
60
+ const INTL_SUBSTATION_LAYOUT_OPTIONS = [
61
+ {
62
+ id: SubstationLayout.HORIZONTAL,
63
+ label: "HorizontalSubstationLayout"
64
+ },
65
+ {
66
+ id: SubstationLayout.VERTICAL,
67
+ label: "VerticalSubstationLayout"
68
+ }
69
+ ];
70
+ export {
71
+ CENTER_LABEL,
72
+ COMPONENT_LIBRARY,
73
+ DIAGONAL_LABEL,
74
+ INIT_NAD_WITH_GEO_DATA,
75
+ INTL_LINE_FLOW_MODE_OPTIONS,
76
+ INTL_MAP_BASE_MAP_OPTIONS,
77
+ INTL_SUBSTATION_LAYOUT_OPTIONS,
78
+ LINE_FLOW_MODE,
79
+ LineFlowMode,
80
+ MAP_BASE_MAP,
81
+ MAP_MANUAL_REFRESH,
82
+ NetworkVisualizationTabValues,
83
+ PARAM_CENTER_LABEL,
84
+ PARAM_COMPONENT_LIBRARY,
85
+ PARAM_DIAGONAL_LABEL,
86
+ PARAM_INIT_NAD_WITH_GEO_DATA,
87
+ PARAM_LINE_FLOW_MODE,
88
+ PARAM_LINE_FULL_PATH,
89
+ PARAM_LINE_PARALLEL_PATH,
90
+ PARAM_MAP_BASEMAP,
91
+ PARAM_MAP_MANUAL_REFRESH,
92
+ PARAM_SUBSTATION_LAYOUT,
93
+ SUBSTATION_LAYOUT
94
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) 2025, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
6
+ */
7
+ export * from './constants';
8
+ export * from './network-visualizations.types';
9
+ export * from './network-visualizations-parameters-inline';
10
+ export * from './network-visualizations-parameters-dialog';
@@ -0,0 +1,35 @@
1
+ import { CENTER_LABEL, COMPONENT_LIBRARY, DIAGONAL_LABEL, INIT_NAD_WITH_GEO_DATA, INTL_LINE_FLOW_MODE_OPTIONS, INTL_MAP_BASE_MAP_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_INIT_NAD_WITH_GEO_DATA, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./constants.js";
2
+ import { MAP_BASEMAP_CARTO, MAP_BASEMAP_CARTO_NOLABEL, MAP_BASEMAP_MAPBOX, SubstationLayout } from "./network-visualizations.types.js";
3
+ import { NetworkVisualizationParametersInline } from "./network-visualizations-parameters-inline.js";
4
+ import { NetworkVisualizationsParametersEditionDialog } from "./network-visualizations-parameters-dialog.js";
5
+ export {
6
+ CENTER_LABEL,
7
+ COMPONENT_LIBRARY,
8
+ DIAGONAL_LABEL,
9
+ INIT_NAD_WITH_GEO_DATA,
10
+ INTL_LINE_FLOW_MODE_OPTIONS,
11
+ INTL_MAP_BASE_MAP_OPTIONS,
12
+ INTL_SUBSTATION_LAYOUT_OPTIONS,
13
+ LINE_FLOW_MODE,
14
+ LineFlowMode,
15
+ MAP_BASEMAP_CARTO,
16
+ MAP_BASEMAP_CARTO_NOLABEL,
17
+ MAP_BASEMAP_MAPBOX,
18
+ MAP_BASE_MAP,
19
+ MAP_MANUAL_REFRESH,
20
+ NetworkVisualizationParametersInline,
21
+ NetworkVisualizationTabValues,
22
+ NetworkVisualizationsParametersEditionDialog,
23
+ PARAM_CENTER_LABEL,
24
+ PARAM_COMPONENT_LIBRARY,
25
+ PARAM_DIAGONAL_LABEL,
26
+ PARAM_INIT_NAD_WITH_GEO_DATA,
27
+ PARAM_LINE_FLOW_MODE,
28
+ PARAM_LINE_FULL_PATH,
29
+ PARAM_LINE_PARALLEL_PATH,
30
+ PARAM_MAP_BASEMAP,
31
+ PARAM_MAP_MANUAL_REFRESH,
32
+ PARAM_SUBSTATION_LAYOUT,
33
+ SUBSTATION_LAYOUT,
34
+ SubstationLayout
35
+ };
@@ -0,0 +1 @@
1
+ export declare function MapParameters(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,97 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { Grid } from "@mui/material";
3
+ import { FormattedMessage } from "react-intl";
4
+ import { MAP_BASE_MAP, NetworkVisualizationTabValues, PARAM_MAP_BASEMAP, INTL_MAP_BASE_MAP_OPTIONS, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, INTL_LINE_FLOW_MODE_OPTIONS, LINE_FLOW_MODE, PARAM_LINE_FLOW_MODE, MAP_MANUAL_REFRESH, PARAM_MAP_MANUAL_REFRESH } from "./constants.js";
5
+ import { LineSeparator } from "../common/line-separator.js";
6
+ import { parametersStyles } from "../parameters-style.js";
7
+ import "react";
8
+ import "../../../utils/types/equipmentType.js";
9
+ import "localized-countries";
10
+ import "localized-countries/data/fr";
11
+ import "localized-countries/data/en";
12
+ import "notistack";
13
+ import "react-hook-form";
14
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
15
+ import "../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
16
+ import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
17
+ import "@mui/icons-material";
18
+ import "../../treeViewFinder/TreeViewFinder.js";
19
+ import "yup";
20
+ import "../../overflowableText/OverflowableText.js";
21
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
22
+ import "../../customAGGrid/customAggrid.js";
23
+ import "ag-grid-community";
24
+ import "react-papaparse";
25
+ import "react-csv-downloader";
26
+ import { SwitchInput } from "../../inputs/reactHookForm/booleans/SwitchInput.js";
27
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
28
+ import { MuiSelectInput } from "../../inputs/reactHookForm/selectInputs/MuiSelectInput.js";
29
+ import "../../../utils/conversionUtils.js";
30
+ import "../../../utils/yupConfig.js";
31
+ import "@react-querybuilder/material";
32
+ import "../../filter/expert/expertFilterConstants.js";
33
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
34
+ import "uuid";
35
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
36
+ import "react-querybuilder";
37
+ import "../common/widget/parameter-line-slider.js";
38
+ import "../common/limitreductions/columns-definitions.js";
39
+ function MapParameters() {
40
+ var _a;
41
+ const lineSwitch = (name, label) => /* @__PURE__ */ jsxs(Fragment, { children: [
42
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 8, sx: parametersStyles.parameterName, children: /* @__PURE__ */ jsx(FormattedMessage, { id: label }) }),
43
+ /* @__PURE__ */ jsx(Grid, { item: true, container: true, xs: 4, sx: parametersStyles.controlItem, children: /* @__PURE__ */ jsx(SwitchInput, { name: `${NetworkVisualizationTabValues.MAP}.${name}` }) })
44
+ ] });
45
+ const lineFlow = (name, label, options) => {
46
+ var _a2;
47
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
48
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 8, sx: parametersStyles.parameterName, children: /* @__PURE__ */ jsx(FormattedMessage, { id: label }) }),
49
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 4, sx: parametersStyles.controlItem, children: /* @__PURE__ */ jsx(
50
+ MuiSelectInput,
51
+ {
52
+ fullWidth: true,
53
+ name: `${NetworkVisualizationTabValues.MAP}.${name}`,
54
+ size: "small",
55
+ options: (_a2 = Object.values(options)) == null ? void 0 : _a2.map((option) => option)
56
+ }
57
+ ) })
58
+ ] });
59
+ };
60
+ const mapBaseMap = /* @__PURE__ */ jsxs(Fragment, { children: [
61
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 8, sx: parametersStyles.parameterName, children: /* @__PURE__ */ jsx(FormattedMessage, { id: MAP_BASE_MAP }) }),
62
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 4, sx: parametersStyles.controlItem, children: /* @__PURE__ */ jsx(
63
+ MuiSelectInput,
64
+ {
65
+ fullWidth: true,
66
+ name: `${NetworkVisualizationTabValues.MAP}.${PARAM_MAP_BASEMAP}`,
67
+ size: "small",
68
+ options: (_a = Object.values(INTL_MAP_BASE_MAP_OPTIONS)) == null ? void 0 : _a.map((option) => option)
69
+ }
70
+ ) })
71
+ ] });
72
+ return /* @__PURE__ */ jsxs(
73
+ Grid,
74
+ {
75
+ container: true,
76
+ spacing: 1,
77
+ sx: parametersStyles.scrollableGrid,
78
+ marginTop: -3,
79
+ justifyContent: "space-between",
80
+ children: [
81
+ lineSwitch(PARAM_LINE_FULL_PATH, PARAM_LINE_FULL_PATH),
82
+ /* @__PURE__ */ jsx(LineSeparator, {}),
83
+ lineSwitch(PARAM_LINE_PARALLEL_PATH, PARAM_LINE_PARALLEL_PATH),
84
+ /* @__PURE__ */ jsx(LineSeparator, {}),
85
+ lineFlow(PARAM_LINE_FLOW_MODE, LINE_FLOW_MODE, INTL_LINE_FLOW_MODE_OPTIONS),
86
+ /* @__PURE__ */ jsx(LineSeparator, {}),
87
+ lineSwitch(PARAM_MAP_MANUAL_REFRESH, MAP_MANUAL_REFRESH),
88
+ /* @__PURE__ */ jsx(LineSeparator, {}),
89
+ mapBaseMap
90
+ ]
91
+ },
92
+ "mapParameters"
93
+ );
94
+ }
95
+ export {
96
+ MapParameters
97
+ };
@@ -0,0 +1 @@
1
+ export declare function NetworkAreaDiagramParameters(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,52 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Grid } from "@mui/material";
3
+ import { FormattedMessage } from "react-intl";
4
+ import { INIT_NAD_WITH_GEO_DATA, NetworkVisualizationTabValues, PARAM_INIT_NAD_WITH_GEO_DATA } from "./constants.js";
5
+ import { parametersStyles } from "../parameters-style.js";
6
+ import "@mui/icons-material";
7
+ import "react";
8
+ import "react-hook-form";
9
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
10
+ import "yup";
11
+ import "notistack";
12
+ import "../../overflowableText/OverflowableText.js";
13
+ import "../../treeViewFinder/TreeViewFinder.js";
14
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
15
+ import "../../customAGGrid/customAggrid.js";
16
+ import "ag-grid-community";
17
+ import "react-papaparse";
18
+ import "react-csv-downloader";
19
+ import { SwitchInput } from "../../inputs/reactHookForm/booleans/SwitchInput.js";
20
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
21
+ import "localized-countries";
22
+ import "localized-countries/data/fr";
23
+ import "localized-countries/data/en";
24
+ import "../../../utils/conversionUtils.js";
25
+ import "../../../utils/types/equipmentType.js";
26
+ import "../../../utils/yupConfig.js";
27
+ import "@react-querybuilder/material";
28
+ import "../../filter/expert/expertFilterConstants.js";
29
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
30
+ import "uuid";
31
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
32
+ import "react-querybuilder";
33
+ function NetworkAreaDiagramParameters() {
34
+ return /* @__PURE__ */ jsxs(
35
+ Grid,
36
+ {
37
+ container: true,
38
+ spacing: 1,
39
+ sx: parametersStyles.scrollableGrid,
40
+ marginTop: -3,
41
+ justifyContent: "space-between",
42
+ children: [
43
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 8, sx: parametersStyles.parameterName, children: /* @__PURE__ */ jsx(FormattedMessage, { id: INIT_NAD_WITH_GEO_DATA }) }),
44
+ /* @__PURE__ */ jsx(Grid, { item: true, container: true, xs: 4, sx: parametersStyles.controlItem, children: /* @__PURE__ */ jsx(SwitchInput, { name: `${NetworkVisualizationTabValues.NETWORK_AREA_DIAGRAM}.${PARAM_INIT_NAD_WITH_GEO_DATA}` }) })
45
+ ]
46
+ },
47
+ "networkAreaDiagramParameters"
48
+ );
49
+ }
50
+ export {
51
+ NetworkAreaDiagramParameters
52
+ };
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ import { User } from 'oidc-client';
3
+ import { UseNetworkVisualizationParametersFormReturn } from './use-network-visualizations-parameters-form';
4
+ interface NetworkVisualizationParametersFormProps {
5
+ networkVisuMethods: UseNetworkVisualizationParametersFormReturn;
6
+ renderTitleFields?: () => ReactNode;
7
+ renderActions?: () => ReactNode;
8
+ user: User | null;
9
+ }
10
+ export declare function NetworkVisualizationParametersForm({ networkVisuMethods, renderTitleFields, renderActions, user, }: Readonly<NetworkVisualizationParametersFormProps>): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,102 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Grid, Tabs, Tab, LinearProgress } from "@mui/material";
3
+ import { useState, useEffect } from "react";
4
+ import { FormattedMessage } from "react-intl";
5
+ import "@mui/icons-material";
6
+ import "react-hook-form";
7
+ import { CustomFormProvider } from "../../inputs/reactHookForm/provider/CustomFormProvider.js";
8
+ import "yup";
9
+ import "notistack";
10
+ import "../../overflowableText/OverflowableText.js";
11
+ import "../../treeViewFinder/TreeViewFinder.js";
12
+ import { getAvailableComponentLibraries } from "../../../services/study.js";
13
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
14
+ import "../../customAGGrid/customAggrid.js";
15
+ import "ag-grid-community";
16
+ import "react-papaparse";
17
+ import "react-csv-downloader";
18
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
19
+ import "localized-countries";
20
+ import "localized-countries/data/fr";
21
+ import "localized-countries/data/en";
22
+ import "../../../utils/conversionUtils.js";
23
+ import "../../../utils/types/equipmentType.js";
24
+ import "../../../utils/yupConfig.js";
25
+ import "@react-querybuilder/material";
26
+ import "../../filter/expert/expertFilterConstants.js";
27
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
28
+ import "uuid";
29
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
30
+ import "react-querybuilder";
31
+ import { NetworkVisualizationTabValues } from "./constants.js";
32
+ import { MapParameters } from "./map-parameters.js";
33
+ import { SingleLineDiagramParameters } from "./single-line-diagram-parameters.js";
34
+ import { NetworkAreaDiagramParameters } from "./network-area-diagram-parameters.js";
35
+ import { TabPanel } from "../common/parameters.js";
36
+ import "../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
37
+ import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
38
+ import "../common/widget/parameter-line-slider.js";
39
+ import "../common/limitreductions/columns-definitions.js";
40
+ const useGetAvailableComponentLibraries = (user) => {
41
+ const [componentLibraries, setComponentLibraries] = useState([]);
42
+ useEffect(() => {
43
+ if (user !== null) {
44
+ getAvailableComponentLibraries().then((libraries) => {
45
+ if (libraries != null) {
46
+ setComponentLibraries(libraries);
47
+ }
48
+ });
49
+ }
50
+ }, [user]);
51
+ return componentLibraries;
52
+ };
53
+ function NetworkVisualizationParametersForm({
54
+ networkVisuMethods,
55
+ renderTitleFields,
56
+ renderActions,
57
+ user
58
+ }) {
59
+ const componentLibraries = useGetAvailableComponentLibraries(user);
60
+ const { formMethods, formSchema, selectedTab, handleTabChange, paramsLoaded } = networkVisuMethods;
61
+ return /* @__PURE__ */ jsx(CustomFormProvider, { validationSchema: formSchema, ...formMethods, removeOptional: true, children: /* @__PURE__ */ jsxs(Grid, { container: true, direction: "column", children: [
62
+ /* @__PURE__ */ jsx(Grid, { item: true, container: true, direction: "column", children: renderTitleFields == null ? void 0 : renderTitleFields() }),
63
+ paramsLoaded ? /* @__PURE__ */ jsxs(Grid, { item: true, container: true, direction: "column", children: [
64
+ /* @__PURE__ */ jsxs(Tabs, { value: selectedTab, variant: "scrollable", onChange: handleTabChange, children: [
65
+ /* @__PURE__ */ jsx(Tab, { label: /* @__PURE__ */ jsx(FormattedMessage, { id: "Map" }), value: NetworkVisualizationTabValues.MAP }),
66
+ /* @__PURE__ */ jsx(
67
+ Tab,
68
+ {
69
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "SingleLineDiagram" }),
70
+ value: NetworkVisualizationTabValues.SINGLE_LINE_DIAGRAM
71
+ }
72
+ ),
73
+ /* @__PURE__ */ jsx(
74
+ Tab,
75
+ {
76
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "NetworkAreaDiagram" }),
77
+ value: NetworkVisualizationTabValues.NETWORK_AREA_DIAGRAM
78
+ }
79
+ )
80
+ ] }),
81
+ /* @__PURE__ */ jsx(TabPanel, { value: selectedTab, index: NetworkVisualizationTabValues.MAP, children: /* @__PURE__ */ jsx(MapParameters, {}) }),
82
+ /* @__PURE__ */ jsx(TabPanel, { value: selectedTab, index: NetworkVisualizationTabValues.SINGLE_LINE_DIAGRAM, children: /* @__PURE__ */ jsx(SingleLineDiagramParameters, { componentLibraries }) }),
83
+ /* @__PURE__ */ jsx(TabPanel, { value: selectedTab, index: NetworkVisualizationTabValues.NETWORK_AREA_DIAGRAM, children: /* @__PURE__ */ jsx(NetworkAreaDiagramParameters, {}) })
84
+ ] }) : /* @__PURE__ */ jsx(LinearProgress, {}),
85
+ /* @__PURE__ */ jsx(
86
+ Grid,
87
+ {
88
+ item: true,
89
+ container: true,
90
+ direction: "column",
91
+ sx: {
92
+ position: "absolute",
93
+ bottom: "30px"
94
+ },
95
+ children: renderActions == null ? void 0 : renderActions()
96
+ }
97
+ )
98
+ ] }) });
99
+ }
100
+ export {
101
+ NetworkVisualizationParametersForm
102
+ };
@@ -0,0 +1,14 @@
1
+ import { UUID } from 'crypto';
2
+ import { User } from 'oidc-client';
3
+ export interface NetworkVisualizationsParametersEditionDialogProps {
4
+ id: UUID;
5
+ open: boolean;
6
+ onClose: () => void;
7
+ titleId: string;
8
+ name: string;
9
+ description: string | null;
10
+ activeDirectory: UUID;
11
+ language?: string;
12
+ user: User | null;
13
+ }
14
+ export declare function NetworkVisualizationsParametersEditionDialog({ id, open, onClose, titleId, name, description, activeDirectory, language, user, }: Readonly<NetworkVisualizationsParametersEditionDialogProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,93 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { CustomMuiDialog } from "../../dialogs/customMuiDialog/CustomMuiDialog.js";
3
+ import "../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
4
+ import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
5
+ import "react";
6
+ import "@mui/material";
7
+ import "react-intl";
8
+ import "react-hook-form";
9
+ import "@mui/icons-material";
10
+ import { ElementType } from "../../../utils/types/elementType.js";
11
+ import "../../treeViewFinder/TreeViewFinder.js";
12
+ import "notistack";
13
+ import "../../../utils/conversionUtils.js";
14
+ import "../../../utils/types/equipmentType.js";
15
+ import "../../../utils/yupConfig.js";
16
+ import { NetworkVisualizationParametersForm } from "./network-visualizations-form.js";
17
+ import { useNetworkVisualizationParametersForm } from "./use-network-visualizations-parameters-form.js";
18
+ import { NameElementEditorForm } from "../common/name-element-editor/name-element-editor-form.js";
19
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
20
+ import "yup";
21
+ import "../../overflowableText/OverflowableText.js";
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 "localized-countries";
29
+ import "localized-countries/data/fr";
30
+ import "localized-countries/data/en";
31
+ import "@react-querybuilder/material";
32
+ import "../../filter/expert/expertFilterConstants.js";
33
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
34
+ import "uuid";
35
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
36
+ import "react-querybuilder";
37
+ function NetworkVisualizationsParametersEditionDialog({
38
+ id,
39
+ open,
40
+ onClose,
41
+ titleId,
42
+ name,
43
+ description,
44
+ activeDirectory,
45
+ language,
46
+ user
47
+ }) {
48
+ const networkVisuMethods = useNetworkVisualizationParametersForm(id, null, null, name, description);
49
+ const {
50
+ formState: { errors, dirtyFields }
51
+ } = networkVisuMethods.formMethods;
52
+ const disableSave = Object.keys(errors).length > 0 || Object.keys(dirtyFields).length === 0;
53
+ return /* @__PURE__ */ jsx(
54
+ CustomMuiDialog,
55
+ {
56
+ open,
57
+ onClose,
58
+ onSave: networkVisuMethods.onSaveDialog,
59
+ formSchema: networkVisuMethods.formSchema,
60
+ formMethods: networkVisuMethods.formMethods,
61
+ titleId,
62
+ removeOptional: true,
63
+ language,
64
+ disabledSave: disableSave,
65
+ PaperProps: {
66
+ sx: {
67
+ height: "65vh"
68
+ // we want the dialog height to be fixed even when switching tabs
69
+ }
70
+ },
71
+ children: /* @__PURE__ */ jsx(
72
+ NetworkVisualizationParametersForm,
73
+ {
74
+ user,
75
+ networkVisuMethods,
76
+ renderTitleFields: () => {
77
+ return /* @__PURE__ */ jsx(
78
+ NameElementEditorForm,
79
+ {
80
+ initialElementName: name,
81
+ activeDirectory,
82
+ elementType: ElementType.NETWORK_VISUALIZATIONS_PARAMETERS
83
+ }
84
+ );
85
+ }
86
+ }
87
+ )
88
+ }
89
+ );
90
+ }
91
+ export {
92
+ NetworkVisualizationsParametersEditionDialog
93
+ };
@@ -0,0 +1,10 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { UUID } from 'crypto';
3
+ import { User } from 'oidc-client';
4
+ import { NetworkVisualizationParameters } from './network-visualizations.types';
5
+ export declare function NetworkVisualizationParametersInline({ studyUuid, setHaveDirtyFields, user, parameters, }: Readonly<{
6
+ studyUuid: UUID | null;
7
+ setHaveDirtyFields: Dispatch<SetStateAction<boolean>>;
8
+ user: User | null;
9
+ parameters: NetworkVisualizationParameters | null;
10
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,125 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState, useCallback, useEffect } from "react";
3
+ import { Box, Grid } from "@mui/material";
4
+ import { useIntl, FormattedMessage } from "react-intl";
5
+ import "../../../utils/types/equipmentType.js";
6
+ import { getNetworkVisualizationsParameters } from "../../../services/study-config.js";
7
+ import "localized-countries";
8
+ import "localized-countries/data/fr";
9
+ import "localized-countries/data/en";
10
+ import { useSnackMessage } from "../../../hooks/useSnackMessage.js";
11
+ import "@mui/icons-material";
12
+ import "react-hook-form";
13
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
14
+ import "yup";
15
+ import "../../overflowableText/OverflowableText.js";
16
+ import { DirectoryItemSelector } from "../../directoryItemSelector/DirectoryItemSelector.js";
17
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
18
+ import "../../customAGGrid/customAggrid.js";
19
+ import "ag-grid-community";
20
+ import "react-papaparse";
21
+ import "react-csv-downloader";
22
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
23
+ import "../../../utils/conversionUtils.js";
24
+ import { ElementType } from "../../../utils/types/elementType.js";
25
+ import "../../../utils/yupConfig.js";
26
+ import { SubmitButton } from "../../inputs/reactHookForm/utils/SubmitButton.js";
27
+ import "@react-querybuilder/material";
28
+ import "../../filter/expert/expertFilterConstants.js";
29
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
30
+ import "uuid";
31
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
32
+ import "react-querybuilder";
33
+ import { LabelledButton } from "../common/parameters.js";
34
+ import { CreateParameterDialog } from "../common/parameters-creation-dialog.js";
35
+ import "../common/widget/parameter-line-slider.js";
36
+ import "../common/limitreductions/columns-definitions.js";
37
+ import { NetworkVisualizationParametersForm } from "./network-visualizations-form.js";
38
+ import { useNetworkVisualizationParametersForm } from "./use-network-visualizations-parameters-form.js";
39
+ function NetworkVisualizationParametersInline({
40
+ studyUuid,
41
+ setHaveDirtyFields,
42
+ user,
43
+ parameters
44
+ }) {
45
+ const networkVisuMethods = useNetworkVisualizationParametersForm(null, studyUuid, parameters, null, null);
46
+ const intl = useIntl();
47
+ const [openCreateParameterDialog, setOpenCreateParameterDialog] = useState(false);
48
+ const [openSelectParameterDialog, setOpenSelectParameterDialog] = useState(false);
49
+ const { snackError } = useSnackMessage();
50
+ const { reset, getValues, formState, handleSubmit } = networkVisuMethods.formMethods;
51
+ const handleLoadParameters = useCallback(
52
+ (newParams) => {
53
+ if (newParams && newParams.length > 0) {
54
+ setOpenSelectParameterDialog(false);
55
+ getNetworkVisualizationsParameters(newParams[0].id).then((result) => {
56
+ reset(result, {
57
+ keepDefaultValues: true
58
+ });
59
+ }).catch((error) => {
60
+ console.error(error);
61
+ snackError({
62
+ messageTxt: error.message,
63
+ headerId: "paramsRetrievingError"
64
+ });
65
+ });
66
+ }
67
+ setOpenSelectParameterDialog(false);
68
+ },
69
+ [reset, snackError]
70
+ );
71
+ useEffect(() => {
72
+ setHaveDirtyFields(!!Object.keys(formState.dirtyFields).length);
73
+ }, [formState, setHaveDirtyFields]);
74
+ return /* @__PURE__ */ jsx(
75
+ NetworkVisualizationParametersForm,
76
+ {
77
+ user,
78
+ networkVisuMethods,
79
+ renderActions: () => {
80
+ return /* @__PURE__ */ jsxs(Box, { children: [
81
+ /* @__PURE__ */ jsxs(Grid, { container: true, item: true, children: [
82
+ /* @__PURE__ */ jsx(
83
+ LabelledButton,
84
+ {
85
+ callback: () => setOpenSelectParameterDialog(true),
86
+ label: "settings.button.chooseSettings"
87
+ }
88
+ ),
89
+ /* @__PURE__ */ jsx(LabelledButton, { callback: () => setOpenCreateParameterDialog(true), label: "save" }),
90
+ /* @__PURE__ */ jsx(SubmitButton, { onClick: handleSubmit(networkVisuMethods.onSaveInline), variant: "outlined", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "validate" }) })
91
+ ] }),
92
+ openCreateParameterDialog && /* @__PURE__ */ jsx(
93
+ CreateParameterDialog,
94
+ {
95
+ studyUuid,
96
+ open: openCreateParameterDialog,
97
+ onClose: () => setOpenCreateParameterDialog(false),
98
+ parameterValues: () => getValues(),
99
+ parameterFormatter: (newParams) => newParams,
100
+ parameterType: ElementType.NETWORK_VISUALIZATIONS_PARAMETERS
101
+ }
102
+ ),
103
+ openSelectParameterDialog && /* @__PURE__ */ jsx(
104
+ DirectoryItemSelector,
105
+ {
106
+ open: openSelectParameterDialog,
107
+ onClose: handleLoadParameters,
108
+ types: [ElementType.NETWORK_VISUALIZATIONS_PARAMETERS],
109
+ title: intl.formatMessage({
110
+ id: "showSelectParameterDialog"
111
+ }),
112
+ multiSelect: false,
113
+ validationButtonText: intl.formatMessage({
114
+ id: "validate"
115
+ })
116
+ }
117
+ )
118
+ ] });
119
+ }
120
+ }
121
+ );
122
+ }
123
+ export {
124
+ NetworkVisualizationParametersInline
125
+ };