@gridsuite/commons-ui 0.13.1 → 0.14.3
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 +3 -3
- package/lib/components/ElementSearchDialog/element-search-dialog.js +145 -0
- package/lib/components/ElementSearchDialog/index.js +12 -0
- package/lib/components/TopBar/TopBar.js +69 -10
- package/lib/components/TreeViewFinder/TreeViewFinder.js +333 -0
- package/lib/components/TreeViewFinder/index.js +12 -0
- package/lib/components/translations/element-search-en.js +10 -0
- package/lib/components/translations/element-search-fr.js +10 -0
- package/lib/components/translations/equipment-search-en.js +24 -0
- package/lib/components/translations/equipment-search-fr.js +24 -0
- package/lib/components/translations/treeview-finder-en.js +17 -0
- package/lib/components/translations/treeview-finder-fr.js +17 -0
- package/lib/index.js +41 -1
- package/lib/utils/ElementType.js +71 -0
- package/lib/utils/EquipmentType.js +197 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -34,10 +34,10 @@ and then rerun npm install.
|
|
|
34
34
|
If you want to deploy a new version of commons-ui in the [NPM package registry](https://www.npmjs.com/package/@gridsuite/commons-ui),
|
|
35
35
|
you need to follow the steps below:
|
|
36
36
|
|
|
37
|
-
- Update to the new version in [package.json](https://github.com/gridsuite/commons-ui/blob/
|
|
37
|
+
- Update to the new version in [package.json](https://github.com/gridsuite/commons-ui/blob/main/package.json) (example `0.6.0`)
|
|
38
38
|
- Build it: `npm install`
|
|
39
|
-
- Commit the package.json and package-lock.json files, push to a branch, make a PR, have it reviewed and merged to
|
|
40
|
-
- Pull and checkout
|
|
39
|
+
- Commit the package.json and package-lock.json files, push to a branch, make a PR, have it reviewed and merged to main.
|
|
40
|
+
- Pull and checkout main on your last commit.
|
|
41
41
|
- [Tag your last commit](https://semver.org/) : `git tag <tag>` (example: `v0.6.0`)
|
|
42
42
|
- Push tag : `git push origin <tag>`
|
|
43
43
|
- Checkout the tag in a fresh repo copy : `cd $(mktemp -d) && git clone https://github.com/gridsuite/commons-ui.git` then `cd commons-ui && git checkout <tag>`
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
+
|
|
8
|
+
var _styles = require("@material-ui/core/styles");
|
|
9
|
+
|
|
10
|
+
var _core = require("@material-ui/core");
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _lab = require("@material-ui/lab");
|
|
15
|
+
|
|
16
|
+
var _Search = _interopRequireDefault(require("@material-ui/icons/Search"));
|
|
17
|
+
|
|
18
|
+
var _reactIntl = require("react-intl");
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
function _extends() { _extends = Object.assign || 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); }
|
|
27
|
+
|
|
28
|
+
var TERM_MIN_SIZE_BEFORE_SEARCH = 3;
|
|
29
|
+
var useStyles = (0, _styles.makeStyles)({
|
|
30
|
+
title: {
|
|
31
|
+
padding: '0px'
|
|
32
|
+
},
|
|
33
|
+
content: {
|
|
34
|
+
display: 'flex',
|
|
35
|
+
alignItems: 'end',
|
|
36
|
+
padding: '20px',
|
|
37
|
+
paddingRight: '0px'
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
var ElementSearchDialog = function ElementSearchDialog(props) {
|
|
42
|
+
var classes = useStyles();
|
|
43
|
+
var intl = (0, _reactIntl.useIntl)();
|
|
44
|
+
var open = props.open,
|
|
45
|
+
onClose = props.onClose,
|
|
46
|
+
searchingLabel = props.searchingLabel,
|
|
47
|
+
onSearchTermChange = props.onSearchTermChange,
|
|
48
|
+
onSelectionChange = props.onSelectionChange,
|
|
49
|
+
elementsFound = props.elementsFound,
|
|
50
|
+
renderElement = props.renderElement;
|
|
51
|
+
|
|
52
|
+
var _useState = (0, _react.useState)([]),
|
|
53
|
+
elements = _useState[0],
|
|
54
|
+
setElements = _useState[1];
|
|
55
|
+
|
|
56
|
+
var _useState2 = (0, _react.useState)(false),
|
|
57
|
+
expanded = _useState2[0],
|
|
58
|
+
setExpanded = _useState2[1];
|
|
59
|
+
|
|
60
|
+
var _useState3 = (0, _react.useState)(false),
|
|
61
|
+
loading = _useState3[0],
|
|
62
|
+
setLoading = _useState3[1];
|
|
63
|
+
|
|
64
|
+
(0, _react.useEffect)(function () {
|
|
65
|
+
setLoading(false);
|
|
66
|
+
setElements(elementsFound);
|
|
67
|
+
}, [elementsFound]);
|
|
68
|
+
|
|
69
|
+
var handleSearchTermChange = function handleSearchTermChange(term) {
|
|
70
|
+
if (term.length >= TERM_MIN_SIZE_BEFORE_SEARCH) {
|
|
71
|
+
setLoading(true);
|
|
72
|
+
onSearchTermChange(term);
|
|
73
|
+
setExpanded(true);
|
|
74
|
+
} else {
|
|
75
|
+
setElements([]);
|
|
76
|
+
setExpanded(false);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
|
|
81
|
+
open: open,
|
|
82
|
+
onClose: onClose,
|
|
83
|
+
"aria-labelledby": "dialog-title-search",
|
|
84
|
+
fullWidth: true
|
|
85
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, {
|
|
86
|
+
className: classes.title
|
|
87
|
+
}), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_lab.Autocomplete, {
|
|
88
|
+
id: "element-search",
|
|
89
|
+
forcePopupIcon: false,
|
|
90
|
+
open: expanded,
|
|
91
|
+
onOpen: function onOpen() {
|
|
92
|
+
setElements([]);
|
|
93
|
+
},
|
|
94
|
+
onClose: function onClose() {
|
|
95
|
+
setExpanded(false);
|
|
96
|
+
},
|
|
97
|
+
fullWidth: true,
|
|
98
|
+
onInputChange: function onInputChange(event, value) {
|
|
99
|
+
return handleSearchTermChange(value);
|
|
100
|
+
},
|
|
101
|
+
onChange: function onChange(event, newValue) {
|
|
102
|
+
return onSelectionChange(newValue);
|
|
103
|
+
},
|
|
104
|
+
getOptionLabel: function getOptionLabel(option) {
|
|
105
|
+
return option.label;
|
|
106
|
+
},
|
|
107
|
+
getOptionSelected: function getOptionSelected(option, value) {
|
|
108
|
+
return option.id === value.id;
|
|
109
|
+
},
|
|
110
|
+
options: elements,
|
|
111
|
+
loading: loading,
|
|
112
|
+
autoHighlight: true,
|
|
113
|
+
noOptionsText: intl.formatMessage({
|
|
114
|
+
id: 'element_search/noResult'
|
|
115
|
+
}),
|
|
116
|
+
renderOption: renderElement,
|
|
117
|
+
renderInput: function renderInput(params) {
|
|
118
|
+
return /*#__PURE__*/_react["default"].createElement(_core.TextField, _extends({
|
|
119
|
+
autoFocus: true
|
|
120
|
+
}, params, {
|
|
121
|
+
label: searchingLabel || intl.formatMessage({
|
|
122
|
+
id: 'element_search/noResult'
|
|
123
|
+
}),
|
|
124
|
+
InputProps: _extends({}, params.InputProps, {
|
|
125
|
+
startAdornment: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Search["default"], {
|
|
126
|
+
color: "disabled"
|
|
127
|
+
}), params.InputProps.startAdornment)
|
|
128
|
+
})
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
})));
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
ElementSearchDialog.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
135
|
+
open: _propTypes["default"].bool.isRequired,
|
|
136
|
+
onClose: _propTypes["default"].func.isRequired,
|
|
137
|
+
searchingLabel: _propTypes["default"].string,
|
|
138
|
+
onSearchTermChange: _propTypes["default"].func.isRequired,
|
|
139
|
+
onSelectionChange: _propTypes["default"].func.isRequired,
|
|
140
|
+
elementsFound: _propTypes["default"].array.isRequired,
|
|
141
|
+
renderElement: _propTypes["default"].func.isRequired
|
|
142
|
+
} : {};
|
|
143
|
+
var _default = ElementSearchDialog;
|
|
144
|
+
exports["default"] = _default;
|
|
145
|
+
module.exports = exports.default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _elementSearchDialog = _interopRequireDefault(require("./element-search-dialog"));
|
|
7
|
+
|
|
8
|
+
exports["default"] = _elementSearchDialog["default"];
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
module.exports = exports.default;
|
|
@@ -31,6 +31,8 @@ var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemTe
|
|
|
31
31
|
|
|
32
32
|
var _Apps = _interopRequireDefault(require("@material-ui/icons/Apps"));
|
|
33
33
|
|
|
34
|
+
var _Search = _interopRequireDefault(require("@material-ui/icons/Search"));
|
|
35
|
+
|
|
34
36
|
var _FullscreenExit = _interopRequireDefault(require("@material-ui/icons/FullscreenExit"));
|
|
35
37
|
|
|
36
38
|
var _ArrowDropDown = _interopRequireDefault(require("@material-ui/icons/ArrowDropDown"));
|
|
@@ -65,6 +67,10 @@ var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
|
|
|
65
67
|
|
|
66
68
|
var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/ClickAwayListener"));
|
|
67
69
|
|
|
70
|
+
var _clsx3 = _interopRequireDefault(require("clsx"));
|
|
71
|
+
|
|
72
|
+
var _ElementSearchDialog = _interopRequireDefault(require("../ElementSearchDialog"));
|
|
73
|
+
|
|
68
74
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
69
75
|
|
|
70
76
|
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); }
|
|
@@ -83,7 +89,6 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
|
83
89
|
flexShrink: 0,
|
|
84
90
|
width: 48,
|
|
85
91
|
height: 48,
|
|
86
|
-
cursor: 'pointer',
|
|
87
92
|
marginBottom: 8
|
|
88
93
|
},
|
|
89
94
|
menuIcon: {
|
|
@@ -91,7 +96,9 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
|
91
96
|
height: 24
|
|
92
97
|
},
|
|
93
98
|
title: {
|
|
94
|
-
marginLeft: 18
|
|
99
|
+
marginLeft: 18
|
|
100
|
+
},
|
|
101
|
+
clickable: {
|
|
95
102
|
cursor: 'pointer'
|
|
96
103
|
},
|
|
97
104
|
link: {
|
|
@@ -199,6 +206,8 @@ var EN = 'EN';
|
|
|
199
206
|
var FR = 'FR';
|
|
200
207
|
|
|
201
208
|
var TopBar = function TopBar(_ref) {
|
|
209
|
+
var _clsx, _clsx2;
|
|
210
|
+
|
|
202
211
|
var appName = _ref.appName,
|
|
203
212
|
appColor = _ref.appColor,
|
|
204
213
|
appLogo = _ref.appLogo,
|
|
@@ -213,6 +222,12 @@ var TopBar = function TopBar(_ref) {
|
|
|
213
222
|
theme = _ref.theme,
|
|
214
223
|
onEquipmentLabellingClick = _ref.onEquipmentLabellingClick,
|
|
215
224
|
equipmentLabelling = _ref.equipmentLabelling,
|
|
225
|
+
withElementsSearch = _ref.withElementsSearch,
|
|
226
|
+
searchingLabel = _ref.searchingLabel,
|
|
227
|
+
onSearchTermChange = _ref.onSearchTermChange,
|
|
228
|
+
_onSelectionChange = _ref.onSelectionChange,
|
|
229
|
+
elementsFound = _ref.elementsFound,
|
|
230
|
+
renderElement = _ref.renderElement,
|
|
216
231
|
onLanguageClick = _ref.onLanguageClick,
|
|
217
232
|
language = _ref.language;
|
|
218
233
|
var classes = useStyles();
|
|
@@ -237,6 +252,14 @@ var TopBar = function TopBar(_ref) {
|
|
|
237
252
|
isMenuOpen = _useState2[0],
|
|
238
253
|
setMenuOpen = _useState2[1];
|
|
239
254
|
|
|
255
|
+
var _useState3 = (0, _react.useState)(false),
|
|
256
|
+
isDialogSearchOpen = _useState3[0],
|
|
257
|
+
setDialogSearchOpen = _useState3[1];
|
|
258
|
+
|
|
259
|
+
var handleClickElementSearch = function handleClickElementSearch() {
|
|
260
|
+
setDialogSearchOpen(true);
|
|
261
|
+
};
|
|
262
|
+
|
|
240
263
|
var handleToggleSettingsMenu = function handleToggleSettingsMenu() {
|
|
241
264
|
setAnchorElSettingsMenu(true);
|
|
242
265
|
setMenuOpen(true);
|
|
@@ -311,6 +334,16 @@ var TopBar = function TopBar(_ref) {
|
|
|
311
334
|
}
|
|
312
335
|
};
|
|
313
336
|
|
|
337
|
+
(0, _react.useEffect)(function () {
|
|
338
|
+
if (user && withElementsSearch) {
|
|
339
|
+
document.addEventListener('keydown', function (e) {
|
|
340
|
+
if (e.ctrlKey && e.key === 'f') {
|
|
341
|
+
e.preventDefault();
|
|
342
|
+
setDialogSearchOpen(true);
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
}, [user, withElementsSearch]);
|
|
314
347
|
return /*#__PURE__*/_react["default"].createElement(_AppBar["default"], {
|
|
315
348
|
position: "static",
|
|
316
349
|
color: "default",
|
|
@@ -322,11 +355,11 @@ var TopBar = function TopBar(_ref) {
|
|
|
322
355
|
return console.debug('full screen error : ' + e.message);
|
|
323
356
|
}
|
|
324
357
|
}), /*#__PURE__*/_react["default"].createElement(_Toolbar["default"], null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
325
|
-
className: classes.logo,
|
|
358
|
+
className: (0, _clsx3["default"])(classes.logo, (_clsx = {}, _clsx[classes.clickable] = onLogoClick, _clsx)),
|
|
326
359
|
onClick: onLogoClick
|
|
327
360
|
}, appLogo), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
328
361
|
variant: "h4",
|
|
329
|
-
className: classes.title,
|
|
362
|
+
className: (0, _clsx3["default"])(classes.title, (_clsx2 = {}, _clsx2[classes.clickable] = onLogoClick, _clsx2)),
|
|
330
363
|
onClick: onLogoClick
|
|
331
364
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
332
365
|
style: {
|
|
@@ -338,7 +371,23 @@ var TopBar = function TopBar(_ref) {
|
|
|
338
371
|
}
|
|
339
372
|
}, appName)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
340
373
|
className: classes.grow
|
|
341
|
-
}, children), user && /*#__PURE__*/_react["default"].createElement("
|
|
374
|
+
}, children), user && withElementsSearch && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_ElementSearchDialog["default"], {
|
|
375
|
+
open: isDialogSearchOpen,
|
|
376
|
+
onClose: function onClose() {
|
|
377
|
+
return setDialogSearchOpen(false);
|
|
378
|
+
},
|
|
379
|
+
searchingLabel: searchingLabel,
|
|
380
|
+
onSearchTermChange: onSearchTermChange,
|
|
381
|
+
onSelectionChange: function onSelectionChange(element) {
|
|
382
|
+
setDialogSearchOpen(false);
|
|
383
|
+
|
|
384
|
+
_onSelectionChange(element);
|
|
385
|
+
},
|
|
386
|
+
elementsFound: elementsFound,
|
|
387
|
+
renderElement: renderElement
|
|
388
|
+
}), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
389
|
+
onClick: handleClickElementSearch
|
|
390
|
+
}, /*#__PURE__*/_react["default"].createElement(_Search["default"], null)))), user && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
342
391
|
"aria-controls": "apps-menu",
|
|
343
392
|
"aria-haspopup": "true",
|
|
344
393
|
onClick: handleClickAppsMenu
|
|
@@ -348,7 +397,9 @@ var TopBar = function TopBar(_ref) {
|
|
|
348
397
|
keepMounted: true,
|
|
349
398
|
open: Boolean(anchorElAppsMenu),
|
|
350
399
|
onClose: handleCloseAppsMenu
|
|
351
|
-
}, appsAndUrls && appsAndUrls.
|
|
400
|
+
}, appsAndUrls && appsAndUrls.filter(function (item) {
|
|
401
|
+
return !item.hiddenInAppsMenu;
|
|
402
|
+
}).map(function (item) {
|
|
352
403
|
return /*#__PURE__*/_react["default"].createElement("a", {
|
|
353
404
|
key: item.name,
|
|
354
405
|
href: item.url,
|
|
@@ -412,7 +463,8 @@ var TopBar = function TopBar(_ref) {
|
|
|
412
463
|
style: {
|
|
413
464
|
opacity: '1',
|
|
414
465
|
paddingTop: '10px',
|
|
415
|
-
paddingBottom: '10px'
|
|
466
|
+
paddingBottom: '10px',
|
|
467
|
+
backgroundColor: 'transparent'
|
|
416
468
|
}
|
|
417
469
|
}, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
418
470
|
className: classes.sizeLabel
|
|
@@ -443,7 +495,8 @@ var TopBar = function TopBar(_ref) {
|
|
|
443
495
|
opacity: '1',
|
|
444
496
|
// padding: '0',
|
|
445
497
|
paddingTop: '10px',
|
|
446
|
-
paddingBottom: '10px'
|
|
498
|
+
paddingBottom: '10px',
|
|
499
|
+
backgroundColor: 'transparent'
|
|
447
500
|
}
|
|
448
501
|
}, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
449
502
|
className: classes.sizeLabel
|
|
@@ -472,7 +525,8 @@ var TopBar = function TopBar(_ref) {
|
|
|
472
525
|
style: {
|
|
473
526
|
opacity: '1',
|
|
474
527
|
paddingTop: '10px',
|
|
475
|
-
paddingBottom: '10px'
|
|
528
|
+
paddingBottom: '10px',
|
|
529
|
+
backgroundColor: 'transparent'
|
|
476
530
|
}
|
|
477
531
|
}, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
478
532
|
className: classes.sizeLabel
|
|
@@ -557,13 +611,18 @@ TopBar.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
557
611
|
appColor: _propTypes["default"].string,
|
|
558
612
|
appLogo: _propTypes["default"].object,
|
|
559
613
|
user: _propTypes["default"].object,
|
|
560
|
-
children: _propTypes["default"].
|
|
614
|
+
children: _propTypes["default"].node,
|
|
561
615
|
appsAndUrls: _propTypes["default"].array,
|
|
562
616
|
onThemeClick: _propTypes["default"].func,
|
|
563
617
|
theme: _propTypes["default"].string,
|
|
564
618
|
onAboutClick: _propTypes["default"].func,
|
|
565
619
|
onEquipmentLabellingClick: _propTypes["default"].func,
|
|
566
620
|
equipmentLabelling: _propTypes["default"].bool,
|
|
621
|
+
withElementsSearch: _propTypes["default"].bool,
|
|
622
|
+
searchingLabel: _propTypes["default"].string,
|
|
623
|
+
onSearchTermChange: _propTypes["default"].func,
|
|
624
|
+
onSelectionChange: _propTypes["default"].func,
|
|
625
|
+
elementsFound: _propTypes["default"].array,
|
|
567
626
|
onLanguageClick: _propTypes["default"].func.isRequired,
|
|
568
627
|
language: _propTypes["default"].string.isRequired
|
|
569
628
|
} : {};
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactIntl = require("react-intl");
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _styles = require("@material-ui/core/styles");
|
|
13
|
+
|
|
14
|
+
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
15
|
+
|
|
16
|
+
var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
|
|
17
|
+
|
|
18
|
+
var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
|
|
19
|
+
|
|
20
|
+
var _DialogContentText = _interopRequireDefault(require("@material-ui/core/DialogContentText"));
|
|
21
|
+
|
|
22
|
+
var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
|
|
23
|
+
|
|
24
|
+
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
25
|
+
|
|
26
|
+
var _TreeItem = _interopRequireDefault(require("@material-ui/lab/TreeItem"));
|
|
27
|
+
|
|
28
|
+
var _TreeView = _interopRequireDefault(require("@material-ui/lab/TreeView"));
|
|
29
|
+
|
|
30
|
+
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
31
|
+
|
|
32
|
+
var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
|
|
33
|
+
|
|
34
|
+
var _ChevronRight = _interopRequireDefault(require("@material-ui/icons/ChevronRight"));
|
|
35
|
+
|
|
36
|
+
var _Check = _interopRequireDefault(require("@material-ui/icons/Check"));
|
|
37
|
+
|
|
38
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
|
+
|
|
40
|
+
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); }
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Copyright (c) 2021, RTE (http://www.rte-france.com)
|
|
46
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
47
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
48
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
49
|
+
*/
|
|
50
|
+
var defaultStyles = {
|
|
51
|
+
dialogPaper: {
|
|
52
|
+
minWidth: '50%'
|
|
53
|
+
},
|
|
54
|
+
labelRoot: {
|
|
55
|
+
display: 'flex',
|
|
56
|
+
alignContent: 'center',
|
|
57
|
+
alignItems: 'center'
|
|
58
|
+
},
|
|
59
|
+
labelText: {
|
|
60
|
+
fontWeight: 'inherit',
|
|
61
|
+
flexGrow: 1
|
|
62
|
+
},
|
|
63
|
+
labelIcon: {
|
|
64
|
+
display: 'flex',
|
|
65
|
+
alignContent: 'center',
|
|
66
|
+
alignItems: 'center',
|
|
67
|
+
marginRight: '4px'
|
|
68
|
+
},
|
|
69
|
+
icon: {}
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* This callback type is called `onTreeBrowseCallback` and is displayed as a global symbol.
|
|
73
|
+
*
|
|
74
|
+
* @callback onTreeBrowseCallback
|
|
75
|
+
* @param {string} nodeId The id of the node clicked
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* TreeViewFinder documentation :
|
|
80
|
+
* Component to choose elements in a flat list or a Tree data structure
|
|
81
|
+
* It is flexible and allow controlled props to let Parent component manage
|
|
82
|
+
* data.
|
|
83
|
+
*
|
|
84
|
+
* @param {Object} classes - CSS classes, please use withStyles API from MaterialUI
|
|
85
|
+
* @param {String} [title] - Title of the Dialog
|
|
86
|
+
* @param {Boolean} open - dialog state boolean handler (Controlled)
|
|
87
|
+
* @param {EventListener} onClose - onClose callback to call when closing dialog
|
|
88
|
+
* @param {Object[]} data - data to feed the component (Controlled).
|
|
89
|
+
* @param {String} data[].id - Uuid of the object in Tree
|
|
90
|
+
* @param {String} data[].parentId - Uuid of the parent node in Tree
|
|
91
|
+
* @param {String} data[].name - name of the node to print in Tree
|
|
92
|
+
* @param {Object[]} [data[].children] - array of children nodes, if undefined, the node is a leaf.
|
|
93
|
+
* @param {String} [data[].icon] - JSX of an icon to display next a node
|
|
94
|
+
* @callback onTreeBrowse - callback to update data prop when walk into Tree
|
|
95
|
+
* @param {Array} [defaultSelected=[]] - selected items at mount (Uncontrolled)
|
|
96
|
+
* @param {Array} [defaultExpanded=[]] - ids of the expanded items at mount (Uncontrolled)
|
|
97
|
+
* @param {String} [validationButtonText=default text] - Customized Validation Button text (default: Add N Elements)
|
|
98
|
+
* @param {Boolean} [onlyLeaves=true] - Allow/Forbid selection only on leaves
|
|
99
|
+
* @param {Boolean} [multiselect=false] - Allow/Forbid multiselection on Tree
|
|
100
|
+
*/
|
|
101
|
+
|
|
102
|
+
var TreeViewFinder = function TreeViewFinder(props) {
|
|
103
|
+
var intl = (0, _reactIntl.useIntl)();
|
|
104
|
+
var classes = props.classes,
|
|
105
|
+
title = props.title,
|
|
106
|
+
open = props.open,
|
|
107
|
+
data = props.data,
|
|
108
|
+
defaultExpanded = props.defaultExpanded,
|
|
109
|
+
defaultSelected = props.defaultSelected,
|
|
110
|
+
_onClose = props.onClose,
|
|
111
|
+
onTreeBrowse = props.onTreeBrowse,
|
|
112
|
+
validationButtonText = props.validationButtonText,
|
|
113
|
+
onlyLeaves = props.onlyLeaves,
|
|
114
|
+
multiselect = props.multiselect;
|
|
115
|
+
|
|
116
|
+
var _useState = (0, _react.useState)({}),
|
|
117
|
+
mapPrintedNodes = _useState[0],
|
|
118
|
+
setMapPrintedNodes = _useState[1]; // Controlled expanded for TreeView
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
var _useState2 = (0, _react.useState)(defaultExpanded),
|
|
122
|
+
expanded = _useState2[0],
|
|
123
|
+
setExpanded = _useState2[1]; // Controlled selected for TreeView
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
var _useState3 = (0, _react.useState)(defaultSelected),
|
|
127
|
+
selected = _useState3[0],
|
|
128
|
+
setSelected = _useState3[1];
|
|
129
|
+
/* Utilities */
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
var isSelectable = function isSelectable(node) {
|
|
133
|
+
return onlyLeaves ? isLeaf(node) : true; // otherwise everything is selectable
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
var isLeaf = function isLeaf(node) {
|
|
137
|
+
return node && node.children === undefined;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
var computeMapPrintedNodes = (0, _react.useCallback)(function (nodes) {
|
|
141
|
+
var newMapPrintedNodes = {};
|
|
142
|
+
nodes.forEach(function (node) {
|
|
143
|
+
newMapPrintedNodes[node.id] = node;
|
|
144
|
+
if (!isLeaf(node)) Object.assign(newMapPrintedNodes, computeMapPrintedNodes(node.children));
|
|
145
|
+
});
|
|
146
|
+
return newMapPrintedNodes;
|
|
147
|
+
}, []); // Effects
|
|
148
|
+
|
|
149
|
+
(0, _react.useEffect)(function () {
|
|
150
|
+
// compute all mapPrintedNodes here from data prop
|
|
151
|
+
// if data changes in current expanded nodes
|
|
152
|
+
var newMapPrintedNodes = computeMapPrintedNodes(data);
|
|
153
|
+
console.debug('data updated, new mapPrintedNodes (nbNodes = ', Object.keys(newMapPrintedNodes).length, ') : ', newMapPrintedNodes);
|
|
154
|
+
setMapPrintedNodes(newMapPrintedNodes);
|
|
155
|
+
}, [data, computeMapPrintedNodes]);
|
|
156
|
+
|
|
157
|
+
var computeSelectedNodes = function computeSelectedNodes() {
|
|
158
|
+
return selected.map(function (nodeId) {
|
|
159
|
+
return mapPrintedNodes[nodeId];
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
var handleNodeToggle = function handleNodeToggle(e, nodeIds) {
|
|
164
|
+
// onTreeBrowse proc only on last node clicked and only when expanded
|
|
165
|
+
nodeIds.every(function (nodeId) {
|
|
166
|
+
if (!expanded.includes(nodeId)) {
|
|
167
|
+
// proc onTreeBrowse here
|
|
168
|
+
onTreeBrowse && onTreeBrowse(nodeId);
|
|
169
|
+
return false; // break loop to call onTreeBrowse only once
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return true;
|
|
173
|
+
});
|
|
174
|
+
setExpanded(nodeIds); // will proc onNodeSelect then ...
|
|
175
|
+
};
|
|
176
|
+
/* User Interaction management */
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
var handleNodeSelect = function handleNodeSelect(e, values) {
|
|
180
|
+
// Default management
|
|
181
|
+
if (multiselect) {
|
|
182
|
+
setSelected(values.filter(function (nodeId) {
|
|
183
|
+
return isSelectable(mapPrintedNodes[nodeId]);
|
|
184
|
+
}));
|
|
185
|
+
} else {
|
|
186
|
+
// Toggle selection to allow unselection
|
|
187
|
+
if (selected.includes(values)) setSelected([]);else setSelected(isSelectable(mapPrintedNodes[values]) ? [values] : []);
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
/* Render utilities */
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
var getValidationButtonText = function getValidationButtonText() {
|
|
194
|
+
if (validationButtonText) return validationButtonText;else return intl.formatMessage({
|
|
195
|
+
id: 'treeview_finder/addElementsValidation'
|
|
196
|
+
}, {
|
|
197
|
+
nbElements: selected.length
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
var getNodeIcon = function getNodeIcon(node) {
|
|
202
|
+
if (!node) return null;
|
|
203
|
+
if (isSelectable(node) && selected.find(function (nodeId) {
|
|
204
|
+
return nodeId === node.id;
|
|
205
|
+
})) return /*#__PURE__*/_react["default"].createElement(_Check["default"], {
|
|
206
|
+
className: classes.labelIcon
|
|
207
|
+
});else if (node.icon) return /*#__PURE__*/_react["default"].createElement("div", {
|
|
208
|
+
className: classes.labelIcon
|
|
209
|
+
}, node.icon);else return null;
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
var renderTreeItemLabel = function renderTreeItemLabel(node) {
|
|
213
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
214
|
+
className: classes.labelRoot
|
|
215
|
+
}, getNodeIcon(node), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
216
|
+
className: classes.labelText
|
|
217
|
+
}, node.name));
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
var renderTree = function renderTree(node) {
|
|
221
|
+
if (!node) return;
|
|
222
|
+
return /*#__PURE__*/_react["default"].createElement(_TreeItem["default"], {
|
|
223
|
+
key: node.id,
|
|
224
|
+
nodeId: node.id,
|
|
225
|
+
label: renderTreeItemLabel(node)
|
|
226
|
+
}, Array.isArray(node.children) ? node.children.length ? node.children.map(function (child) {
|
|
227
|
+
return renderTree(child);
|
|
228
|
+
}) : [false] // Pass non empty Array here to simulate a child then this node isn't considered as a leaf.
|
|
229
|
+
: null);
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
233
|
+
open: open,
|
|
234
|
+
onClose: function onClose(e, r) {
|
|
235
|
+
if (r === 'escapeKeyDown' || r === 'backdropClick') {
|
|
236
|
+
_onClose([]);
|
|
237
|
+
|
|
238
|
+
setSelected([]);
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
"aria-labelledby": "TreeViewFindertitle",
|
|
242
|
+
classes: {
|
|
243
|
+
paper: classes.dialogPaper
|
|
244
|
+
}
|
|
245
|
+
}, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
|
|
246
|
+
id: "TreeViewFindertitle"
|
|
247
|
+
}, title ? title : intl.formatMessage({
|
|
248
|
+
id: 'treeview_finder/finderTitle'
|
|
249
|
+
}, {
|
|
250
|
+
multiselect: multiselect
|
|
251
|
+
})), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], null, intl.formatMessage({
|
|
252
|
+
id: 'treeview_finder/contentText'
|
|
253
|
+
}, {
|
|
254
|
+
multiselect: multiselect
|
|
255
|
+
})), /*#__PURE__*/_react["default"].createElement(_TreeView["default"] // Controlled props
|
|
256
|
+
, {
|
|
257
|
+
expanded: expanded,
|
|
258
|
+
selected: selected // events
|
|
259
|
+
,
|
|
260
|
+
onNodeToggle: handleNodeToggle,
|
|
261
|
+
onNodeSelect: handleNodeSelect // Uncontrolled props
|
|
262
|
+
,
|
|
263
|
+
defaultCollapseIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], {
|
|
264
|
+
className: classes.icon
|
|
265
|
+
}),
|
|
266
|
+
defaultExpandIcon: /*#__PURE__*/_react["default"].createElement(_ChevronRight["default"], {
|
|
267
|
+
className: classes.icon
|
|
268
|
+
}),
|
|
269
|
+
multiSelect: multiselect
|
|
270
|
+
}, data && Array.isArray(data) ? data.map(function (child) {
|
|
271
|
+
return renderTree(child);
|
|
272
|
+
}) : null)), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
273
|
+
variant: "contained",
|
|
274
|
+
style: {
|
|
275
|
+
"float": 'left',
|
|
276
|
+
margin: '5px'
|
|
277
|
+
},
|
|
278
|
+
onClick: function onClick() {
|
|
279
|
+
_onClose([]);
|
|
280
|
+
|
|
281
|
+
setSelected([]);
|
|
282
|
+
}
|
|
283
|
+
}, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
|
|
284
|
+
id: "treeview_finder/cancel"
|
|
285
|
+
})), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
286
|
+
variant: "contained",
|
|
287
|
+
style: {
|
|
288
|
+
"float": 'left',
|
|
289
|
+
margin: '5px'
|
|
290
|
+
},
|
|
291
|
+
onClick: function onClick() {
|
|
292
|
+
_onClose(computeSelectedNodes());
|
|
293
|
+
|
|
294
|
+
setSelected([]);
|
|
295
|
+
},
|
|
296
|
+
disabled: selected.length === 0
|
|
297
|
+
}, getValidationButtonText())));
|
|
298
|
+
};
|
|
299
|
+
/* TreeViewFinder props list */
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
TreeViewFinder.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
303
|
+
// Controlled
|
|
304
|
+
open: _propTypes["default"].bool.isRequired,
|
|
305
|
+
onClose: _propTypes["default"].func,
|
|
306
|
+
data: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
307
|
+
id: _propTypes["default"].string.isRequired,
|
|
308
|
+
name: _propTypes["default"].string.isRequired,
|
|
309
|
+
children: _propTypes["default"].array
|
|
310
|
+
})).isRequired,
|
|
311
|
+
onTreeBrowse: _propTypes["default"].func,
|
|
312
|
+
//uncontrolled
|
|
313
|
+
classes: _propTypes["default"].object.isRequired,
|
|
314
|
+
title: _propTypes["default"].string,
|
|
315
|
+
validationButtonText: _propTypes["default"].string,
|
|
316
|
+
defaultSelected: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
317
|
+
defaultExpanded: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
318
|
+
onlyLeaves: _propTypes["default"].bool,
|
|
319
|
+
multiselect: _propTypes["default"].bool
|
|
320
|
+
} : {};
|
|
321
|
+
/* TreeViewFinder props default values */
|
|
322
|
+
|
|
323
|
+
TreeViewFinder.defaultProps = {
|
|
324
|
+
defaultSelected: [],
|
|
325
|
+
defaultExpanded: [],
|
|
326
|
+
onlyLeaves: true,
|
|
327
|
+
multiselect: false
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
var _default = (0, _styles.withStyles)(defaultStyles)(TreeViewFinder);
|
|
331
|
+
|
|
332
|
+
exports["default"] = _default;
|
|
333
|
+
module.exports = exports.default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _TreeViewFinder = _interopRequireDefault(require("./TreeViewFinder"));
|
|
7
|
+
|
|
8
|
+
exports["default"] = _TreeViewFinder["default"];
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
module.exports = exports.default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
var equipment_search_en = {
|
|
6
|
+
'equipment_search/label': 'Search an equipment',
|
|
7
|
+
'equipment_search/switchTag': 'SWITCH',
|
|
8
|
+
'equipment_search/busbarSectionTag': 'BBS',
|
|
9
|
+
'equipment_search/lineTag': 'LINE',
|
|
10
|
+
'equipment_search/2wtTag': '2W TRANSFO',
|
|
11
|
+
'equipment_search/3wtTag': '3W TRANSFO',
|
|
12
|
+
'equipment_search/generatorTag': 'GENERATOR',
|
|
13
|
+
'equipment_search/batteryTag': 'BATTERY',
|
|
14
|
+
'equipment_search/loadTag': 'LOAD',
|
|
15
|
+
'equipment_search/shuntTag': 'SHUNT',
|
|
16
|
+
'equipment_search/svcTag': 'SVC',
|
|
17
|
+
'equipment_search/hvdcLinkTag': 'HVDC LINK',
|
|
18
|
+
'equipment_search/hvdcStationTag': 'HVDC STATION',
|
|
19
|
+
'equipment_search/voltageLevelTag': 'VOLTAGE LEVEL',
|
|
20
|
+
'equipment_search/substationTag': 'SUBSTATION'
|
|
21
|
+
};
|
|
22
|
+
var _default = equipment_search_en;
|
|
23
|
+
exports["default"] = _default;
|
|
24
|
+
module.exports = exports.default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
var equipment_search_fr = {
|
|
6
|
+
'equipment_search/label': 'Rechercher un équipement',
|
|
7
|
+
'equipment_search/switchTag': 'SWITCH',
|
|
8
|
+
'equipment_search/busbarSectionTag': 'SJB',
|
|
9
|
+
'equipment_search/lineTag': 'LIGNE',
|
|
10
|
+
'equipment_search/2wtTag': 'TRANSFO 2E',
|
|
11
|
+
'equipment_search/3wtTag': 'TRANSFO 3E',
|
|
12
|
+
'equipment_search/generatorTag': 'GROUPE',
|
|
13
|
+
'equipment_search/batteryTag': 'BATTERIE',
|
|
14
|
+
'equipment_search/loadTag': 'CONSO',
|
|
15
|
+
'equipment_search/shuntTag': 'MCS',
|
|
16
|
+
'equipment_search/svcTag': 'CSPR',
|
|
17
|
+
'equipment_search/hvdcLinkTag': 'LIAISON HVDC',
|
|
18
|
+
'equipment_search/hvdcStationTag': 'STATION HVDC',
|
|
19
|
+
'equipment_search/voltageLevelTag': 'POSTE',
|
|
20
|
+
'equipment_search/substationTag': 'SITE'
|
|
21
|
+
};
|
|
22
|
+
var _default = equipment_search_fr;
|
|
23
|
+
exports["default"] = _default;
|
|
24
|
+
module.exports = exports.default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
var treeview_finder_en = {
|
|
6
|
+
'treeview_finder/close': 'Close',
|
|
7
|
+
'treeview_finder/cancel': 'Cancel',
|
|
8
|
+
'treeview_finder/validate': 'Validate',
|
|
9
|
+
'treeview_finder/add': 'Add...',
|
|
10
|
+
'treeview_finder/deleteSelection': 'Delete selection',
|
|
11
|
+
'treeview_finder/contentText': '{multiselect, select, true {Please choose one or more element(s).} false {Please choose one element.} other {}}',
|
|
12
|
+
'treeview_finder/finderTitle': '{multiselect, select, true {Please choose one or more element(s).} false {Please choose one element.} other {}}',
|
|
13
|
+
'treeview_finder/addElementsValidation': '{nbElements, plural, =0 {Please select an element} =1 {Add this element} other{Add # elements}}'
|
|
14
|
+
};
|
|
15
|
+
var _default = treeview_finder_en;
|
|
16
|
+
exports["default"] = _default;
|
|
17
|
+
module.exports = exports.default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
var treeview_finder_fr = {
|
|
6
|
+
'treeview_finder/close': 'Fermer',
|
|
7
|
+
'treeview_finder/cancel': 'Annuler',
|
|
8
|
+
'treeview_finder/validate': 'Valider',
|
|
9
|
+
'treeview_finder/add': 'Ajouter...',
|
|
10
|
+
'treeview_finder/deleteSelection': 'Supprimer la selection',
|
|
11
|
+
'treeview_finder/contentText': '{multiselect, select, true {Veuillez choisir un ou plusieurs éléments.} false {Veuillez choisir un élément.} other {}}',
|
|
12
|
+
'treeview_finder/finderTitle': '{multiselect, select, true {Veuillez choisir un ou plusieurs éléments.} false {Veuillez choisir un élément.} other {}}',
|
|
13
|
+
'treeview_finder/addElementsValidation': '{nbElements, plural, =0 {Veuillez sélectionner un élément} =1 {Ajouter cet élément} other {Ajouter # éléments}}'
|
|
14
|
+
};
|
|
15
|
+
var _default = treeview_finder_fr;
|
|
16
|
+
exports["default"] = _default;
|
|
17
|
+
module.exports = exports.default;
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.setSignInCallbackError = exports.SIGNIN_CALLBACK_ERROR = exports.setLoggedUser = exports.USER = exports.LANG_FRENCH = exports.LANG_ENGLISH = exports.LANG_SYSTEM = exports.LIGHT_THEME = exports.DARK_THEME = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_HEIGHT = exports.DEFAULT_CELL_PADDING = exports.getPreLoginPath = exports.dispatchUser = exports.logout = exports.initializeAuthenticationProd = exports.initializeAuthenticationDev = void 0;
|
|
4
|
+
exports.setSignInCallbackError = exports.SIGNIN_CALLBACK_ERROR = exports.setLoggedUser = exports.USER = exports.LANG_FRENCH = exports.LANG_ENGLISH = exports.LANG_SYSTEM = exports.LIGHT_THEME = exports.DARK_THEME = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_HEIGHT = exports.DEFAULT_CELL_PADDING = exports.getFileIcon = exports.elementType = exports.getPreLoginPath = exports.dispatchUser = exports.logout = exports.initializeAuthenticationProd = exports.initializeAuthenticationDev = exports.equipmentStyles = exports.renderEquipmentForSearchBar = exports.getEquipmentsInfosForSearchBar = exports.EQUIPMENT_TYPE = void 0;
|
|
5
|
+
|
|
6
|
+
var _TreeViewFinder2 = _interopRequireDefault(require("./components/TreeViewFinder"));
|
|
7
|
+
|
|
8
|
+
exports.TreeViewFinder = _TreeViewFinder2["default"];
|
|
5
9
|
|
|
6
10
|
var _TopBar2 = _interopRequireDefault(require("./components/TopBar"));
|
|
7
11
|
|
|
@@ -27,6 +31,13 @@ var _ReportViewerDialog2 = _interopRequireDefault(require("./components/ReportVi
|
|
|
27
31
|
|
|
28
32
|
exports.ReportViewerDialog = _ReportViewerDialog2["default"];
|
|
29
33
|
|
|
34
|
+
var _EquipmentType = require("./utils/EquipmentType");
|
|
35
|
+
|
|
36
|
+
exports.EQUIPMENT_TYPE = _EquipmentType.EQUIPMENT_TYPE;
|
|
37
|
+
exports.getEquipmentsInfosForSearchBar = _EquipmentType.getEquipmentsInfosForSearchBar;
|
|
38
|
+
exports.renderEquipmentForSearchBar = _EquipmentType.renderEquipmentForSearchBar;
|
|
39
|
+
exports.equipmentStyles = _EquipmentType.equipmentStyles;
|
|
40
|
+
|
|
30
41
|
var _AuthService = require("./utils/AuthService");
|
|
31
42
|
|
|
32
43
|
exports.initializeAuthenticationDev = _AuthService.initializeAuthenticationDev;
|
|
@@ -35,6 +46,11 @@ exports.logout = _AuthService.logout;
|
|
|
35
46
|
exports.dispatchUser = _AuthService.dispatchUser;
|
|
36
47
|
exports.getPreLoginPath = _AuthService.getPreLoginPath;
|
|
37
48
|
|
|
49
|
+
var _ElementType = require("./utils/ElementType");
|
|
50
|
+
|
|
51
|
+
exports.elementType = _ElementType.elementType;
|
|
52
|
+
exports.getFileIcon = _ElementType.getFileIcon;
|
|
53
|
+
|
|
38
54
|
var _MuiVirtualizedTable3 = require("./components/MuiVirtualizedTable/MuiVirtualizedTable");
|
|
39
55
|
|
|
40
56
|
exports.DEFAULT_CELL_PADDING = _MuiVirtualizedTable3.DEFAULT_CELL_PADDING;
|
|
@@ -88,4 +104,28 @@ var _tableFr = _interopRequireDefault(require("./components/translations/table-f
|
|
|
88
104
|
|
|
89
105
|
exports.table_fr = _tableFr["default"];
|
|
90
106
|
|
|
107
|
+
var _treeviewFinderEn = _interopRequireDefault(require("./components/translations/treeview-finder-en"));
|
|
108
|
+
|
|
109
|
+
exports.treeview_finder_en = _treeviewFinderEn["default"];
|
|
110
|
+
|
|
111
|
+
var _treeviewFinderFr = _interopRequireDefault(require("./components/translations/treeview-finder-fr"));
|
|
112
|
+
|
|
113
|
+
exports.treeview_finder_fr = _treeviewFinderFr["default"];
|
|
114
|
+
|
|
115
|
+
var _elementSearchEn = _interopRequireDefault(require("./components/translations/element-search-en"));
|
|
116
|
+
|
|
117
|
+
exports.element_search_en = _elementSearchEn["default"];
|
|
118
|
+
|
|
119
|
+
var _elementSearchFr = _interopRequireDefault(require("./components/translations/element-search-fr"));
|
|
120
|
+
|
|
121
|
+
exports.element_search_fr = _elementSearchFr["default"];
|
|
122
|
+
|
|
123
|
+
var _equipmentSearchEn = _interopRequireDefault(require("./components/translations/equipment-search-en"));
|
|
124
|
+
|
|
125
|
+
exports.equipment_search_en = _equipmentSearchEn["default"];
|
|
126
|
+
|
|
127
|
+
var _equipmentSearchFr = _interopRequireDefault(require("./components/translations/equipment-search-fr"));
|
|
128
|
+
|
|
129
|
+
exports.equipment_search_fr = _equipmentSearchFr["default"];
|
|
130
|
+
|
|
91
131
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.getFileIcon = getFileIcon;
|
|
5
|
+
exports.elementType = void 0;
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
var _LibraryBooksOutlined = _interopRequireDefault(require("@material-ui/icons/LibraryBooksOutlined"));
|
|
10
|
+
|
|
11
|
+
var _Description = _interopRequireDefault(require("@material-ui/icons/Description"));
|
|
12
|
+
|
|
13
|
+
var _PanTool = _interopRequireDefault(require("@material-ui/icons/PanTool"));
|
|
14
|
+
|
|
15
|
+
var _FilterList = _interopRequireDefault(require("@material-ui/icons/FilterList"));
|
|
16
|
+
|
|
17
|
+
var _Filter = _interopRequireDefault(require("@material-ui/icons/Filter"));
|
|
18
|
+
|
|
19
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Copyright (c) 2021, RTE (http://www.rte-france.com)
|
|
23
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
24
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
25
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
26
|
+
*/
|
|
27
|
+
var elementType = {
|
|
28
|
+
DIRECTORY: 'DIRECTORY',
|
|
29
|
+
STUDY: 'STUDY',
|
|
30
|
+
FILTER: 'FILTER',
|
|
31
|
+
SCRIPT: 'SCRIPT',
|
|
32
|
+
SCRIPT_CONTINGENCY_LIST: 'SCRIPT_CONTINGENCY_LIST',
|
|
33
|
+
FILTERS_CONTINGENCY_LIST: 'FILTERS_CONTINGENCY_LIST'
|
|
34
|
+
};
|
|
35
|
+
exports.elementType = elementType;
|
|
36
|
+
|
|
37
|
+
function getFileIcon(type, theme) {
|
|
38
|
+
switch (type) {
|
|
39
|
+
case elementType.STUDY:
|
|
40
|
+
return /*#__PURE__*/_react["default"].createElement(_LibraryBooksOutlined["default"], {
|
|
41
|
+
className: theme
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
case elementType.SCRIPT_CONTINGENCY_LIST:
|
|
45
|
+
return /*#__PURE__*/_react["default"].createElement(_Description["default"], {
|
|
46
|
+
className: theme
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
case elementType.FILTERS_CONTINGENCY_LIST:
|
|
50
|
+
return /*#__PURE__*/_react["default"].createElement(_PanTool["default"], {
|
|
51
|
+
className: theme
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
case elementType.FILTER:
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement(_FilterList["default"], {
|
|
56
|
+
className: theme
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
case elementType.SCRIPT:
|
|
60
|
+
return /*#__PURE__*/_react["default"].createElement(_Filter["default"], {
|
|
61
|
+
className: theme
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
case elementType.DIRECTORY:
|
|
65
|
+
// to easily use in TreeView we do not give icons for directories
|
|
66
|
+
return;
|
|
67
|
+
|
|
68
|
+
default:
|
|
69
|
+
console.warn('unknown type [' + type + ']');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.renderEquipmentForSearchBar = exports.getEquipmentsInfosForSearchBar = exports.EQUIPMENT_TYPE = exports.equipmentStyles = exports.VL_TAG_MAX_SIZE = exports.TYPE_TAG_MAX_SIZE = void 0;
|
|
5
|
+
|
|
6
|
+
var _match = _interopRequireDefault(require("autosuggest-highlight/match"));
|
|
7
|
+
|
|
8
|
+
var _parse = _interopRequireDefault(require("autosuggest-highlight/parse"));
|
|
9
|
+
|
|
10
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Copyright (c) 2021, RTE (http://www.rte-france.com)
|
|
18
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
19
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
20
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
21
|
+
*/
|
|
22
|
+
var TYPE_TAG_MAX_SIZE = '120px';
|
|
23
|
+
exports.TYPE_TAG_MAX_SIZE = TYPE_TAG_MAX_SIZE;
|
|
24
|
+
var VL_TAG_MAX_SIZE = '65px';
|
|
25
|
+
exports.VL_TAG_MAX_SIZE = VL_TAG_MAX_SIZE;
|
|
26
|
+
|
|
27
|
+
var equipmentStyles = function equipmentStyles(theme) {
|
|
28
|
+
return {
|
|
29
|
+
equipmentOption: {
|
|
30
|
+
display: 'flex',
|
|
31
|
+
gap: '20px',
|
|
32
|
+
width: '100%',
|
|
33
|
+
margin: '0px',
|
|
34
|
+
padding: '0px',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
justifyContent: 'space-between'
|
|
37
|
+
},
|
|
38
|
+
equipmentTag: {
|
|
39
|
+
borderRadius: '10px',
|
|
40
|
+
padding: '4px',
|
|
41
|
+
fontSize: 'x-small',
|
|
42
|
+
textAlign: 'center'
|
|
43
|
+
},
|
|
44
|
+
equipmentTypeTag: {
|
|
45
|
+
width: TYPE_TAG_MAX_SIZE,
|
|
46
|
+
background: 'lightblue'
|
|
47
|
+
},
|
|
48
|
+
equipmentVlTag: {
|
|
49
|
+
width: VL_TAG_MAX_SIZE,
|
|
50
|
+
background: 'lightgray',
|
|
51
|
+
fontStyle: 'italic'
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}; // Must be equivalent as the back enum (Powsybl)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
exports.equipmentStyles = equipmentStyles;
|
|
58
|
+
var EQUIPMENT_TYPE = {
|
|
59
|
+
SUBSTATION: {
|
|
60
|
+
name: 'SUBSTATION',
|
|
61
|
+
sortOrder: 0,
|
|
62
|
+
tagLabel: 'equipment_search/substationTag'
|
|
63
|
+
},
|
|
64
|
+
VOLTAGE_LEVEL: {
|
|
65
|
+
name: 'VOLTAGE_LEVEL',
|
|
66
|
+
sortOrder: 1,
|
|
67
|
+
tagLabel: 'equipment_search/voltageLevelTag'
|
|
68
|
+
},
|
|
69
|
+
LINE: {
|
|
70
|
+
name: 'LINE',
|
|
71
|
+
sortOrder: 2,
|
|
72
|
+
tagLabel: 'equipment_search/voltageLevelTag'
|
|
73
|
+
},
|
|
74
|
+
TWO_WINDINGS_TRANSFORMER: {
|
|
75
|
+
name: 'TWO_WINDINGS_TRANSFORMER',
|
|
76
|
+
sortOrder: 3,
|
|
77
|
+
tagLabel: 'equipment_search/2wtTag'
|
|
78
|
+
},
|
|
79
|
+
THREE_WINDINGS_TRANSFORMER: {
|
|
80
|
+
name: 'THREE_WINDINGS_TRANSFORMER',
|
|
81
|
+
sortOrder: 4,
|
|
82
|
+
tagLabel: 'equipment_search/3wtTag'
|
|
83
|
+
},
|
|
84
|
+
HVDC: {
|
|
85
|
+
name: 'HVDC',
|
|
86
|
+
sortOrder: 5,
|
|
87
|
+
tagLabel: 'equipment_search/hvdcLinkTag'
|
|
88
|
+
},
|
|
89
|
+
GENERATOR: {
|
|
90
|
+
name: 'GENERATOR',
|
|
91
|
+
sortOrder: 6,
|
|
92
|
+
tagLabel: 'equipment_search/generatorTag'
|
|
93
|
+
},
|
|
94
|
+
BATTERY: {
|
|
95
|
+
name: 'BATTERY',
|
|
96
|
+
sortOrder: 7,
|
|
97
|
+
tagLabel: 'equipment_search/batteryTag'
|
|
98
|
+
},
|
|
99
|
+
LOAD: {
|
|
100
|
+
name: 'LOAD',
|
|
101
|
+
sortOrder: 8,
|
|
102
|
+
tagLabel: 'equipment_search/loadTag'
|
|
103
|
+
},
|
|
104
|
+
SHUNT_COMPENSATOR: {
|
|
105
|
+
name: 'SHUNT_COMPENSATOR',
|
|
106
|
+
sortOrder: 9,
|
|
107
|
+
tagLabel: 'equipment_search/shuntTag'
|
|
108
|
+
},
|
|
109
|
+
DANGLING_LINE: {
|
|
110
|
+
name: 'DANGLING_LINE',
|
|
111
|
+
sortOrder: 10,
|
|
112
|
+
tagLabel: 'equipment_search/lineTag'
|
|
113
|
+
},
|
|
114
|
+
STATIC_VAR_COMPENSATOR: {
|
|
115
|
+
name: 'STATIC_VAR_COMPENSATOR',
|
|
116
|
+
sortOrder: 11,
|
|
117
|
+
tagLabel: 'equipment_search/svcTag'
|
|
118
|
+
},
|
|
119
|
+
HVDC_CONVERTER_STATION: {
|
|
120
|
+
name: 'HVDC_CONVERTER_STATION',
|
|
121
|
+
sortOrder: 12,
|
|
122
|
+
tagLabel: 'equipment_search/hvdcStationTag'
|
|
123
|
+
},
|
|
124
|
+
BUSBAR_SECTION: {
|
|
125
|
+
name: 'BUSBAR_SECTION',
|
|
126
|
+
sortOrder: 13,
|
|
127
|
+
tagLabel: 'equipment_search/busbarSectionTag'
|
|
128
|
+
},
|
|
129
|
+
BREAKER: {
|
|
130
|
+
name: 'BREAKER',
|
|
131
|
+
sortOrder: 14,
|
|
132
|
+
tagLabel: 'equipment_search/switchTag'
|
|
133
|
+
},
|
|
134
|
+
DISCONNECTOR: {
|
|
135
|
+
name: 'DISCONNECTOR',
|
|
136
|
+
sortOrder: 15,
|
|
137
|
+
tagLabel: 'equipment_search/switchTag'
|
|
138
|
+
},
|
|
139
|
+
LOAD_BREAK_SWITCH: {
|
|
140
|
+
name: 'LOAD_BREAK_SWITCH',
|
|
141
|
+
sortOrder: 16,
|
|
142
|
+
tagLabel: 'equipment_search/switchTag'
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
exports.EQUIPMENT_TYPE = EQUIPMENT_TYPE;
|
|
146
|
+
|
|
147
|
+
var getEquipmentsInfosForSearchBar = function getEquipmentsInfosForSearchBar(equipmentsInfos, equipmentLabelling) {
|
|
148
|
+
return equipmentsInfos.flatMap(function (e) {
|
|
149
|
+
var label = equipmentLabelling ? e.name : e.id;
|
|
150
|
+
return e.type === 'SUBSTATION' ? [{
|
|
151
|
+
label: label,
|
|
152
|
+
id: e.id,
|
|
153
|
+
type: e.type
|
|
154
|
+
}] : e.voltageLevelsIds.map(function (vli) {
|
|
155
|
+
return {
|
|
156
|
+
label: label,
|
|
157
|
+
id: e.id,
|
|
158
|
+
type: e.type,
|
|
159
|
+
voltageLevelId: vli
|
|
160
|
+
};
|
|
161
|
+
});
|
|
162
|
+
}).sort(sortEquipments);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
exports.getEquipmentsInfosForSearchBar = getEquipmentsInfosForSearchBar;
|
|
166
|
+
|
|
167
|
+
var sortEquipments = function sortEquipments(a, b) {
|
|
168
|
+
return EQUIPMENT_TYPE[a.type].sortOrder < EQUIPMENT_TYPE[b.type].sortOrder ? -1 : EQUIPMENT_TYPE[a.type].sortOrder > EQUIPMENT_TYPE[b.type].sortOrder ? 1 : a.label.localeCompare(b.label);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
var renderEquipmentForSearchBar = function renderEquipmentForSearchBar(classes, intl) {
|
|
172
|
+
return function (element, _ref) {
|
|
173
|
+
var inputValue = _ref.inputValue;
|
|
174
|
+
var matches = (0, _match["default"])(element.label, inputValue);
|
|
175
|
+
var parts = (0, _parse["default"])(element.label, matches);
|
|
176
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
177
|
+
className: classes.equipmentOption
|
|
178
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
179
|
+
className: (0, _clsx["default"])(classes.equipmentTag, classes.equipmentTypeTag)
|
|
180
|
+
}, intl.formatMessage({
|
|
181
|
+
id: EQUIPMENT_TYPE[element.type].tagLabel
|
|
182
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
183
|
+
className: classes.equipmentOption
|
|
184
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, parts.map(function (part, index) {
|
|
185
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
186
|
+
key: index,
|
|
187
|
+
style: {
|
|
188
|
+
fontWeight: part.highlight ? 'bold' : 'inherit'
|
|
189
|
+
}
|
|
190
|
+
}, part.text);
|
|
191
|
+
})), element.type !== EQUIPMENT_TYPE.SUBSTATION.name && element.type !== EQUIPMENT_TYPE.VOLTAGE_LEVEL.name && /*#__PURE__*/_react["default"].createElement("span", {
|
|
192
|
+
className: (0, _clsx["default"])(classes.equipmentTag, classes.equipmentVlTag)
|
|
193
|
+
}, element.voltageLevelId)));
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
exports.renderEquipmentForSearchBar = renderEquipmentForSearchBar;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gridsuite/commons-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.3",
|
|
4
4
|
"description": "common react components for gridsuite applications",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"files": [
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@svgr/webpack": "^5.4.0",
|
|
23
|
+
"autosuggest-highlight": "^3.1.1",
|
|
23
24
|
"clsx": "^1.0.4",
|
|
24
25
|
"jwt-decode": "^3.0.0",
|
|
25
26
|
"memoize-one": "^5.1.1",
|
|
@@ -40,7 +41,6 @@
|
|
|
40
41
|
"react-intl": "^5.0.0"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
|
-
"notistack": "^1.0.1",
|
|
44
44
|
"@material-ui/core": "^4.9.5",
|
|
45
45
|
"@material-ui/icons": "^4.5.1",
|
|
46
46
|
"@material-ui/lab": "^4.0.0-alpha.56",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"eslint-plugin-react": "^7.21.0",
|
|
58
58
|
"eslint-plugin-react-hooks": "^4.1.2",
|
|
59
59
|
"inferno": "^7.4.2",
|
|
60
|
+
"notistack": "^1.0.1",
|
|
60
61
|
"nwb": "^0.25.x",
|
|
61
62
|
"prettier": "^2.0.0",
|
|
62
63
|
"puppeteer": "^10.0.0",
|