@gridsuite/commons-ui 0.35.0 → 0.35.2
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 +2 -2
- package/es/components/AuthenticationRouter/AuthenticationRouter.js +102 -0
- package/es/components/AuthenticationRouter/index.js +7 -0
- package/{lib → es}/components/CardErrorBoundary/card-error-boundary.js +35 -42
- package/es/components/CardErrorBoundary/index.js +7 -0
- package/es/components/ElementSearchDialog/element-search-dialog.js +120 -0
- package/{lib → es}/components/ElementSearchDialog/equipment-item.js +26 -32
- package/es/components/ElementSearchDialog/index.js +8 -0
- package/es/components/ElementSearchDialog/tag-renderer.js +29 -0
- package/{lib → es}/components/FlatParameters/FlatParameters.js +42 -49
- package/es/components/FlatParameters/index.js +8 -0
- package/es/components/Login/Login.js +79 -0
- package/es/components/Login/Logout.js +78 -0
- package/es/components/Login/index.js +7 -0
- package/es/components/MuiVirtualizedTable/ColumnHeader.js +125 -0
- package/{lib → es}/components/MuiVirtualizedTable/KeyedColumnsRowIndexer.js +18 -25
- package/{lib → es}/components/MuiVirtualizedTable/MuiVirtualizedTable.js +88 -99
- package/es/components/MuiVirtualizedTable/index.js +9 -0
- package/es/components/OverflowableText/index.js +7 -0
- package/{lib → es}/components/OverflowableText/overflowable-text.js +22 -30
- package/es/components/ReportViewer/index.js +7 -0
- package/{lib → es}/components/ReportViewer/log-report-item.js +1 -6
- package/{lib → es}/components/ReportViewer/log-report.js +8 -13
- package/{lib → es}/components/ReportViewer/log-table.js +14 -24
- package/{lib → es}/components/ReportViewer/report-item.js +23 -30
- package/{lib → es}/components/ReportViewer/report-tree-view-context.js +3 -9
- package/{lib → es}/components/ReportViewer/report-viewer.js +32 -40
- package/es/components/ReportViewerDialog/index.js +7 -0
- package/es/components/ReportViewerDialog/report-viewer-dialog.js +67 -0
- package/es/components/SignInCallbackHandler/SignInCallbackHandler.js +19 -0
- package/es/components/SignInCallbackHandler/index.js +7 -0
- package/es/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.js +19 -0
- package/es/components/SilentRenewCallbackHandler/index.js +7 -0
- package/es/components/SnackbarProvider/SnackbarProvider.js +39 -0
- package/es/components/SnackbarProvider/index.js +7 -0
- package/es/components/TopBar/TopBar.js +565 -0
- package/es/components/TopBar/index.js +7 -0
- package/{lib → es}/components/TreeViewFinder/TreeViewFinder.js +59 -66
- package/es/components/TreeViewFinder/index.js +7 -0
- package/es/components/react-hook-form/autocomplete-input.js +110 -0
- package/es/components/react-hook-form/booleans/boolean-input.js +56 -0
- package/es/components/react-hook-form/booleans/checkbox-input.js +28 -0
- package/es/components/react-hook-form/booleans/switch-input.js +28 -0
- package/es/components/react-hook-form/error-management/error-input.js +50 -0
- package/es/components/react-hook-form/error-management/field-error-alert.js +22 -0
- package/es/components/react-hook-form/error-management/mid-form-error.js +25 -0
- package/es/components/react-hook-form/numbers/float-input.js +40 -0
- package/es/components/react-hook-form/numbers/integer-input.js +35 -0
- package/es/components/react-hook-form/numbers/utils.js +6 -0
- package/es/components/react-hook-form/radio-input.js +55 -0
- package/es/components/react-hook-form/select-input.js +40 -0
- package/es/components/react-hook-form/slider-input.js +48 -0
- package/es/components/react-hook-form/text-input.js +100 -0
- package/es/components/react-hook-form/utils/field-label.js +15 -0
- package/es/components/react-hook-form/utils/functions.js +42 -0
- package/es/components/react-hook-form/utils/submit-button.js +25 -0
- package/es/components/react-hook-form/utils/text-field-with-adornment.js +92 -0
- package/{lib → es}/components/translations/card-error-boundary-en.js +1 -7
- package/{lib → es}/components/translations/card-error-boundary-fr.js +1 -7
- package/{lib → es}/components/translations/element-search-en.js +1 -7
- package/{lib → es}/components/translations/element-search-fr.js +1 -7
- package/{lib → es}/components/translations/equipment-search-en.js +1 -7
- package/{lib → es}/components/translations/equipment-search-fr.js +1 -7
- package/es/components/translations/inputs-en.js +25 -0
- package/es/components/translations/inputs-fr.js +25 -0
- package/{lib → es}/components/translations/login-en.js +1 -7
- package/{lib → es}/components/translations/login-fr.js +1 -7
- package/{lib → es}/components/translations/report-viewer-en.js +1 -7
- package/{lib → es}/components/translations/report-viewer-fr.js +1 -7
- package/{lib → es}/components/translations/table-en.js +1 -7
- package/{lib → es}/components/translations/table-fr.js +1 -7
- package/{lib → es}/components/translations/top-bar-en.js +1 -7
- package/{lib → es}/components/translations/top-bar-fr.js +1 -7
- package/{lib → es}/components/translations/treeview-finder-en.js +1 -7
- package/{lib → es}/components/translations/treeview-finder-fr.js +1 -7
- package/{lib → es}/hooks/useDebounce.js +7 -12
- package/{lib → es}/hooks/useIntlRef.js +7 -10
- package/{lib → es}/hooks/useSnackMessage.js +9 -13
- package/es/index.js +62 -0
- package/{lib → es}/utils/AuthService.js +23 -34
- package/es/utils/ElementType.js +37 -0
- package/{lib → es}/utils/EquipmentType.js +8 -18
- package/{lib → es}/utils/UserManagerMock.js +2 -7
- package/es/utils/actions.js +65 -0
- package/{lib → es}/utils/algos.js +1 -5
- package/{lib → es}/utils/styles.js +4 -11
- package/package.json +10 -4
- package/lib/components/AuthenticationRouter/AuthenticationRouter.js +0 -111
- package/lib/components/AuthenticationRouter/index.js +0 -8
- package/lib/components/CardErrorBoundary/index.js +0 -8
- package/lib/components/ElementSearchDialog/element-search-dialog.js +0 -127
- package/lib/components/ElementSearchDialog/index.js +0 -9
- package/lib/components/ElementSearchDialog/tag-renderer.js +0 -36
- package/lib/components/FlatParameters/index.js +0 -8
- package/lib/components/Login/Login.js +0 -86
- package/lib/components/Login/Logout.js +0 -85
- package/lib/components/Login/index.js +0 -8
- package/lib/components/MuiVirtualizedTable/ColumnHeader.js +0 -134
- package/lib/components/MuiVirtualizedTable/index.js +0 -12
- package/lib/components/OverflowableText/index.js +0 -8
- package/lib/components/ReportViewer/index.js +0 -8
- package/lib/components/ReportViewerDialog/index.js +0 -8
- package/lib/components/ReportViewerDialog/report-viewer-dialog.js +0 -75
- package/lib/components/SignInCallbackHandler/SignInCallbackHandler.js +0 -27
- package/lib/components/SignInCallbackHandler/index.js +0 -8
- package/lib/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.js +0 -27
- package/lib/components/SilentRenewCallbackHandler/index.js +0 -8
- package/lib/components/SnackbarProvider/SnackbarProvider.js +0 -45
- package/lib/components/SnackbarProvider/index.js +0 -8
- package/lib/components/TopBar/TopBar.js +0 -576
- package/lib/components/TopBar/index.js +0 -8
- package/lib/components/TreeViewFinder/index.js +0 -9
- package/lib/index.js +0 -105
- package/lib/utils/ElementType.js +0 -45
- package/lib/utils/actions.js +0 -83
- /package/{lib → es}/components/images/powsybl_logo.svg +0 -0
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
1
|
/**
|
|
6
2
|
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
7
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -14,6 +10,4 @@ var report_viewer_en = {
|
|
|
14
10
|
'report_viewer/severity': 'Severity',
|
|
15
11
|
'report_viewer/message': 'Message'
|
|
16
12
|
};
|
|
17
|
-
|
|
18
|
-
exports["default"] = _default;
|
|
19
|
-
module.exports = exports.default;
|
|
13
|
+
export default report_viewer_en;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
1
|
/**
|
|
6
2
|
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
7
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -14,6 +10,4 @@ var report_viewer_fr = {
|
|
|
14
10
|
'report_viewer/severity': 'Sévérité',
|
|
15
11
|
'report_viewer/message': 'Message'
|
|
16
12
|
};
|
|
17
|
-
|
|
18
|
-
exports["default"] = _default;
|
|
19
|
-
module.exports = exports.default;
|
|
13
|
+
export default report_viewer_fr;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
1
|
/**
|
|
6
2
|
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
7
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -12,6 +8,4 @@ exports["default"] = void 0;
|
|
|
12
8
|
var table_en = {
|
|
13
9
|
'MuiVirtualizedTable/exportCSV': 'Export to CSV File'
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
exports["default"] = _default;
|
|
17
|
-
module.exports = exports.default;
|
|
11
|
+
export default table_en;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
1
|
/**
|
|
6
2
|
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
7
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -12,6 +8,4 @@ exports["default"] = void 0;
|
|
|
12
8
|
var table_fr = {
|
|
13
9
|
'MuiVirtualizedTable/exportCSV': 'Exporter vers un fichier CSV'
|
|
14
10
|
};
|
|
15
|
-
|
|
16
|
-
exports["default"] = _default;
|
|
17
|
-
module.exports = exports.default;
|
|
11
|
+
export default table_fr;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
1
|
/**
|
|
6
2
|
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
7
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -22,6 +18,4 @@ var top_bar_en = {
|
|
|
22
18
|
'top-bar/language': 'Language',
|
|
23
19
|
'top-bar/customTheme': 'Custom theme'
|
|
24
20
|
};
|
|
25
|
-
|
|
26
|
-
exports["default"] = _default;
|
|
27
|
-
module.exports = exports.default;
|
|
21
|
+
export default top_bar_en;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
1
|
/**
|
|
6
2
|
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
7
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -22,6 +18,4 @@ var top_bar_fr = {
|
|
|
22
18
|
'top-bar/language': 'Langue',
|
|
23
19
|
'top-bar/customTheme': 'Choix de theme'
|
|
24
20
|
};
|
|
25
|
-
|
|
26
|
-
exports["default"] = _default;
|
|
27
|
-
module.exports = exports.default;
|
|
21
|
+
export default top_bar_fr;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
1
|
/**
|
|
6
2
|
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
7
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -19,6 +15,4 @@ var treeview_finder_en = {
|
|
|
19
15
|
'treeview_finder/finderTitle': '{multiselect, select, true {Please choose one or more element(s).} false {Please choose one element.} other {}}',
|
|
20
16
|
'treeview_finder/addElementsValidation': '{nbElements, plural, =0 {Please select an element} =1 {Add this element} other{Add # elements}}'
|
|
21
17
|
};
|
|
22
|
-
|
|
23
|
-
exports["default"] = _default;
|
|
24
|
-
module.exports = exports.default;
|
|
18
|
+
export default treeview_finder_en;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
1
|
/**
|
|
6
2
|
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
7
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -19,6 +15,4 @@ var treeview_finder_fr = {
|
|
|
19
15
|
'treeview_finder/finderTitle': '{multiselect, select, true {Veuillez choisir un ou plusieurs éléments.} false {Veuillez choisir un élément.} other {}}',
|
|
20
16
|
'treeview_finder/addElementsValidation': '{nbElements, plural, =0 {Veuillez sélectionner un élément} =1 {Ajouter cet élément} other {Ajouter # éléments}}'
|
|
21
17
|
};
|
|
22
|
-
|
|
23
|
-
exports["default"] = _default;
|
|
24
|
-
module.exports = exports.default;
|
|
18
|
+
export default treeview_finder_fr;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.useDebounce = void 0;
|
|
5
|
-
var _react = require("react");
|
|
6
|
-
var _utils = require("@mui/material/utils");
|
|
7
1
|
/**
|
|
8
2
|
* Copyright (c) 2023, RTE (http://www.rte-france.com)
|
|
9
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -11,21 +5,22 @@ var _utils = require("@mui/material/utils");
|
|
|
11
5
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
12
6
|
*/
|
|
13
7
|
|
|
14
|
-
|
|
8
|
+
import { useEffect, useMemo } from 'react';
|
|
9
|
+
import { debounce } from '@mui/material/utils';
|
|
10
|
+
export var useDebounce = function useDebounce(func, delay) {
|
|
15
11
|
if (delay === void 0) {
|
|
16
12
|
delay = 700;
|
|
17
13
|
}
|
|
18
|
-
var debouncedChangeHandler =
|
|
19
|
-
return
|
|
14
|
+
var debouncedChangeHandler = useMemo(function () {
|
|
15
|
+
return debounce(func, delay);
|
|
20
16
|
}, [func, delay]);
|
|
21
17
|
|
|
22
18
|
// Stop the invocation of the debounced function after unmounting
|
|
23
19
|
|
|
24
|
-
|
|
20
|
+
useEffect(function () {
|
|
25
21
|
return function () {
|
|
26
22
|
debouncedChangeHandler.clear();
|
|
27
23
|
};
|
|
28
24
|
}, [debouncedChangeHandler]);
|
|
29
25
|
return debouncedChangeHandler;
|
|
30
|
-
};
|
|
31
|
-
exports.useDebounce = useDebounce;
|
|
26
|
+
};
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.useIntlRef = useIntlRef;
|
|
5
|
-
var _react = require("react");
|
|
6
|
-
var _reactIntl = require("react-intl");
|
|
7
1
|
/**
|
|
8
2
|
* Copyright (c) 2021, RTE (http://www.rte-france.com)
|
|
9
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -11,14 +5,17 @@ var _reactIntl = require("react-intl");
|
|
|
11
5
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
12
6
|
*/
|
|
13
7
|
|
|
8
|
+
import { useEffect, useRef } from 'react';
|
|
9
|
+
import { useIntl } from 'react-intl';
|
|
10
|
+
|
|
14
11
|
//This useEffect must be at the beginning to be executed before other useEffects which use intlRef.
|
|
15
12
|
//This ref is used to avoid redoing other useEffects when the language (intl) is changed for things that produce temporary messages using the snackbar.
|
|
16
13
|
//The drawback to this custom hook is that a ref and a useEffect are created in each component that needs this hook.
|
|
17
14
|
//Can we avoid this overhead ?
|
|
18
|
-
function useIntlRef() {
|
|
19
|
-
var intl =
|
|
20
|
-
var intlRef =
|
|
21
|
-
|
|
15
|
+
export function useIntlRef() {
|
|
16
|
+
var intl = useIntl();
|
|
17
|
+
var intlRef = useRef();
|
|
18
|
+
useEffect(function () {
|
|
22
19
|
intlRef.current = intl;
|
|
23
20
|
}, [intl]);
|
|
24
21
|
return intlRef;
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.useSnackMessage = useSnackMessage;
|
|
5
|
-
var _react = require("react");
|
|
6
|
-
var _notistack = require("notistack");
|
|
7
|
-
var _useIntlRef = require("./useIntlRef");
|
|
8
1
|
/**
|
|
9
2
|
* Copyright (c) 2021, RTE (http://www.rte-france.com)
|
|
10
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -12,9 +5,12 @@ var _useIntlRef = require("./useIntlRef");
|
|
|
12
5
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
13
6
|
*/
|
|
14
7
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
import { useCallback } from 'react';
|
|
9
|
+
import { useSnackbar } from 'notistack';
|
|
10
|
+
import { useIntlRef } from './useIntlRef';
|
|
11
|
+
export function useSnackMessage() {
|
|
12
|
+
var intlRef = useIntlRef();
|
|
13
|
+
var _useSnackbar = useSnackbar(),
|
|
18
14
|
enqueueSnackbar = _useSnackbar.enqueueSnackbar;
|
|
19
15
|
|
|
20
16
|
/*
|
|
@@ -29,17 +25,17 @@ function useSnackMessage() {
|
|
|
29
25
|
headerValues,
|
|
30
26
|
}
|
|
31
27
|
*/
|
|
32
|
-
var snackError =
|
|
28
|
+
var snackError = useCallback(function (snackInputs) {
|
|
33
29
|
return makeSnackbar(snackInputs, intlRef, enqueueSnackbar, 'error', true);
|
|
34
30
|
}, [enqueueSnackbar, intlRef]);
|
|
35
31
|
|
|
36
32
|
/* see snackError */
|
|
37
|
-
var snackWarning =
|
|
33
|
+
var snackWarning = useCallback(function (snackInputs) {
|
|
38
34
|
return makeSnackbar(snackInputs, intlRef, enqueueSnackbar, 'warning', true);
|
|
39
35
|
}, [enqueueSnackbar, intlRef]);
|
|
40
36
|
|
|
41
37
|
/* see snackError */
|
|
42
|
-
var snackInfo =
|
|
38
|
+
var snackInfo = useCallback(function (snackInputs) {
|
|
43
39
|
return makeSnackbar(snackInputs, intlRef, enqueueSnackbar, 'info', false);
|
|
44
40
|
}, [enqueueSnackbar, intlRef]);
|
|
45
41
|
return {
|
package/es/index.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2022, 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 http://mozilla.org/MPL/2.0/.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export { default as TreeViewFinder } from './components/TreeViewFinder';
|
|
9
|
+
export { default as TopBar } from './components/TopBar';
|
|
10
|
+
export { default as SnackbarProvider } from './components/SnackbarProvider';
|
|
11
|
+
export { default as AuthenticationRouter } from './components/AuthenticationRouter';
|
|
12
|
+
export { default as MuiVirtualizedTable } from './components/MuiVirtualizedTable';
|
|
13
|
+
export { KeyedColumnsRowIndexer, CHANGE_WAYS } from './components/MuiVirtualizedTable';
|
|
14
|
+
export { default as ReportViewer } from './components/ReportViewer';
|
|
15
|
+
export { default as ReportViewerDialog } from './components/ReportViewerDialog';
|
|
16
|
+
export { default as OverflowableText } from './components/OverflowableText';
|
|
17
|
+
export { default as ElementSearchDialog } from './components/ElementSearchDialog';
|
|
18
|
+
export { default as FlatParameters } from './components/FlatParameters';
|
|
19
|
+
export { EQUIPMENT_TYPE, getEquipmentsInfosForSearchBar, equipmentStyles } from './utils/EquipmentType';
|
|
20
|
+
export { initializeAuthenticationDev, initializeAuthenticationProd, logout, dispatchUser, getPreLoginPath } from './utils/AuthService';
|
|
21
|
+
export { elementType, getFileIcon } from './utils/ElementType';
|
|
22
|
+
export { DEFAULT_CELL_PADDING, DEFAULT_HEADER_HEIGHT, DEFAULT_ROW_HEIGHT } from './components/MuiVirtualizedTable/MuiVirtualizedTable';
|
|
23
|
+
export { DARK_THEME, LIGHT_THEME, LANG_SYSTEM, LANG_ENGLISH, LANG_FRENCH } from './components/TopBar/TopBar';
|
|
24
|
+
export { USER, setLoggedUser, SIGNIN_CALLBACK_ERROR, setSignInCallbackError, UNAUTHORIZED_USER_INFO, LOGOUT_ERROR, USER_VALIDATION_ERROR, RESET_AUTHENTICATION_ROUTER_ERROR, SHOW_AUTH_INFO_LOGIN } from './utils/actions';
|
|
25
|
+
export { default as report_viewer_en } from './components/translations/report-viewer-en';
|
|
26
|
+
export { default as report_viewer_fr } from './components/translations/report-viewer-fr';
|
|
27
|
+
export { default as login_en } from './components/translations/login-en';
|
|
28
|
+
export { default as login_fr } from './components/translations/login-fr';
|
|
29
|
+
export { default as top_bar_en } from './components/translations/top-bar-en';
|
|
30
|
+
export { default as top_bar_fr } from './components/translations/top-bar-fr';
|
|
31
|
+
export { default as table_en } from './components/translations/table-en';
|
|
32
|
+
export { default as table_fr } from './components/translations/table-fr';
|
|
33
|
+
export { default as treeview_finder_en } from './components/translations/treeview-finder-en';
|
|
34
|
+
export { default as treeview_finder_fr } from './components/translations/treeview-finder-fr';
|
|
35
|
+
export { default as element_search_en } from './components/translations/element-search-en';
|
|
36
|
+
export { default as element_search_fr } from './components/translations/element-search-fr';
|
|
37
|
+
export { default as equipment_search_en } from './components/translations/equipment-search-en';
|
|
38
|
+
export { default as equipment_search_fr } from './components/translations/equipment-search-fr';
|
|
39
|
+
export { default as card_error_boundary_en } from './components/translations/card-error-boundary-en';
|
|
40
|
+
export { default as card_error_boundary_fr } from './components/translations/card-error-boundary-fr';
|
|
41
|
+
export { TagRenderer } from './components/ElementSearchDialog';
|
|
42
|
+
export { EquipmentItem } from './components/ElementSearchDialog/equipment-item';
|
|
43
|
+
export { default as CardErrorBoundary } from './components/CardErrorBoundary';
|
|
44
|
+
export { useIntlRef } from './hooks/useIntlRef';
|
|
45
|
+
export { useSnackMessage } from './hooks/useSnackMessage';
|
|
46
|
+
export { useDebounce } from './hooks/useDebounce';
|
|
47
|
+
export { default as AutocompleteInput } from './components/react-hook-form/autocomplete-input';
|
|
48
|
+
export { default as TextInput } from './components/react-hook-form/text-input';
|
|
49
|
+
export { default as RadioInput } from './components/react-hook-form/radio-input';
|
|
50
|
+
export { default as SliderInput } from './components/react-hook-form/slider-input';
|
|
51
|
+
export { default as FloatInput } from './components/react-hook-form/numbers/float-input';
|
|
52
|
+
export { default as IntegerInput } from './components/react-hook-form/numbers/integer-input';
|
|
53
|
+
export { default as SelectInput } from './components/react-hook-form/select-input';
|
|
54
|
+
export { default as CheckboxInput } from './components/react-hook-form/booleans/checkbox-input';
|
|
55
|
+
export { default as SwitchInput } from './components/react-hook-form/booleans/switch-input';
|
|
56
|
+
export { default as ErrorInput } from './components/react-hook-form/error-management/error-input';
|
|
57
|
+
export { default as FieldErrorAlert } from './components/react-hook-form/error-management/field-error-alert';
|
|
58
|
+
export { default as MidFormError } from './components/react-hook-form/error-management/mid-form-error';
|
|
59
|
+
export { default as TextFieldWithAdornment } from './components/react-hook-form/utils/text-field-with-adornment';
|
|
60
|
+
export { default as FieldLabel } from './components/react-hook-form/utils/field-label';
|
|
61
|
+
export { default as SubmitButton } from './components/react-hook-form/utils/submit-button';
|
|
62
|
+
export { genHelperPreviousValue, genHelperError, identity, isFieldRequired } from './components/react-hook-form/utils/functions';
|
|
@@ -1,35 +1,23 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.dispatchUser = dispatchUser;
|
|
5
|
-
exports.getPreLoginPath = getPreLoginPath;
|
|
6
|
-
exports.handleSigninCallback = handleSigninCallback;
|
|
7
|
-
exports.handleSilentRenewCallback = handleSilentRenewCallback;
|
|
8
|
-
exports.initializeAuthenticationDev = initializeAuthenticationDev;
|
|
9
|
-
exports.initializeAuthenticationProd = initializeAuthenticationProd;
|
|
10
|
-
exports.login = login;
|
|
11
|
-
exports.logout = logout;
|
|
12
|
-
var _oidcClient = require("oidc-client");
|
|
13
|
-
var _UserManagerMock = require("./UserManagerMock");
|
|
14
|
-
var _actions = require("./actions");
|
|
15
|
-
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
1
|
/**
|
|
18
2
|
* Copyright (c) 2020, RTE (http://www.rte-france.com)
|
|
19
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
20
4
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
21
5
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
22
6
|
*/
|
|
7
|
+
import { Log, UserManager } from 'oidc-client';
|
|
8
|
+
import { UserManagerMock } from './UserManagerMock';
|
|
9
|
+
import { setLoggedUser, setSignInCallbackError, setUnauthorizedUserInfo, setLogoutError, setUserValidationError, resetAuthenticationRouterError, setShowAuthenticationRouterLogin } from './actions';
|
|
10
|
+
import jwtDecode from 'jwt-decode';
|
|
23
11
|
|
|
24
12
|
// set as a global variable to allow log level configuration at runtime
|
|
25
|
-
window.OIDCLog =
|
|
13
|
+
window.OIDCLog = Log;
|
|
26
14
|
var hackauthoritykey = 'oidc.hack.authority';
|
|
27
15
|
var pathKey = 'powsybl-gridsuite-current-path';
|
|
28
16
|
function handleSigninSilent(dispatch, userManager) {
|
|
29
17
|
userManager.getUser().then(function (user) {
|
|
30
18
|
if (user == null || getIdTokenExpiresIn(user) < 0) {
|
|
31
19
|
return userManager.signinSilent()["catch"](function (error) {
|
|
32
|
-
dispatch(
|
|
20
|
+
dispatch(setShowAuthenticationRouterLogin(true));
|
|
33
21
|
var oidcHackReloaded = 'gridsuite-oidc-hack-reloaded';
|
|
34
22
|
if (!sessionStorage.getItem(oidcHackReloaded) && error.message === 'authority mismatch on settings vs. signin state') {
|
|
35
23
|
sessionStorage.setItem(oidcHackReloaded, true);
|
|
@@ -41,7 +29,7 @@ function handleSigninSilent(dispatch, userManager) {
|
|
|
41
29
|
});
|
|
42
30
|
}
|
|
43
31
|
function initializeAuthenticationDev(dispatch, isSilentRenew, validateUser) {
|
|
44
|
-
var userManager = new
|
|
32
|
+
var userManager = new UserManagerMock({});
|
|
45
33
|
if (!isSilentRenew) {
|
|
46
34
|
handleUser(dispatch, userManager, validateUser);
|
|
47
35
|
handleSigninSilent(dispatch, userManager);
|
|
@@ -67,7 +55,7 @@ function initializeAuthenticationProd(dispatch, isSilentRenew, idpSettings, vali
|
|
|
67
55
|
var state = matched_state[0].split('=')[1];
|
|
68
56
|
var strState = localStorage.getItem('oidc.' + state);
|
|
69
57
|
if (strState != null) {
|
|
70
|
-
var decoded = (
|
|
58
|
+
var decoded = jwtDecode(id_token);
|
|
71
59
|
authority = decoded.iss;
|
|
72
60
|
var storedState = JSON.parse(strState);
|
|
73
61
|
console.debug('Replacing authority in storedState. Before: ', storedState.authority, 'after: ', authority);
|
|
@@ -112,7 +100,7 @@ function initializeAuthenticationProd(dispatch, isSilentRenew, idpSettings, vali
|
|
|
112
100
|
automaticSilentRenew: !isSilentRenew,
|
|
113
101
|
accessTokenExpiringNotificationTime: accessTokenExpiringNotificationTime
|
|
114
102
|
};
|
|
115
|
-
var userManager = new
|
|
103
|
+
var userManager = new UserManager(settings);
|
|
116
104
|
userManager.idpSettings = idpSettings; //store our settings in there as well to use it later
|
|
117
105
|
if (!isSilentRenew) {
|
|
118
106
|
handleUser(dispatch, userManager, validateUser);
|
|
@@ -121,7 +109,7 @@ function initializeAuthenticationProd(dispatch, isSilentRenew, idpSettings, vali
|
|
|
121
109
|
return userManager;
|
|
122
110
|
})["catch"](function (error) {
|
|
123
111
|
console.debug('error when importing the idp settings', error);
|
|
124
|
-
dispatch(
|
|
112
|
+
dispatch(setShowAuthenticationRouterLogin(true));
|
|
125
113
|
throw error;
|
|
126
114
|
});
|
|
127
115
|
}
|
|
@@ -146,8 +134,8 @@ function logout(dispatch, userManagerInstance) {
|
|
|
146
134
|
var _user$profile;
|
|
147
135
|
console.log('Error during logout :', e);
|
|
148
136
|
// An error occured, window may not be closed, reset the user state
|
|
149
|
-
dispatch(
|
|
150
|
-
dispatch(
|
|
137
|
+
dispatch(setLoggedUser(null));
|
|
138
|
+
dispatch(setLogoutError(user === null || user === void 0 ? void 0 : (_user$profile = user.profile) === null || _user$profile === void 0 ? void 0 : _user$profile.name, {
|
|
151
139
|
error: e
|
|
152
140
|
}));
|
|
153
141
|
});
|
|
@@ -158,7 +146,7 @@ function logout(dispatch, userManagerInstance) {
|
|
|
158
146
|
}
|
|
159
147
|
function getIdTokenExpiresIn(user) {
|
|
160
148
|
var now = parseInt(Date.now() / 1000);
|
|
161
|
-
var exp = (
|
|
149
|
+
var exp = jwtDecode(user.id_token).exp;
|
|
162
150
|
return exp - now;
|
|
163
151
|
}
|
|
164
152
|
function dispatchUser(dispatch, userManagerInstance, validateUser) {
|
|
@@ -177,14 +165,14 @@ function dispatchUser(dispatch, userManagerInstance, validateUser) {
|
|
|
177
165
|
if (!valid) {
|
|
178
166
|
var _user$profile2;
|
|
179
167
|
console.debug("User isn't authorized to log in and will not be dispatched");
|
|
180
|
-
return dispatch(
|
|
168
|
+
return dispatch(setUnauthorizedUserInfo(user === null || user === void 0 ? void 0 : (_user$profile2 = user.profile) === null || _user$profile2 === void 0 ? void 0 : _user$profile2.name, {}));
|
|
181
169
|
}
|
|
182
170
|
console.debug('User has been successfully loaded from store.');
|
|
183
|
-
return dispatch(
|
|
171
|
+
return dispatch(setLoggedUser(user));
|
|
184
172
|
})["catch"](function (e) {
|
|
185
173
|
var _user$profile3;
|
|
186
174
|
console.log('Error in dispatchUser', e);
|
|
187
|
-
return dispatch(
|
|
175
|
+
return dispatch(setUserValidationError(user === null || user === void 0 ? void 0 : (_user$profile3 = user.profile) === null || _user$profile3 === void 0 ? void 0 : _user$profile3.name, {
|
|
188
176
|
error: e
|
|
189
177
|
}));
|
|
190
178
|
});
|
|
@@ -198,11 +186,11 @@ function getPreLoginPath() {
|
|
|
198
186
|
}
|
|
199
187
|
function handleSigninCallback(dispatch, navigate, userManagerInstance) {
|
|
200
188
|
userManagerInstance.signinRedirectCallback().then(function () {
|
|
201
|
-
dispatch(
|
|
189
|
+
dispatch(setSignInCallbackError(null));
|
|
202
190
|
var previousPath = getPreLoginPath();
|
|
203
191
|
navigate(previousPath);
|
|
204
192
|
})["catch"](function (e) {
|
|
205
|
-
dispatch(
|
|
193
|
+
dispatch(setSignInCallbackError(e));
|
|
206
194
|
console.error(e);
|
|
207
195
|
});
|
|
208
196
|
}
|
|
@@ -227,10 +215,10 @@ function handleUser(dispatch, userManager, validateUser) {
|
|
|
227
215
|
if (idTokenExpiresIn < 0) {
|
|
228
216
|
console.log('Error in silent renew, idtoken expired: ' + idTokenExpiresIn + ' => Logging out.', error);
|
|
229
217
|
// remove the user from our app, but don't sso logout on all other apps
|
|
230
|
-
dispatch(
|
|
218
|
+
dispatch(setShowAuthenticationRouterLogin(true));
|
|
231
219
|
// logout during token expiration, show login without errors
|
|
232
|
-
dispatch(
|
|
233
|
-
return dispatch(
|
|
220
|
+
dispatch(resetAuthenticationRouterError());
|
|
221
|
+
return dispatch(setLoggedUser(null));
|
|
234
222
|
} else if (userManager.idpSettings.maxExpiresIn) {
|
|
235
223
|
if (idTokenExpiresIn < userManager.idpSettings.maxExpiresIn) {
|
|
236
224
|
// TODO here attempt last chance login ? snackbar to notify the user ? Popup ?
|
|
@@ -261,4 +249,5 @@ function handleUser(dispatch, userManager, validateUser) {
|
|
|
261
249
|
|
|
262
250
|
console.debug('dispatch user');
|
|
263
251
|
dispatchUser(dispatch, userManager, validateUser);
|
|
264
|
-
}
|
|
252
|
+
}
|
|
253
|
+
export { initializeAuthenticationDev, initializeAuthenticationProd, handleSilentRenewCallback, login, logout, dispatchUser, handleSigninCallback, getPreLoginPath };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021, 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 http://mozilla.org/MPL/2.0/.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import LibraryBooksOutlinedIcon from '@mui/icons-material/LibraryBooksOutlined';
|
|
9
|
+
import OfflineBoltIcon from '@mui/icons-material/OfflineBolt';
|
|
10
|
+
import ArticleIcon from '@mui/icons-material/Article';
|
|
11
|
+
export var elementType = {
|
|
12
|
+
DIRECTORY: 'DIRECTORY',
|
|
13
|
+
STUDY: 'STUDY',
|
|
14
|
+
FILTER: 'FILTER',
|
|
15
|
+
CONTINGENCY_LIST: 'CONTINGENCY_LIST'
|
|
16
|
+
};
|
|
17
|
+
export function getFileIcon(type, theme) {
|
|
18
|
+
switch (type) {
|
|
19
|
+
case elementType.STUDY:
|
|
20
|
+
return /*#__PURE__*/React.createElement(LibraryBooksOutlinedIcon, {
|
|
21
|
+
className: theme
|
|
22
|
+
});
|
|
23
|
+
case elementType.CONTINGENCY_LIST:
|
|
24
|
+
return /*#__PURE__*/React.createElement(OfflineBoltIcon, {
|
|
25
|
+
className: theme
|
|
26
|
+
});
|
|
27
|
+
case elementType.FILTER:
|
|
28
|
+
return /*#__PURE__*/React.createElement(ArticleIcon, {
|
|
29
|
+
className: theme
|
|
30
|
+
});
|
|
31
|
+
case elementType.DIRECTORY:
|
|
32
|
+
// to easily use in TreeView we do not give icons for directories
|
|
33
|
+
return;
|
|
34
|
+
default:
|
|
35
|
+
console.warn('unknown type [' + type + ']');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.getEquipmentsInfosForSearchBar = exports.equipmentStyles = exports.VL_TAG_MAX_SIZE = exports.TYPE_TAG_MAX_SIZE = exports.EQUIPMENT_TYPE = void 0;
|
|
5
|
-
var _TopBar = require("../components/TopBar/TopBar");
|
|
6
1
|
/**
|
|
7
2
|
* Copyright (c) 2021, RTE (http://www.rte-france.com)
|
|
8
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
9
4
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
10
5
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
11
6
|
*/
|
|
12
|
-
|
|
13
|
-
var TYPE_TAG_MAX_SIZE = '90px';
|
|
14
|
-
|
|
15
|
-
var
|
|
16
|
-
exports.VL_TAG_MAX_SIZE = VL_TAG_MAX_SIZE;
|
|
17
|
-
var equipmentStyles = {
|
|
7
|
+
import { LIGHT_THEME } from '../components/TopBar/TopBar';
|
|
8
|
+
export var TYPE_TAG_MAX_SIZE = '90px';
|
|
9
|
+
export var VL_TAG_MAX_SIZE = '100px';
|
|
10
|
+
export var equipmentStyles = {
|
|
18
11
|
equipmentOption: {
|
|
19
12
|
display: 'flex',
|
|
20
13
|
gap: '20px',
|
|
@@ -30,7 +23,7 @@ var equipmentStyles = {
|
|
|
30
23
|
padding: '4px',
|
|
31
24
|
fontSize: 'x-small',
|
|
32
25
|
textAlign: 'center',
|
|
33
|
-
color: theme ===
|
|
26
|
+
color: theme === LIGHT_THEME ? 'inherit' : 'black'
|
|
34
27
|
};
|
|
35
28
|
},
|
|
36
29
|
equipmentTypeTag: {
|
|
@@ -52,8 +45,7 @@ var equipmentStyles = {
|
|
|
52
45
|
};
|
|
53
46
|
|
|
54
47
|
// Must be equivalent as the back enum
|
|
55
|
-
|
|
56
|
-
var EQUIPMENT_TYPE = {
|
|
48
|
+
export var EQUIPMENT_TYPE = {
|
|
57
49
|
SUBSTATION: {
|
|
58
50
|
name: 'SUBSTATION',
|
|
59
51
|
tagLabel: 'equipment_search/substationTag'
|
|
@@ -119,8 +111,7 @@ var EQUIPMENT_TYPE = {
|
|
|
119
111
|
tagLabel: 'equipment_search/switchTag'
|
|
120
112
|
}
|
|
121
113
|
};
|
|
122
|
-
|
|
123
|
-
var getEquipmentsInfosForSearchBar = function getEquipmentsInfosForSearchBar(equipmentsInfos, getNameOrId) {
|
|
114
|
+
export var getEquipmentsInfosForSearchBar = function getEquipmentsInfosForSearchBar(equipmentsInfos, getNameOrId) {
|
|
124
115
|
return equipmentsInfos.flatMap(function (e) {
|
|
125
116
|
var label = getNameOrId(e);
|
|
126
117
|
return e.type === 'SUBSTATION' ? [{
|
|
@@ -139,5 +130,4 @@ var getEquipmentsInfosForSearchBar = function getEquipmentsInfosForSearchBar(equ
|
|
|
139
130
|
};
|
|
140
131
|
});
|
|
141
132
|
});
|
|
142
|
-
};
|
|
143
|
-
exports.getEquipmentsInfosForSearchBar = getEquipmentsInfosForSearchBar;
|
|
133
|
+
};
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.UserManagerMock = void 0;
|
|
5
1
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
2
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
7
3
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -24,7 +20,7 @@ var Events = /*#__PURE__*/function () {
|
|
|
24
20
|
};
|
|
25
21
|
return Events;
|
|
26
22
|
}();
|
|
27
|
-
var UserManagerMock = /*#__PURE__*/function () {
|
|
23
|
+
export var UserManagerMock = /*#__PURE__*/function () {
|
|
28
24
|
function UserManagerMock(settings) {
|
|
29
25
|
_defineProperty(this, "settings", void 0);
|
|
30
26
|
_defineProperty(this, "events", void 0);
|
|
@@ -82,5 +78,4 @@ var UserManagerMock = /*#__PURE__*/function () {
|
|
|
82
78
|
return Promise.resolve('');
|
|
83
79
|
};
|
|
84
80
|
return UserManagerMock;
|
|
85
|
-
}();
|
|
86
|
-
exports.UserManagerMock = UserManagerMock;
|
|
81
|
+
}();
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020, 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 http://mozilla.org/MPL/2.0/.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export var USER = 'USER';
|
|
9
|
+
export function setLoggedUser(user) {
|
|
10
|
+
return {
|
|
11
|
+
type: USER,
|
|
12
|
+
user: user
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export var SIGNIN_CALLBACK_ERROR = 'SIGNIN_CALLBACK_ERROR';
|
|
16
|
+
export function setSignInCallbackError(signInCallbackError) {
|
|
17
|
+
return {
|
|
18
|
+
type: SIGNIN_CALLBACK_ERROR,
|
|
19
|
+
signInCallbackError: signInCallbackError
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export var UNAUTHORIZED_USER_INFO = 'UNAUTHORIZED_USER_INFO';
|
|
23
|
+
export function setUnauthorizedUserInfo(userName, unauthorizedUserInfo) {
|
|
24
|
+
return {
|
|
25
|
+
type: UNAUTHORIZED_USER_INFO,
|
|
26
|
+
authenticationRouterError: {
|
|
27
|
+
userName: userName,
|
|
28
|
+
unauthorizedUserInfo: unauthorizedUserInfo
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export var LOGOUT_ERROR = 'LOGOUT_ERROR';
|
|
33
|
+
export function setLogoutError(userName, logoutError) {
|
|
34
|
+
return {
|
|
35
|
+
type: LOGOUT_ERROR,
|
|
36
|
+
authenticationRouterError: {
|
|
37
|
+
userName: userName,
|
|
38
|
+
logoutError: logoutError
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export var USER_VALIDATION_ERROR = 'USER_VALIDATION_ERROR';
|
|
43
|
+
export function setUserValidationError(userName, userValidationError) {
|
|
44
|
+
return {
|
|
45
|
+
type: USER_VALIDATION_ERROR,
|
|
46
|
+
authenticationRouterError: {
|
|
47
|
+
userName: userName,
|
|
48
|
+
userValidationError: userValidationError
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export var RESET_AUTHENTICATION_ROUTER_ERROR = 'RESET_AUTHENTICATION_ROUTER_ERROR';
|
|
53
|
+
export function resetAuthenticationRouterError() {
|
|
54
|
+
return {
|
|
55
|
+
type: RESET_AUTHENTICATION_ROUTER_ERROR,
|
|
56
|
+
authenticationRouterError: null
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export var SHOW_AUTH_INFO_LOGIN = 'SHOW_AUTH_INFO_LOGIN';
|
|
60
|
+
export function setShowAuthenticationRouterLogin(showAuthenticationRouterLogin) {
|
|
61
|
+
return {
|
|
62
|
+
type: SHOW_AUTH_INFO_LOGIN,
|
|
63
|
+
showAuthenticationRouterLogin: showAuthenticationRouterLogin
|
|
64
|
+
};
|
|
65
|
+
}
|