@gridsuite/commons-ui 0.32.2 → 0.34.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 +31 -13
- 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
|
@@ -26,6 +26,7 @@ var useStyles = (0, _makeStyles["default"])(function (theme) {
|
|
|
26
26
|
margin: 0
|
|
27
27
|
},
|
|
28
28
|
paramListItem: {
|
|
29
|
+
display: 'flex',
|
|
29
30
|
justifyContent: 'space-between',
|
|
30
31
|
gap: theme.spacing(2),
|
|
31
32
|
paddingLeft: 0,
|
|
@@ -98,7 +99,9 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
98
99
|
initValues = _ref.initValues,
|
|
99
100
|
onChange = _ref.onChange,
|
|
100
101
|
_ref$variant = _ref.variant,
|
|
101
|
-
variant = _ref$variant === void 0 ? 'outlined' : _ref$variant
|
|
102
|
+
variant = _ref$variant === void 0 ? 'outlined' : _ref$variant,
|
|
103
|
+
_ref$showSeparator = _ref.showSeparator,
|
|
104
|
+
showSeparator = _ref$showSeparator === void 0 ? false : _ref$showSeparator;
|
|
102
105
|
var classes = useStyles();
|
|
103
106
|
var intl = (0, _reactIntl.useIntl)();
|
|
104
107
|
var longestPrefix = longestCommonPrefix(paramsAsArray.map(function (m) {
|
|
@@ -193,6 +196,7 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
193
196
|
switch (param.type) {
|
|
194
197
|
case 'BOOLEAN':
|
|
195
198
|
return /*#__PURE__*/_react["default"].createElement(_material.Switch, {
|
|
199
|
+
size: 'small',
|
|
196
200
|
checked: !!fieldValue,
|
|
197
201
|
onChange: function onChange(e) {
|
|
198
202
|
return onFieldChange(e.target.checked, param);
|
|
@@ -201,9 +205,12 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
201
205
|
case 'DOUBLE':
|
|
202
206
|
var err = isNaN(fieldValue) || typeof fieldValue !== 'number' && !!fieldValue && isNaN(fieldValue - 0);
|
|
203
207
|
return /*#__PURE__*/_react["default"].createElement(_material.TextField, {
|
|
204
|
-
|
|
208
|
+
size: 'small',
|
|
205
209
|
sx: {
|
|
206
|
-
|
|
210
|
+
width: '50%'
|
|
211
|
+
},
|
|
212
|
+
inputProps: {
|
|
213
|
+
style: {
|
|
207
214
|
textAlign: 'right'
|
|
208
215
|
}
|
|
209
216
|
},
|
|
@@ -225,9 +232,12 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
225
232
|
});
|
|
226
233
|
case 'INTEGER':
|
|
227
234
|
return /*#__PURE__*/_react["default"].createElement(_material.TextField, {
|
|
228
|
-
|
|
235
|
+
size: 'small',
|
|
229
236
|
sx: {
|
|
230
|
-
|
|
237
|
+
width: '50%'
|
|
238
|
+
},
|
|
239
|
+
inputProps: {
|
|
240
|
+
style: {
|
|
231
241
|
textAlign: 'right'
|
|
232
242
|
}
|
|
233
243
|
},
|
|
@@ -251,6 +261,7 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
251
261
|
return /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
|
|
252
262
|
fullWidth: true,
|
|
253
263
|
multiple: true,
|
|
264
|
+
size: 'small',
|
|
254
265
|
options: sortPossibleValues(param.name, param.possibleValues).map(function (v) {
|
|
255
266
|
return v.id;
|
|
256
267
|
}),
|
|
@@ -279,11 +290,14 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
279
290
|
} else {
|
|
280
291
|
// no possible values => free user inputs
|
|
281
292
|
return /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
|
|
282
|
-
fullWidth: true,
|
|
283
293
|
multiple: true,
|
|
284
294
|
freeSolo: true,
|
|
285
295
|
autoSelect: true,
|
|
296
|
+
sx: {
|
|
297
|
+
width: '50%'
|
|
298
|
+
},
|
|
286
299
|
options: [],
|
|
300
|
+
size: 'small',
|
|
287
301
|
onChange: function onChange(e, value) {
|
|
288
302
|
return onFieldChange(value, param);
|
|
289
303
|
},
|
|
@@ -329,7 +343,10 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
329
343
|
// else fallthrough to default
|
|
330
344
|
default:
|
|
331
345
|
return /*#__PURE__*/_react["default"].createElement(_material.TextField, {
|
|
332
|
-
|
|
346
|
+
sx: {
|
|
347
|
+
width: '50%'
|
|
348
|
+
},
|
|
349
|
+
size: 'small',
|
|
333
350
|
value: fieldValue || '',
|
|
334
351
|
onFocus: function onFocus() {
|
|
335
352
|
return onUncommitted(param, true);
|
|
@@ -346,23 +363,24 @@ var FlatParameters = function FlatParameters(_ref) {
|
|
|
346
363
|
};
|
|
347
364
|
return /*#__PURE__*/_react["default"].createElement(_material.List, {
|
|
348
365
|
className: classes.paramList
|
|
349
|
-
}, paramsAsArray.map(function (param) {
|
|
350
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
366
|
+
}, paramsAsArray.map(function (param, index) {
|
|
367
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
|
|
368
|
+
key: param.name
|
|
369
|
+
}, /*#__PURE__*/_react["default"].createElement(_material.ListItem, {
|
|
370
|
+
className: classes.paramListItem
|
|
371
|
+
}, /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
|
|
351
372
|
title: /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
|
|
352
373
|
id: param.name + '.desc',
|
|
353
374
|
defaultMessage: param.description
|
|
354
375
|
}),
|
|
355
376
|
enterDelay: 1200,
|
|
356
377
|
key: param.name
|
|
357
|
-
}, /*#__PURE__*/_react["default"].createElement(_material.ListItem, {
|
|
358
|
-
key: param.name,
|
|
359
|
-
className: classes.paramListItem
|
|
360
378
|
}, /*#__PURE__*/_react["default"].createElement(_material.Typography, {
|
|
361
379
|
className: classes.paramName
|
|
362
380
|
}, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
|
|
363
381
|
id: param.name,
|
|
364
382
|
defaultMessage: param.name.slice(prefix.length)
|
|
365
|
-
})), renderField(param)));
|
|
383
|
+
}))), renderField(param)), showSeparator && index !== paramsAsArray.length - 1 && /*#__PURE__*/_react["default"].createElement(_material.Divider, null));
|
|
366
384
|
}));
|
|
367
385
|
};
|
|
368
386
|
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;
|