@gridsuite/commons-ui 0.45.0 → 0.47.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.
- package/README.md +0 -17
- package/dist/components/AuthenticationRouter/AuthenticationRouter.js +147 -0
- package/dist/components/CardErrorBoundary/card-error-boundary.js +110 -0
- package/dist/components/ElementSearchDialog/element-search-dialog.js +139 -0
- package/dist/components/ElementSearchDialog/equipment-item.js +77 -0
- package/dist/components/ElementSearchDialog/tag-renderer.js +34 -0
- package/dist/components/FlatParameters/FlatParameters.js +411 -0
- package/dist/components/Login/Login.js +78 -0
- package/dist/components/Login/Logout.js +69 -0
- package/dist/components/MuiVirtualizedTable/ColumnHeader.js +127 -0
- package/dist/components/MuiVirtualizedTable/KeyedColumnsRowIndexer.js +548 -0
- package/dist/components/MuiVirtualizedTable/MuiVirtualizedTable.js +790 -0
- package/dist/components/MultipleSelectionDialog/MultipleSelectionDialog.js +87 -0
- package/dist/components/OverflowableText/overflowable-text.js +87 -0
- package/dist/components/ReportViewer/filter-button.js +64 -0
- package/dist/components/ReportViewer/log-report-item.js +95 -0
- package/dist/components/ReportViewer/log-report.js +49 -0
- package/dist/components/ReportViewer/log-table.js +131 -0
- package/dist/components/ReportViewer/multi-select-list.js +40 -0
- package/dist/components/ReportViewer/report-item.js +112 -0
- package/dist/components/ReportViewer/report-tree-view-context.js +8 -0
- package/dist/components/ReportViewer/report-viewer.js +158 -0
- package/dist/components/ReportViewerDialog/report-viewer-dialog.js +61 -0
- package/dist/components/SignInCallbackHandler/SignInCallbackHandler.js +13 -0
- package/dist/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.js +16 -0
- package/dist/components/SnackbarProvider/SnackbarProvider.js +28 -0
- package/dist/components/TopBar/AboutDialog.js +467 -0
- package/dist/components/TopBar/GridLogo.js +71 -0
- package/dist/components/TopBar/TopBar.js +679 -0
- package/dist/components/TreeViewFinder/TreeViewFinder.js +288 -0
- package/dist/components/react-hook-form/autocomplete-input.js +96 -0
- package/dist/components/react-hook-form/booleans/boolean-input.js +49 -0
- package/dist/components/react-hook-form/booleans/checkbox-input.js +24 -0
- package/dist/components/react-hook-form/booleans/switch-input.js +24 -0
- package/dist/components/react-hook-form/error-management/error-input.js +42 -0
- package/dist/components/react-hook-form/error-management/field-error-alert.js +9 -0
- package/dist/components/react-hook-form/error-management/mid-form-error.js +20 -0
- package/dist/components/react-hook-form/numbers/float-input.js +51 -0
- package/dist/components/react-hook-form/numbers/integer-input.js +36 -0
- package/dist/components/react-hook-form/numbers/utils.js +10 -0
- package/dist/components/react-hook-form/radio-input.js +44 -0
- package/dist/components/react-hook-form/select-input.js +31 -0
- package/dist/components/react-hook-form/slider-input.js +43 -0
- package/dist/components/react-hook-form/text-input.js +94 -0
- package/dist/components/react-hook-form/utils/cancel-button.js +16 -0
- package/dist/components/react-hook-form/utils/field-label.js +12 -0
- package/dist/components/react-hook-form/utils/functions.js +36 -0
- package/dist/components/react-hook-form/utils/submit-button.js +23 -0
- package/dist/components/react-hook-form/utils/text-field-with-adornment.js +96 -0
- package/dist/components/translations/card-error-boundary-en.js +8 -0
- package/dist/components/translations/card-error-boundary-fr.js +8 -0
- package/dist/components/translations/common-button-en.js +7 -0
- package/dist/components/translations/common-button-fr.js +7 -0
- package/dist/components/translations/element-search-en.js +7 -0
- package/dist/components/translations/element-search-fr.js +7 -0
- package/dist/components/translations/equipment-search-en.js +21 -0
- package/dist/components/translations/equipment-search-fr.js +21 -0
- package/dist/components/translations/flat-parameters-en.js +8 -0
- package/dist/components/translations/flat-parameters-fr.js +8 -0
- package/dist/components/translations/login-en.js +14 -0
- package/dist/components/translations/login-fr.js +14 -0
- package/dist/components/translations/multiple-selection-dialog-en.js +8 -0
- package/dist/components/translations/multiple-selection-dialog-fr.js +8 -0
- package/dist/components/translations/report-viewer-en.js +8 -0
- package/dist/components/translations/report-viewer-fr.js +8 -0
- package/dist/components/translations/table-en.js +6 -0
- package/dist/components/translations/table-fr.js +6 -0
- package/dist/components/translations/top-bar-en.js +27 -0
- package/dist/components/translations/top-bar-fr.js +27 -0
- package/dist/components/translations/treeview-finder-en.js +12 -0
- package/dist/components/translations/treeview-finder-fr.js +12 -0
- package/dist/hooks/useDebounce.js +17 -0
- package/{es/components/ElementSearchDialog/index.js → dist/hooks/useIntlRef.d.ts} +2 -2
- package/dist/hooks/useIntlRef.js +13 -0
- package/dist/hooks/useSnackMessage.js +81 -0
- package/dist/index.d.ts +225 -0
- package/dist/index.js +154 -0
- package/dist/utils/AuthService.js +336 -0
- package/dist/utils/ElementType.js +38 -0
- package/dist/utils/EquipmentType.js +132 -0
- package/dist/utils/UserManagerMock.js +85 -0
- package/dist/utils/actions.js +71 -0
- package/dist/utils/algos.js +24 -0
- package/dist/utils/styles.js +13 -0
- package/package.json +36 -21
- package/es/components/AuthenticationRouter/AuthenticationRouter.js +0 -102
- package/es/components/AuthenticationRouter/index.js +0 -7
- package/es/components/CardErrorBoundary/card-error-boundary.js +0 -138
- package/es/components/CardErrorBoundary/index.js +0 -7
- package/es/components/ElementSearchDialog/element-search-dialog.js +0 -153
- package/es/components/ElementSearchDialog/equipment-item.js +0 -63
- package/es/components/ElementSearchDialog/tag-renderer.js +0 -29
- package/es/components/FlatParameters/FlatParameters.js +0 -448
- package/es/components/FlatParameters/index.js +0 -8
- package/es/components/Login/Login.js +0 -79
- package/es/components/Login/Logout.js +0 -78
- package/es/components/Login/index.js +0 -7
- package/es/components/MuiVirtualizedTable/ColumnHeader.js +0 -125
- package/es/components/MuiVirtualizedTable/KeyedColumnsRowIndexer.js +0 -619
- package/es/components/MuiVirtualizedTable/MuiVirtualizedTable.js +0 -780
- package/es/components/MuiVirtualizedTable/index.js +0 -9
- package/es/components/MultipleSelectionDialog/MultipleSelectionDialog.js +0 -95
- package/es/components/MultipleSelectionDialog/index.js +0 -8
- package/es/components/OverflowableText/index.js +0 -7
- package/es/components/OverflowableText/overflowable-text.js +0 -81
- package/es/components/ReportViewer/filter-button.js +0 -77
- package/es/components/ReportViewer/index.js +0 -7
- package/es/components/ReportViewer/log-report-item.js +0 -97
- package/es/components/ReportViewer/log-report.js +0 -63
- package/es/components/ReportViewer/log-table.js +0 -130
- package/es/components/ReportViewer/multi-select-list.js +0 -56
- package/es/components/ReportViewer/report-item.js +0 -131
- package/es/components/ReportViewer/report-tree-view-context.js +0 -13
- package/es/components/ReportViewer/report-viewer.js +0 -167
- package/es/components/ReportViewerDialog/index.js +0 -7
- package/es/components/ReportViewerDialog/report-viewer-dialog.js +0 -67
- package/es/components/SignInCallbackHandler/SignInCallbackHandler.js +0 -19
- package/es/components/SignInCallbackHandler/index.js +0 -7
- package/es/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.js +0 -19
- package/es/components/SilentRenewCallbackHandler/index.js +0 -7
- package/es/components/SnackbarProvider/SnackbarProvider.js +0 -39
- package/es/components/SnackbarProvider/index.js +0 -7
- package/es/components/TopBar/AboutDialog.js +0 -456
- package/es/components/TopBar/GridLogo.js +0 -73
- package/es/components/TopBar/TopBar.js +0 -487
- package/es/components/TopBar/index.js +0 -9
- package/es/components/TreeViewFinder/TreeViewFinder.js +0 -341
- package/es/components/TreeViewFinder/index.js +0 -7
- package/es/components/images/powsybl_logo.svg +0 -35
- package/es/components/react-hook-form/autocomplete-input.js +0 -110
- package/es/components/react-hook-form/booleans/boolean-input.js +0 -56
- package/es/components/react-hook-form/booleans/checkbox-input.js +0 -28
- package/es/components/react-hook-form/booleans/switch-input.js +0 -28
- package/es/components/react-hook-form/error-management/error-input.js +0 -50
- package/es/components/react-hook-form/error-management/field-error-alert.js +0 -22
- package/es/components/react-hook-form/error-management/mid-form-error.js +0 -25
- package/es/components/react-hook-form/numbers/float-input.js +0 -105
- package/es/components/react-hook-form/numbers/integer-input.js +0 -35
- package/es/components/react-hook-form/numbers/utils.js +0 -6
- package/es/components/react-hook-form/radio-input.js +0 -55
- package/es/components/react-hook-form/select-input.js +0 -40
- package/es/components/react-hook-form/slider-input.js +0 -48
- package/es/components/react-hook-form/text-input.js +0 -100
- package/es/components/react-hook-form/utils/cancel-button.js +0 -28
- package/es/components/react-hook-form/utils/field-label.js +0 -15
- package/es/components/react-hook-form/utils/functions.js +0 -42
- package/es/components/react-hook-form/utils/submit-button.js +0 -29
- package/es/components/react-hook-form/utils/text-field-with-adornment.js +0 -92
- package/es/components/translations/card-error-boundary-en.js +0 -13
- package/es/components/translations/card-error-boundary-fr.js +0 -13
- package/es/components/translations/common-button-en.js +0 -12
- package/es/components/translations/common-button-fr.js +0 -12
- package/es/components/translations/element-search-en.js +0 -12
- package/es/components/translations/element-search-fr.js +0 -12
- package/es/components/translations/equipment-search-en.js +0 -26
- package/es/components/translations/equipment-search-fr.js +0 -26
- package/es/components/translations/flat-parameters-en.js +0 -13
- package/es/components/translations/flat-parameters-fr.js +0 -13
- package/es/components/translations/inputs-en.js +0 -25
- package/es/components/translations/inputs-fr.js +0 -25
- package/es/components/translations/login-en.js +0 -19
- package/es/components/translations/login-fr.js +0 -19
- package/es/components/translations/multiple-selection-dialog-en.js +0 -13
- package/es/components/translations/multiple-selection-dialog-fr.js +0 -13
- package/es/components/translations/report-viewer-en.js +0 -13
- package/es/components/translations/report-viewer-fr.js +0 -13
- package/es/components/translations/table-en.js +0 -11
- package/es/components/translations/table-fr.js +0 -11
- package/es/components/translations/top-bar-en.js +0 -32
- package/es/components/translations/top-bar-fr.js +0 -32
- package/es/components/translations/treeview-finder-en.js +0 -17
- package/es/components/translations/treeview-finder-fr.js +0 -17
- package/es/hooks/useDebounce.js +0 -26
- package/es/hooks/useIntlRef.js +0 -22
- package/es/hooks/useSnackMessage.js +0 -81
- package/es/index.js +0 -71
- package/es/utils/AuthService.js +0 -312
- package/es/utils/ElementType.js +0 -49
- package/es/utils/EquipmentType.js +0 -133
- package/es/utils/UserManagerMock.js +0 -81
- package/es/utils/actions.js +0 -65
- package/es/utils/algos.js +0 -29
- package/es/utils/styles.js +0 -35
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import AutocompleteInput from "./autocomplete-input.js";
|
|
5
|
+
import { useIntl } from "react-intl";
|
|
6
|
+
const SelectInput = (props) => {
|
|
7
|
+
const intl = useIntl();
|
|
8
|
+
const inputTransform = (value) => props.options.find((option) => (option == null ? void 0 : option.id) === value) || null;
|
|
9
|
+
const outputTransform = (value) => {
|
|
10
|
+
return (value == null ? void 0 : value.id) ?? null;
|
|
11
|
+
};
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
AutocompleteInput,
|
|
14
|
+
{
|
|
15
|
+
getOptionLabel: (option) => {
|
|
16
|
+
return (option == null ? void 0 : option.label) ? intl.formatMessage({ id: option == null ? void 0 : option.label }) : option == null ? void 0 : option.id;
|
|
17
|
+
},
|
|
18
|
+
inputTransform,
|
|
19
|
+
outputTransform,
|
|
20
|
+
readOnly: true,
|
|
21
|
+
...props
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
};
|
|
25
|
+
SelectInput.propTypes = {
|
|
26
|
+
options: PropTypes.array.isRequired,
|
|
27
|
+
...AutocompleteInput.propTypes
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
SelectInput as default
|
|
31
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import { Slider } from "@mui/material";
|
|
5
|
+
import { useController } from "react-hook-form";
|
|
6
|
+
import { identity } from "./utils/functions.js";
|
|
7
|
+
const SliderInput = ({
|
|
8
|
+
name,
|
|
9
|
+
min,
|
|
10
|
+
max,
|
|
11
|
+
step,
|
|
12
|
+
size = "small",
|
|
13
|
+
onValueChange = identity
|
|
14
|
+
}) => {
|
|
15
|
+
const {
|
|
16
|
+
field: { onChange, value }
|
|
17
|
+
} = useController({ name });
|
|
18
|
+
const handleValueChange = (e) => {
|
|
19
|
+
onChange(onValueChange(e.target.value));
|
|
20
|
+
};
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
Slider,
|
|
23
|
+
{
|
|
24
|
+
size,
|
|
25
|
+
min,
|
|
26
|
+
max,
|
|
27
|
+
step,
|
|
28
|
+
value,
|
|
29
|
+
onChange: handleValueChange
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
};
|
|
33
|
+
SliderInput.propTypes = {
|
|
34
|
+
name: PropTypes.string.isRequired,
|
|
35
|
+
min: PropTypes.number.isRequired,
|
|
36
|
+
max: PropTypes.number.isRequired,
|
|
37
|
+
step: PropTypes.number.isRequired,
|
|
38
|
+
size: PropTypes.string,
|
|
39
|
+
onValueChange: PropTypes.func
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
SliderInput as default
|
|
43
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import { InputAdornment, IconButton, TextField } from "@mui/material";
|
|
5
|
+
import { Clear } from "@mui/icons-material";
|
|
6
|
+
import { useFormContext, useController } from "react-hook-form";
|
|
7
|
+
import TextFieldWithAdornment from "./utils/text-field-with-adornment.js";
|
|
8
|
+
import FieldLabel from "./utils/field-label.js";
|
|
9
|
+
import { isFieldRequired, genHelperPreviousValue, genHelperError, identity } from "./utils/functions.js";
|
|
10
|
+
const TextInput = ({
|
|
11
|
+
name,
|
|
12
|
+
label,
|
|
13
|
+
labelValues,
|
|
14
|
+
// this prop is used to add a value to label. this value is displayed without being translated
|
|
15
|
+
id,
|
|
16
|
+
adornment,
|
|
17
|
+
customAdornment,
|
|
18
|
+
outputTransform = identity,
|
|
19
|
+
//transform materialUi input value before sending it to react hook form, mostly used to deal with number fields
|
|
20
|
+
inputTransform = identity,
|
|
21
|
+
//transform react hook form value before sending it to materialUi input, mostly used to deal with number fields
|
|
22
|
+
acceptValue = () => true,
|
|
23
|
+
//used to check user entry before committing the input change, used mostly to prevent user from typing a character in number field
|
|
24
|
+
previousValue,
|
|
25
|
+
clearable,
|
|
26
|
+
formProps
|
|
27
|
+
}) => {
|
|
28
|
+
const { validationSchema, getValues, removeOptional } = useFormContext();
|
|
29
|
+
const {
|
|
30
|
+
field: { onChange, value, ref },
|
|
31
|
+
fieldState: { error }
|
|
32
|
+
} = useController({ name });
|
|
33
|
+
const Field = adornment ? TextFieldWithAdornment : TextField;
|
|
34
|
+
const handleClearValue = () => {
|
|
35
|
+
onChange(outputTransform(""));
|
|
36
|
+
};
|
|
37
|
+
const handleValueChanged = (e) => {
|
|
38
|
+
if (acceptValue(e.target.value)) {
|
|
39
|
+
onChange(outputTransform(e.target.value));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const transformedValue = inputTransform(value);
|
|
43
|
+
const fieldLabel = !label ? null : FieldLabel({
|
|
44
|
+
label,
|
|
45
|
+
values: labelValues,
|
|
46
|
+
optional: !isFieldRequired(name, validationSchema, getValues()) && !(formProps == null ? void 0 : formProps.disabled) && !removeOptional
|
|
47
|
+
});
|
|
48
|
+
return /* @__PURE__ */ jsx(
|
|
49
|
+
Field,
|
|
50
|
+
{
|
|
51
|
+
size: "small",
|
|
52
|
+
fullWidth: true,
|
|
53
|
+
id: id ? id : label,
|
|
54
|
+
label: fieldLabel,
|
|
55
|
+
...adornment && {
|
|
56
|
+
adornmentPosition: adornment.position,
|
|
57
|
+
adornmentText: adornment == null ? void 0 : adornment.text
|
|
58
|
+
},
|
|
59
|
+
value: transformedValue,
|
|
60
|
+
onChange: handleValueChanged,
|
|
61
|
+
InputProps: {
|
|
62
|
+
endAdornment: /* @__PURE__ */ jsxs(InputAdornment, { position: "end", children: [
|
|
63
|
+
clearable && transformedValue !== void 0 && transformedValue !== "" && /* @__PURE__ */ jsx(IconButton, { onClick: handleClearValue, children: /* @__PURE__ */ jsx(Clear, {}) }),
|
|
64
|
+
customAdornment && { ...customAdornment }
|
|
65
|
+
] })
|
|
66
|
+
},
|
|
67
|
+
inputRef: ref,
|
|
68
|
+
...clearable && adornment && {
|
|
69
|
+
handleClearValue
|
|
70
|
+
},
|
|
71
|
+
...genHelperPreviousValue(previousValue, adornment),
|
|
72
|
+
...genHelperError(error == null ? void 0 : error.message),
|
|
73
|
+
...formProps
|
|
74
|
+
},
|
|
75
|
+
id ? id : label
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
TextInput.propTypes = {
|
|
79
|
+
name: PropTypes.string,
|
|
80
|
+
label: PropTypes.string,
|
|
81
|
+
labelValues: PropTypes.object,
|
|
82
|
+
id: PropTypes.string,
|
|
83
|
+
adornment: PropTypes.object,
|
|
84
|
+
customAdornment: PropTypes.object,
|
|
85
|
+
outputTransform: PropTypes.func,
|
|
86
|
+
inputTransform: PropTypes.func,
|
|
87
|
+
acceptValue: PropTypes.func,
|
|
88
|
+
previousValue: PropTypes.any,
|
|
89
|
+
clearable: PropTypes.bool,
|
|
90
|
+
formProps: PropTypes.object
|
|
91
|
+
};
|
|
92
|
+
export {
|
|
93
|
+
TextInput as default
|
|
94
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Button } from "@mui/material";
|
|
4
|
+
import { FormattedMessage } from "react-intl";
|
|
5
|
+
import PropTypes from "prop-types";
|
|
6
|
+
import { useThemeProps } from "@mui/material/styles";
|
|
7
|
+
const CancelButton = ({ ...inProps }) => {
|
|
8
|
+
const props = useThemeProps({ props: inProps, name: "CancelButton" });
|
|
9
|
+
return /* @__PURE__ */ jsx(Button, { ...props, children: /* @__PURE__ */ jsx(FormattedMessage, { id: "cancel" }) });
|
|
10
|
+
};
|
|
11
|
+
CancelButton.propTypes = {
|
|
12
|
+
buttonProps: PropTypes.object
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
CancelButton as default
|
|
16
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { FormattedMessage } from "react-intl";
|
|
4
|
+
const FieldLabel = ({ label, optional, values = void 0 }) => {
|
|
5
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6
|
+
/* @__PURE__ */ jsx(FormattedMessage, { id: label, values }),
|
|
7
|
+
optional && /* @__PURE__ */ jsx(FormattedMessage, { id: "Optional" })
|
|
8
|
+
] });
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
FieldLabel as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { FormattedMessage } from "react-intl";
|
|
4
|
+
import { getIn } from "yup";
|
|
5
|
+
function genHelperPreviousValue(previousValue, adornment) {
|
|
6
|
+
return {
|
|
7
|
+
...(previousValue || previousValue === 0) && {
|
|
8
|
+
error: false,
|
|
9
|
+
helperText: previousValue + (adornment ? " " + (adornment == null ? void 0 : adornment.text) : "")
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function genHelperError(...errors) {
|
|
14
|
+
const inError = errors.find((e) => e);
|
|
15
|
+
if (inError) {
|
|
16
|
+
return {
|
|
17
|
+
error: true,
|
|
18
|
+
helperText: /* @__PURE__ */ jsx(FormattedMessage, { id: inError })
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
function identity(x) {
|
|
24
|
+
return x;
|
|
25
|
+
}
|
|
26
|
+
const isFieldRequired = (fieldName, schema, values) => {
|
|
27
|
+
var _a;
|
|
28
|
+
const { schema: fieldSchema, parent: parentValues } = getIn(schema, fieldName, values) || {};
|
|
29
|
+
return ((_a = fieldSchema.describe({ parent: parentValues })) == null ? void 0 : _a.optional) === false;
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
genHelperError,
|
|
33
|
+
genHelperPreviousValue,
|
|
34
|
+
identity,
|
|
35
|
+
isFieldRequired
|
|
36
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Button } from "@mui/material";
|
|
4
|
+
import { useFormState } from "react-hook-form";
|
|
5
|
+
import { FormattedMessage } from "react-intl";
|
|
6
|
+
import PropTypes from "prop-types";
|
|
7
|
+
const SubmitButton = ({ ...buttonProps }) => {
|
|
8
|
+
const { isDirty } = useFormState();
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Button,
|
|
11
|
+
{
|
|
12
|
+
...buttonProps,
|
|
13
|
+
disabled: !isDirty || ((buttonProps == null ? void 0 : buttonProps.disabled) ?? false),
|
|
14
|
+
children: /* @__PURE__ */ jsx(FormattedMessage, { id: "validate" })
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
SubmitButton.propTypes = {
|
|
19
|
+
buttonProps: PropTypes.object
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
SubmitButton as default
|
|
23
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback } from "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import { Clear } from "@mui/icons-material";
|
|
5
|
+
import { InputAdornment, IconButton, TextField } from "@mui/material";
|
|
6
|
+
const TextFieldWithAdornment = (props) => {
|
|
7
|
+
const {
|
|
8
|
+
adornmentPosition,
|
|
9
|
+
adornmentText,
|
|
10
|
+
value,
|
|
11
|
+
variant,
|
|
12
|
+
handleClearValue,
|
|
13
|
+
...otherProps
|
|
14
|
+
} = props;
|
|
15
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
16
|
+
const getAdornmentStyle = useCallback((variant2) => {
|
|
17
|
+
if (variant2 === "filled") {
|
|
18
|
+
return {
|
|
19
|
+
alignItems: "start",
|
|
20
|
+
marginBottom: "0.4em"
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (variant2 === "standard") {
|
|
24
|
+
return {
|
|
25
|
+
marginBottom: "0.3em"
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return void 0;
|
|
29
|
+
}, []);
|
|
30
|
+
const getClearAdornment = useCallback(
|
|
31
|
+
(position) => {
|
|
32
|
+
return /* @__PURE__ */ jsx(InputAdornment, { position, children: /* @__PURE__ */ jsx(IconButton, { onClick: handleClearValue, children: /* @__PURE__ */ jsx(Clear, {}) }) });
|
|
33
|
+
},
|
|
34
|
+
[handleClearValue]
|
|
35
|
+
);
|
|
36
|
+
const getTextAdornment = useCallback(
|
|
37
|
+
(position) => {
|
|
38
|
+
return /* @__PURE__ */ jsx(
|
|
39
|
+
InputAdornment,
|
|
40
|
+
{
|
|
41
|
+
position,
|
|
42
|
+
sx: getAdornmentStyle(variant),
|
|
43
|
+
children: adornmentText
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
},
|
|
47
|
+
[adornmentText, getAdornmentStyle, variant]
|
|
48
|
+
);
|
|
49
|
+
const withEndAdornmentText = useCallback(() => {
|
|
50
|
+
return value !== "" || isFocused ? {
|
|
51
|
+
startAdornment: value && handleClearValue ? getClearAdornment("start") : void 0,
|
|
52
|
+
endAdornment: getTextAdornment("end"),
|
|
53
|
+
sx: { textAlign: "end" }
|
|
54
|
+
} : void 0;
|
|
55
|
+
}, [
|
|
56
|
+
value,
|
|
57
|
+
handleClearValue,
|
|
58
|
+
getClearAdornment,
|
|
59
|
+
isFocused,
|
|
60
|
+
getTextAdornment
|
|
61
|
+
]);
|
|
62
|
+
const withStartAdornmentText = useCallback(() => {
|
|
63
|
+
return value !== "" || isFocused ? {
|
|
64
|
+
startAdornment: getTextAdornment("start"),
|
|
65
|
+
endAdornment: value && handleClearValue && getClearAdornment("end"),
|
|
66
|
+
sx: { textAlign: "start" }
|
|
67
|
+
} : void 0;
|
|
68
|
+
}, [
|
|
69
|
+
value,
|
|
70
|
+
handleClearValue,
|
|
71
|
+
getClearAdornment,
|
|
72
|
+
isFocused,
|
|
73
|
+
getTextAdornment
|
|
74
|
+
]);
|
|
75
|
+
return /* @__PURE__ */ jsx(
|
|
76
|
+
TextField,
|
|
77
|
+
{
|
|
78
|
+
...otherProps,
|
|
79
|
+
variant,
|
|
80
|
+
value,
|
|
81
|
+
InputProps: adornmentPosition === "start" ? withStartAdornmentText() : withEndAdornmentText(),
|
|
82
|
+
onFocus: (e) => setIsFocused(true),
|
|
83
|
+
onBlur: (e) => setIsFocused(false)
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
};
|
|
87
|
+
TextFieldWithAdornment.propTypes = {
|
|
88
|
+
adornmentPosition: PropTypes.string.isRequired,
|
|
89
|
+
adornmentText: PropTypes.string.isRequired,
|
|
90
|
+
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
91
|
+
variant: PropTypes.string,
|
|
92
|
+
handleClearValue: PropTypes.func
|
|
93
|
+
};
|
|
94
|
+
export {
|
|
95
|
+
TextFieldWithAdornment as default
|
|
96
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const card_error_boundary_en = {
|
|
2
|
+
"card_error_boundary/title": "Sorry, unexpected error :(",
|
|
3
|
+
"card_error_boundary/content": "Please reload, or close and reopen this application, or contact support.",
|
|
4
|
+
"card_error_boundary/expandederrorheader": "Error message (and see more information in the developper console):"
|
|
5
|
+
};
|
|
6
|
+
export {
|
|
7
|
+
card_error_boundary_en as default
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const card_error_boundary_fr = {
|
|
2
|
+
"card_error_boundary/title": "Désolé, erreur inattendue :(",
|
|
3
|
+
"card_error_boundary/content": "Veuillez recharger, ou fermer et réouvrir cette application, ou contacter le support.",
|
|
4
|
+
"card_error_boundary/expandederrorheader": "Message d'erreur (et voir plus d'informations dans la console developpeur):"
|
|
5
|
+
};
|
|
6
|
+
export {
|
|
7
|
+
card_error_boundary_fr as default
|
|
8
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const equipment_search_en = {
|
|
2
|
+
"equipment_search/label": "Search for an equipment",
|
|
3
|
+
"equipment_search/switchTag": "SWITCH",
|
|
4
|
+
"equipment_search/busbarSectionTag": "BBS",
|
|
5
|
+
"equipment_search/lineTag": "LINE",
|
|
6
|
+
"equipment_search/2wtTag": "2W TRANSFO",
|
|
7
|
+
"equipment_search/3wtTag": "3W TRANSFO",
|
|
8
|
+
"equipment_search/generatorTag": "GENERATOR",
|
|
9
|
+
"equipment_search/batteryTag": "BATTERY",
|
|
10
|
+
"equipment_search/loadTag": "LOAD",
|
|
11
|
+
"equipment_search/shuntTag": "SHUNT",
|
|
12
|
+
"equipment_search/svcTag": "SVC",
|
|
13
|
+
"equipment_search/hvdcLineTag": "HVDC LINE",
|
|
14
|
+
"equipment_search/hvdcStationTag": "HVDC STATION",
|
|
15
|
+
"equipment_search/voltageLevelTag": "VOLTAGE LEVEL",
|
|
16
|
+
"equipment_search/substationTag": "SUBSTATION",
|
|
17
|
+
"equipment_search/busTag": "BUS"
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
equipment_search_en as default
|
|
21
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const equipment_search_fr = {
|
|
2
|
+
"equipment_search/label": "Rechercher un ouvrage",
|
|
3
|
+
"equipment_search/switchTag": "SWITCH",
|
|
4
|
+
"equipment_search/busbarSectionTag": "SJB",
|
|
5
|
+
"equipment_search/lineTag": "LIGNE",
|
|
6
|
+
"equipment_search/2wtTag": "TRANSFO 2E",
|
|
7
|
+
"equipment_search/3wtTag": "TRANSFO 3E",
|
|
8
|
+
"equipment_search/generatorTag": "GROUPE",
|
|
9
|
+
"equipment_search/batteryTag": "BATTERIE",
|
|
10
|
+
"equipment_search/loadTag": "CONSO",
|
|
11
|
+
"equipment_search/shuntTag": "MCS",
|
|
12
|
+
"equipment_search/svcTag": "CSPR",
|
|
13
|
+
"equipment_search/hvdcLineTag": "LIGNE HVDC",
|
|
14
|
+
"equipment_search/hvdcStationTag": "STATION HVDC",
|
|
15
|
+
"equipment_search/voltageLevelTag": "POSTE",
|
|
16
|
+
"equipment_search/substationTag": "SITE",
|
|
17
|
+
"equipment_search/busTag": "NOEUD"
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
equipment_search_fr as default
|
|
21
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const login_en = {
|
|
2
|
+
"login/login": "Login",
|
|
3
|
+
"login/connection": "Connection",
|
|
4
|
+
"login/unauthorizedAccess": "Unauthorized access",
|
|
5
|
+
"login/unauthorizedAccessMessage": "The user {userName} isn't granted yet",
|
|
6
|
+
"login/errorInUserValidation": "Error during user validation",
|
|
7
|
+
"login/errorInUserValidationMessage": "An unexpected error occured during user validation for {userName}.",
|
|
8
|
+
"login/errorInLogout": "Error during user logout",
|
|
9
|
+
"login/errorInLogoutMessage": "An unexpected error occured during user logout for {userName}.",
|
|
10
|
+
"login/logout": "Logout"
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
login_en as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const login_fr = {
|
|
2
|
+
"login/login": "Se connecter",
|
|
3
|
+
"login/connection": "Connexion",
|
|
4
|
+
"login/unauthorizedAccess": "Accès non autorisé",
|
|
5
|
+
"login/unauthorizedAccessMessage": "L'utilisateur {userName} n'a pas encore accès à GridSuite",
|
|
6
|
+
"login/errorInUserValidation": "Erreur lors de la validation de l'utilisateur",
|
|
7
|
+
"login/errorInUserValidationMessage": "Une erreur s'est produite pendant la validation de l'utilisateur {userName}.",
|
|
8
|
+
"login/errorInLogout": "Erreur lors de la déconnexion de l'utilisateur",
|
|
9
|
+
"login/errorInLogoutMessage": "Une erreur s'est produite pendant la déconnexion de l'utilisateur {userName}.",
|
|
10
|
+
"login/logout": "Se déconnecter"
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
login_fr as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const top_bar_en = {
|
|
2
|
+
"top-bar/settings": "Settings",
|
|
3
|
+
"top-bar/logout": "Logout",
|
|
4
|
+
"top-bar/goFullScreen": "Full screen",
|
|
5
|
+
"top-bar/exitFullScreen": "Exit full screen mode",
|
|
6
|
+
"top-bar/about": "About",
|
|
7
|
+
"top-bar/displayMode": "Display mode",
|
|
8
|
+
"top-bar/equipmentLabel": "Equipment label",
|
|
9
|
+
"top-bar/id": "Id",
|
|
10
|
+
"top-bar/name": "Name",
|
|
11
|
+
"top-bar/language": "Language",
|
|
12
|
+
"top-bar/customTheme": "Custom theme",
|
|
13
|
+
"about-dialog/title": "About",
|
|
14
|
+
"about-dialog/version": "Version {version}",
|
|
15
|
+
"about-dialog/alert-running-old-version-msg": "Running old version.\nSave your work and refresh the application to load the latest version.",
|
|
16
|
+
"about-dialog/license": "License",
|
|
17
|
+
"about-dialog/modules-section": "Modules details",
|
|
18
|
+
"about-dialog/label-version": "Version",
|
|
19
|
+
"about-dialog/label-git-version": "Tag",
|
|
20
|
+
"about-dialog/label-type": "Type",
|
|
21
|
+
"about-dialog/module-tooltip-app": "application",
|
|
22
|
+
"about-dialog/module-tooltip-server": "server",
|
|
23
|
+
"about-dialog/module-tooltip-other": "other"
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
top_bar_en as default
|
|
27
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const top_bar_fr = {
|
|
2
|
+
"top-bar/settings": "Paramètres",
|
|
3
|
+
"top-bar/logout": "Se déconnecter",
|
|
4
|
+
"top-bar/goFullScreen": "Plein écran",
|
|
5
|
+
"top-bar/exitFullScreen": "Quitter mode plein écran",
|
|
6
|
+
"top-bar/about": "À propos",
|
|
7
|
+
"top-bar/displayMode": "Mode d'affichage",
|
|
8
|
+
"top-bar/equipmentLabel": "Label des ouvrages",
|
|
9
|
+
"top-bar/id": "Id",
|
|
10
|
+
"top-bar/name": "Nom",
|
|
11
|
+
"top-bar/language": "Langue",
|
|
12
|
+
"top-bar/customTheme": "Choix de theme",
|
|
13
|
+
"about-dialog/title": "À propos",
|
|
14
|
+
"about-dialog/version": "Version {version}",
|
|
15
|
+
"about-dialog/alert-running-old-version-msg": "Ancienne version de l'application.\nVeuillez sauvegarder votre travail et rafraîchir l'application pour charger la dernière version",
|
|
16
|
+
"about-dialog/license": "Licence",
|
|
17
|
+
"about-dialog/modules-section": "Détails des modules",
|
|
18
|
+
"about-dialog/label-version": "Version",
|
|
19
|
+
"about-dialog/label-git-version": "Tag",
|
|
20
|
+
"about-dialog/label-type": "Type",
|
|
21
|
+
"about-dialog/module-tooltip-app": "application",
|
|
22
|
+
"about-dialog/module-tooltip-server": "serveur",
|
|
23
|
+
"about-dialog/module-tooltip-other": "autre"
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
top_bar_fr as default
|
|
27
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const treeview_finder_en = {
|
|
2
|
+
"treeview_finder/close": "Close",
|
|
3
|
+
"treeview_finder/validate": "Validate",
|
|
4
|
+
"treeview_finder/add": "Add...",
|
|
5
|
+
"treeview_finder/deleteSelection": "Delete selection",
|
|
6
|
+
"treeview_finder/contentText": "{multiselect, select, true {Please choose one or more element(s).} false {Please choose one element.} other {}}",
|
|
7
|
+
"treeview_finder/finderTitle": "{multiselect, select, true {Please choose one or more element(s).} false {Please choose one element.} other {}}",
|
|
8
|
+
"treeview_finder/addElementsValidation": "{nbElements, plural, =0 {Please select an element} =1 {Add this element} other{Add # elements}}"
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
treeview_finder_en as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const treeview_finder_fr = {
|
|
2
|
+
"treeview_finder/close": "Fermer",
|
|
3
|
+
"treeview_finder/validate": "Valider",
|
|
4
|
+
"treeview_finder/add": "Ajouter...",
|
|
5
|
+
"treeview_finder/deleteSelection": "Supprimer la selection",
|
|
6
|
+
"treeview_finder/contentText": "{multiselect, select, true {Veuillez choisir un ou plusieurs éléments.} false {Veuillez choisir un élément.} other {}}",
|
|
7
|
+
"treeview_finder/finderTitle": "{multiselect, select, true {Veuillez choisir un ou plusieurs éléments.} false {Veuillez choisir un élément.} other {}}",
|
|
8
|
+
"treeview_finder/addElementsValidation": "{nbElements, plural, =0 {Veuillez sélectionner un élément} =1 {Ajouter cet élément} other {Ajouter # éléments}}"
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
treeview_finder_fr as default
|
|
12
|
+
};
|