@gridsuite/commons-ui 0.32.2 → 0.33.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/lib/components/FlatParameters/FlatParameters.js +5 -5
- package/lib/components/Login/Login.js +8 -11
- package/lib/components/MuiVirtualizedTable/MuiVirtualizedTable.js +14 -10
- package/lib/components/ReportViewer/report-item.js +18 -10
- package/lib/hooks/useDebounce.js +31 -0
- package/lib/index.js +3 -5
- package/package.json +1 -1
- package/lib/hooks/useImportExportParams.js +0 -144
|
@@ -347,22 +347,22 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
347
347
|
return /*#__PURE__*/_react["default"].createElement(_material.List, {
|
|
348
348
|
className: classes.paramList
|
|
349
349
|
}, paramsAsArray.map(function (param) {
|
|
350
|
-
return /*#__PURE__*/_react["default"].createElement(_material.
|
|
350
|
+
return /*#__PURE__*/_react["default"].createElement(_material.ListItem, {
|
|
351
|
+
key: param.name,
|
|
352
|
+
className: classes.paramListItem
|
|
353
|
+
}, /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
|
|
351
354
|
title: /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
|
|
352
355
|
id: param.name + '.desc',
|
|
353
356
|
defaultMessage: param.description
|
|
354
357
|
}),
|
|
355
358
|
enterDelay: 1200,
|
|
356
359
|
key: param.name
|
|
357
|
-
}, /*#__PURE__*/_react["default"].createElement(_material.ListItem, {
|
|
358
|
-
key: param.name,
|
|
359
|
-
className: classes.paramListItem
|
|
360
360
|
}, /*#__PURE__*/_react["default"].createElement(_material.Typography, {
|
|
361
361
|
className: classes.paramName
|
|
362
362
|
}, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
|
|
363
363
|
id: param.name,
|
|
364
364
|
defaultMessage: param.name.slice(prefix.length)
|
|
365
|
-
})), renderField(param))
|
|
365
|
+
}))), renderField(param));
|
|
366
366
|
}));
|
|
367
367
|
};
|
|
368
368
|
exports.FlatParameters = FlatParameters;
|
|
@@ -46,16 +46,6 @@ var Login = function Login(_ref) {
|
|
|
46
46
|
var onLoginClick = _ref.onLoginClick,
|
|
47
47
|
disabled = _ref.disabled;
|
|
48
48
|
var classes = useStyles();
|
|
49
|
-
function Copyright() {
|
|
50
|
-
return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
51
|
-
variant: "body2",
|
|
52
|
-
color: "textSecondary",
|
|
53
|
-
align: "center"
|
|
54
|
-
}, 'Copyright © ', /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
55
|
-
color: "inherit",
|
|
56
|
-
href: "#"
|
|
57
|
-
}, "GridSuite"), ' ', new Date().getFullYear(), '.');
|
|
58
|
-
}
|
|
59
49
|
return /*#__PURE__*/_react["default"].createElement(_Container["default"], {
|
|
60
50
|
component: "main",
|
|
61
51
|
maxWidth: "xs"
|
|
@@ -80,7 +70,14 @@ var Login = function Login(_ref) {
|
|
|
80
70
|
defaultMessage: 'connection'
|
|
81
71
|
}))), /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
82
72
|
mt: 2
|
|
83
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
73
|
+
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
74
|
+
variant: "body2",
|
|
75
|
+
color: "textSecondary",
|
|
76
|
+
align: "center"
|
|
77
|
+
}, 'Copyright © ', /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
78
|
+
color: "inherit",
|
|
79
|
+
href: "#"
|
|
80
|
+
}, "GridSuite"), ' ', new Date().getFullYear(), '.')));
|
|
84
81
|
};
|
|
85
82
|
var _default = Login;
|
|
86
83
|
exports["default"] = _default;
|
|
@@ -364,11 +364,15 @@ var MuiVirtualizedTable = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
364
364
|
var prefiltered = preFilterData(columns, _this.props.rows, _this.props.filter, indexer, indexer.filterVersion);
|
|
365
365
|
var colStat = prefiltered === null || prefiltered === void 0 ? void 0 : (_prefiltered$colsStat2 = prefiltered.colsStats) === null || _prefiltered$colsStat2 === void 0 ? void 0 : _prefiltered$colsStat2[colKey];
|
|
366
366
|
var filterLevel = 0;
|
|
367
|
-
if (
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
367
|
+
if (userParams === null || userParams === void 0 ? void 0 : userParams.length) {
|
|
368
|
+
filterLevel += 1;
|
|
369
|
+
if (!(colStat === null || colStat === void 0 ? void 0 : colStat.seen)) {
|
|
370
|
+
filterLevel += 2;
|
|
371
|
+
} else if (userParams.filter(function (v) {
|
|
372
|
+
return !colStat.seen[v];
|
|
373
|
+
}).length) {
|
|
374
|
+
filterLevel += 2;
|
|
375
|
+
}
|
|
372
376
|
}
|
|
373
377
|
|
|
374
378
|
// disable filtering when either:
|
|
@@ -401,13 +405,13 @@ var MuiVirtualizedTable = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
401
405
|
}, label);
|
|
402
406
|
});
|
|
403
407
|
_defineProperty(_assertThisInitialized(_this), "getRowClassName", function (_ref5) {
|
|
404
|
-
var _rowGetter,
|
|
408
|
+
var _rowGetter, _clsx;
|
|
405
409
|
var index = _ref5.index,
|
|
406
410
|
rowGetter = _ref5.rowGetter;
|
|
407
411
|
var _this$props = _this.props,
|
|
408
412
|
classes = _this$props.classes,
|
|
409
413
|
onRowClick = _this$props.onRowClick;
|
|
410
|
-
return (0, _clsx3["default"])(classes.tableRow, classes.flexContainer, index % 2 === 0 && classes.rowBackgroundDark, index % 2 !== 0 && classes.rowBackgroundLight, ((_rowGetter = rowGetter(index)) === null || _rowGetter === void 0 ? void 0 : _rowGetter.notClickable) === true && classes.noClick, (_clsx = {}, _clsx[classes.tableRowHover] = index !== -1 && onRowClick != null
|
|
414
|
+
return (0, _clsx3["default"])(classes.tableRow, classes.flexContainer, index % 2 === 0 && classes.rowBackgroundDark, index % 2 !== 0 && classes.rowBackgroundLight, ((_rowGetter = rowGetter(index)) === null || _rowGetter === void 0 ? void 0 : _rowGetter.notClickable) === true && classes.noClick, (_clsx = {}, _clsx[classes.tableRowHover] = index !== -1 && onRowClick != null, _clsx));
|
|
411
415
|
});
|
|
412
416
|
_defineProperty(_assertThisInitialized(_this), "onClickableRowClick", function (event) {
|
|
413
417
|
var _event$rowData;
|
|
@@ -447,7 +451,7 @@ var MuiVirtualizedTable = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
447
451
|
tooltipStyle: classes.cellTooltip
|
|
448
452
|
}));
|
|
449
453
|
});
|
|
450
|
-
_defineProperty(_assertThisInitialized(_this), "makeSizedTable", function (height, width, sizes, reorderedIndex,
|
|
454
|
+
_defineProperty(_assertThisInitialized(_this), "makeSizedTable", function (height, width, sizes, reorderedIndex, _rowGetter2) {
|
|
451
455
|
var _reorderedIndex$lengt;
|
|
452
456
|
var _this$props3 = _this.props,
|
|
453
457
|
sort = _this$props3.sort,
|
|
@@ -468,12 +472,12 @@ var MuiVirtualizedTable = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
468
472
|
var index = _ref7.index;
|
|
469
473
|
return _this.getRowClassName({
|
|
470
474
|
index: index,
|
|
471
|
-
rowGetter:
|
|
475
|
+
rowGetter: _rowGetter2
|
|
472
476
|
});
|
|
473
477
|
},
|
|
474
478
|
rowGetter: function rowGetter(_ref8) {
|
|
475
479
|
var index = _ref8.index;
|
|
476
|
-
return
|
|
480
|
+
return _rowGetter2(index);
|
|
477
481
|
}
|
|
478
482
|
}), otherProps.columns.map(function (_ref9, index) {
|
|
479
483
|
var dataKey = _ref9.dataKey,
|
|
@@ -9,6 +9,7 @@ var _TreeItem = _interopRequireDefault(require("@mui/lab/TreeItem"));
|
|
|
9
9
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
10
10
|
var _Label = _interopRequireDefault(require("@mui/icons-material/Label"));
|
|
11
11
|
var _reportTreeViewContext = _interopRequireDefault(require("./report-tree-view-context"));
|
|
12
|
+
var _system = require("@mui/system");
|
|
12
13
|
var _excluded = ["labelText", "labelIconColor"];
|
|
13
14
|
/**
|
|
14
15
|
* Copyright (c) 2021, RTE (http://www.rte-france.com)
|
|
@@ -27,23 +28,30 @@ var useReportItemStyles = (0, _makeStyles["default"])(function (theme) {
|
|
|
27
28
|
color: theme.palette.text.secondary,
|
|
28
29
|
'&:hover > $content': {
|
|
29
30
|
backgroundColor: theme.palette.action.hover
|
|
30
|
-
},
|
|
31
|
-
'&:focus > $content, &$selected > $content': {
|
|
32
|
-
backgroundColor: "var(--tree-view-bg-color, " + theme.palette.grey[400] + ")",
|
|
33
|
-
color: 'var(--tree-view-color)'
|
|
34
|
-
},
|
|
35
|
-
'&:focus > $content $label, &:hover > $content $label, &$selected > $content $label': {
|
|
36
|
-
backgroundColor: 'transparent'
|
|
37
31
|
}
|
|
38
32
|
},
|
|
39
33
|
content: {
|
|
40
34
|
color: theme.palette.text.secondary,
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
borderRadius: theme.spacing(2),
|
|
36
|
+
width: 'fit-content',
|
|
43
37
|
paddingRight: theme.spacing(1),
|
|
44
38
|
fontWeight: theme.typography.fontWeightMedium,
|
|
45
|
-
'
|
|
39
|
+
'&$expanded': {
|
|
46
40
|
fontWeight: theme.typography.fontWeightRegular
|
|
41
|
+
},
|
|
42
|
+
/* &&.Mui-focused to increase specifity because mui5 has a rule for &.Mui-selected.Mui-focused */
|
|
43
|
+
/* &&$selected to increase specifity because we have a rule for &:hover > $content on root */
|
|
44
|
+
'&&.Mui-focused, &&$selected': {
|
|
45
|
+
backgroundColor: "var(--tree-view-bg-color, " + theme.palette.action.selected + ")",
|
|
46
|
+
color: 'var(--tree-view-color)'
|
|
47
|
+
},
|
|
48
|
+
// same as mui v4 behavior on label text only right after clicking in contrast to after moving away with arrow keys.
|
|
49
|
+
'&$selected $label:hover, &$selected.Mui-focused $label': {
|
|
50
|
+
borderRadius: theme.spacing(2),
|
|
51
|
+
backgroundColor: (0, _system.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)
|
|
52
|
+
},
|
|
53
|
+
'&.Mui-focused $label, &:hover $label, &$selected $label': {
|
|
54
|
+
backgroundColor: 'transparent'
|
|
47
55
|
}
|
|
48
56
|
},
|
|
49
57
|
group: {
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
/**
|
|
8
|
+
* Copyright (c) 2023, RTE (http://www.rte-france.com)
|
|
9
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
10
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
11
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
var useDebounce = function useDebounce(func, delay) {
|
|
15
|
+
if (delay === void 0) {
|
|
16
|
+
delay = 700;
|
|
17
|
+
}
|
|
18
|
+
var debouncedChangeHandler = (0, _react.useMemo)(function () {
|
|
19
|
+
return (0, _utils.debounce)(func, delay);
|
|
20
|
+
}, [func, delay]);
|
|
21
|
+
|
|
22
|
+
// Stop the invocation of the debounced function after unmounting
|
|
23
|
+
|
|
24
|
+
(0, _react.useEffect)(function () {
|
|
25
|
+
return function () {
|
|
26
|
+
debouncedChangeHandler.clear();
|
|
27
|
+
};
|
|
28
|
+
}, [debouncedChangeHandler]);
|
|
29
|
+
return debouncedChangeHandler;
|
|
30
|
+
};
|
|
31
|
+
exports.useDebounce = useDebounce;
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.useSnackMessage = exports.useIntlRef = exports.
|
|
4
|
+
exports.useSnackMessage = exports.useIntlRef = exports.useDebounce = exports.treeview_finder_fr = exports.treeview_finder_en = exports.top_bar_fr = exports.top_bar_en = exports.table_fr = exports.table_en = exports.setSignInCallbackError = exports.setLoggedUser = exports.report_viewer_fr = exports.report_viewer_en = exports.logout = exports.login_fr = exports.login_en = exports.initializeAuthenticationProd = exports.initializeAuthenticationDev = exports.getPreLoginPath = exports.getFileIcon = exports.getEquipmentsInfosForSearchBar = exports.equipment_search_fr = exports.equipment_search_en = exports.equipmentStyles = exports.element_search_fr = exports.element_search_en = exports.elementType = exports.dispatchUser = exports.card_error_boundary_fr = exports.card_error_boundary_en = exports.USER_VALIDATION_ERROR = exports.USER = exports.UNAUTHORIZED_USER_INFO = exports.TreeViewFinder = exports.TopBar = exports.TagRenderer = exports.SnackbarProvider = exports.SIGNIN_CALLBACK_ERROR = exports.SHOW_AUTH_INFO_LOGIN = exports.ReportViewerDialog = exports.ReportViewer = exports.RESET_AUTHENTICATION_ROUTER_ERROR = exports.OverflowableText = exports.MuiVirtualizedTable = exports.LOGOUT_ERROR = exports.LIGHT_THEME = exports.LANG_SYSTEM = exports.LANG_FRENCH = exports.LANG_ENGLISH = exports.KeyedColumnsRowIndexer = exports.FlatParameters = exports.EquipmentItem = exports.ElementSearchDialog = exports.EQUIPMENT_TYPE = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_HEIGHT = exports.DEFAULT_CELL_PADDING = exports.DARK_THEME = exports.CardErrorBoundary = exports.CHANGE_WAYS = exports.AuthenticationRouter = void 0;
|
|
5
5
|
var _TreeViewFinder = _interopRequireDefault(require("./components/TreeViewFinder"));
|
|
6
6
|
exports.TreeViewFinder = _TreeViewFinder["default"];
|
|
7
7
|
var _TopBar = _interopRequireDefault(require("./components/TopBar"));
|
|
@@ -94,14 +94,12 @@ var _equipmentItem = require("./components/ElementSearchDialog/equipment-item");
|
|
|
94
94
|
exports.EquipmentItem = _equipmentItem.EquipmentItem;
|
|
95
95
|
var _CardErrorBoundary = _interopRequireDefault(require("./components/CardErrorBoundary"));
|
|
96
96
|
exports.CardErrorBoundary = _CardErrorBoundary["default"];
|
|
97
|
-
var _useImportExportParams = require("./hooks/useImportExportParams");
|
|
98
|
-
exports.useImportExportParams = _useImportExportParams.useImportExportParams;
|
|
99
|
-
exports.makeDeltaMap = _useImportExportParams.makeDeltaMap;
|
|
100
|
-
exports.extractDefaultMap = _useImportExportParams.extractDefaultMap;
|
|
101
97
|
var _useIntlRef = require("./hooks/useIntlRef");
|
|
102
98
|
exports.useIntlRef = _useIntlRef.useIntlRef;
|
|
103
99
|
var _useSnackMessage = require("./hooks/useSnackMessage");
|
|
104
100
|
exports.useSnackMessage = _useSnackMessage.useSnackMessage;
|
|
101
|
+
var _useDebounce = require("./hooks/useDebounce");
|
|
102
|
+
exports.useDebounce = _useDebounce.useDebounce;
|
|
105
103
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
106
104
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
107
105
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
package/package.json
CHANGED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.extractDefaultMap = extractDefaultMap;
|
|
5
|
-
exports.makeDeltaMap = makeDeltaMap;
|
|
6
|
-
exports.useImportExportParams = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _FlatParameters = _interopRequireWildcard(require("../components/FlatParameters/FlatParameters"));
|
|
9
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
10
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
11
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /**
|
|
12
|
-
* Copyright (c) 2022, RTE (http://www.rte-france.com)
|
|
13
|
-
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
14
|
-
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
15
|
-
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
16
|
-
*/ // Hook taking an array of parameters with this format
|
|
17
|
-
// [{"name":"nameOfParam","type":"typeOfParam","description":"descriptionOfParam","defaultValue":"defaultValue","possibleValues":[arrayOfPossibleValue]}]
|
|
18
|
-
// Returns :
|
|
19
|
-
// - an object containing those modified values to be able to send them to a backend
|
|
20
|
-
// - a render of a form allowing to modify those values
|
|
21
|
-
// - a function allowing to reset the fields
|
|
22
|
-
function areEquivDeeply(a, b) {
|
|
23
|
-
if (a === b) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
var aIsArray = Array.isArray(a);
|
|
27
|
-
var bIsArray = Array.isArray(b);
|
|
28
|
-
if (aIsArray || bIsArray) {
|
|
29
|
-
if (aIsArray && bIsArray && a.length === b.length) {
|
|
30
|
-
var i = 0;
|
|
31
|
-
while (i < a.length && areEquivDeeply(a[i], b[i])) {
|
|
32
|
-
++i;
|
|
33
|
-
}
|
|
34
|
-
if (i >= a.length) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
if (typeof a !== 'object' || typeof b !== 'object') {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
return areEquivDeeply(Object.entries(a), Object.entries(b));
|
|
44
|
-
}
|
|
45
|
-
function extractDefaultMap(paramsAsArray) {
|
|
46
|
-
return Object.fromEntries(paramsAsArray.map(function (paramDescription) {
|
|
47
|
-
return [paramDescription.name, (0, _FlatParameters.extractDefault)(paramDescription)];
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
function makeDeltaMap(defaultMap, changingMap) {
|
|
51
|
-
if (!changingMap) {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
var delta = {};
|
|
55
|
-
Object.entries(defaultMap).forEach(function (_ref) {
|
|
56
|
-
var k = _ref[0],
|
|
57
|
-
v = _ref[1];
|
|
58
|
-
var m = changingMap[k];
|
|
59
|
-
if (!areEquivDeeply(v, m)) {
|
|
60
|
-
delta[k] = m;
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
return Object.keys(delta).length ? delta : null;
|
|
64
|
-
}
|
|
65
|
-
function makeFullMap(defaultMap, changingMap) {
|
|
66
|
-
if (!changingMap) {
|
|
67
|
-
return _extends({}, defaultMap);
|
|
68
|
-
}
|
|
69
|
-
var full = {};
|
|
70
|
-
Object.entries(defaultMap).forEach(function (_ref2) {
|
|
71
|
-
var k = _ref2[0],
|
|
72
|
-
v = _ref2[1];
|
|
73
|
-
if (!changingMap.hasOwnProperty(k)) {
|
|
74
|
-
full[k] = v;
|
|
75
|
-
} else {
|
|
76
|
-
var m = changingMap[k];
|
|
77
|
-
if (!areEquivDeeply(v, m)) {
|
|
78
|
-
full[k] = m;
|
|
79
|
-
} else {
|
|
80
|
-
full[k] = v;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
return full;
|
|
85
|
-
}
|
|
86
|
-
var useImportExportParams = function useImportExportParams(paramsAsArray, initValues, returnsDelta, variant) {
|
|
87
|
-
if (returnsDelta === void 0) {
|
|
88
|
-
returnsDelta = true;
|
|
89
|
-
}
|
|
90
|
-
if (variant === void 0) {
|
|
91
|
-
variant = 'outlined';
|
|
92
|
-
}
|
|
93
|
-
var defaultValues = (0, _react.useMemo)(function () {
|
|
94
|
-
return extractDefaultMap(paramsAsArray);
|
|
95
|
-
}, [paramsAsArray]);
|
|
96
|
-
var baseValues = (0, _react.useMemo)(function () {
|
|
97
|
-
return makeFullMap(defaultValues, initValues);
|
|
98
|
-
}, [defaultValues, initValues]);
|
|
99
|
-
var _useState = (0, _react.useState)(baseValues),
|
|
100
|
-
currentValues = _useState[0],
|
|
101
|
-
setCurrentValues = _useState[1];
|
|
102
|
-
var prevRef = (0, _react.useRef)();
|
|
103
|
-
var onChange = (0, _react.useCallback)(function (paramName, value, isEdit) {
|
|
104
|
-
if (!isEdit) {
|
|
105
|
-
setCurrentValues(function (prevCurrentValues) {
|
|
106
|
-
var _extends2;
|
|
107
|
-
return _extends({}, prevCurrentValues, (_extends2 = {}, _extends2[paramName] = value, _extends2));
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}, []);
|
|
111
|
-
var resetValuesToDefault = (0, _react.useCallback)(function (isToInit) {
|
|
112
|
-
if (isToInit === void 0) {
|
|
113
|
-
isToInit = true;
|
|
114
|
-
}
|
|
115
|
-
setCurrentValues(isToInit ? baseValues : defaultValues);
|
|
116
|
-
}, [defaultValues, baseValues]);
|
|
117
|
-
var jsx = (0, _react.useMemo)(function () {
|
|
118
|
-
return /*#__PURE__*/_react["default"].createElement(_FlatParameters["default"], {
|
|
119
|
-
paramsAsArray: paramsAsArray,
|
|
120
|
-
initValues: currentValues,
|
|
121
|
-
onChange: onChange,
|
|
122
|
-
variant: variant
|
|
123
|
-
});
|
|
124
|
-
}, [paramsAsArray, currentValues, onChange, variant]);
|
|
125
|
-
var ret;
|
|
126
|
-
if (prevRef.current && areEquivDeeply(prevRef.current.currentValues, currentValues)) {
|
|
127
|
-
if (!returnsDelta) {
|
|
128
|
-
ret = [prevRef.current.currentValues, jsx, resetValuesToDefault];
|
|
129
|
-
} else if (!prevRef.current.deltaValues) {
|
|
130
|
-
ret = [makeDeltaMap(defaultValues, currentValues), jsx, resetValuesToDefault];
|
|
131
|
-
} else {
|
|
132
|
-
ret = [prevRef.current.deltaValues, jsx, resetValuesToDefault];
|
|
133
|
-
}
|
|
134
|
-
} else {
|
|
135
|
-
ret = [returnsDelta ? makeDeltaMap(defaultValues, currentValues) : currentValues, jsx, resetValuesToDefault];
|
|
136
|
-
}
|
|
137
|
-
prevRef.current = {
|
|
138
|
-
currentValues: currentValues,
|
|
139
|
-
jsx: ret[1],
|
|
140
|
-
deltaValues: returnsDelta ? ret[0] : null
|
|
141
|
-
};
|
|
142
|
-
return ret;
|
|
143
|
-
};
|
|
144
|
-
exports.useImportExportParams = useImportExportParams;
|