@gridsuite/commons-ui 0.19.0 → 0.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,8 +5,6 @@ exports["default"] = void 0;
5
5
 
6
6
  var _react = _interopRequireWildcard(require("react"));
7
7
 
8
- var _makeStyles = _interopRequireDefault(require("@mui/styles/makeStyles"));
9
-
10
8
  var _material = require("@mui/material");
11
9
 
12
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -25,24 +23,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
25
23
 
26
24
  var TERM_MIN_SIZE_BEFORE_SEARCH = 3;
27
25
 
28
- var styles = function styles(theme) {
29
- return {
30
- title: {
31
- padding: '0px'
32
- },
33
- content: {
34
- display: 'flex',
35
- alignItems: 'end',
36
- padding: '20px',
37
- paddingRight: '0px'
38
- }
39
- };
40
- };
41
-
42
- var useStyles = (0, _makeStyles["default"])(styles);
43
-
44
26
  var ElementSearchDialog = function ElementSearchDialog(props) {
45
- var classes = useStyles();
46
27
  var intl = (0, _reactIntl.useIntl)();
47
28
  var open = props.open,
48
29
  onClose = props.onClose,
@@ -80,15 +61,18 @@ var ElementSearchDialog = function ElementSearchDialog(props) {
80
61
  }
81
62
  };
82
63
 
64
+ var handleClose = (0, _react.useCallback)(function () {
65
+ setExpanded(false);
66
+ setElements([]);
67
+ onClose();
68
+ }, [onClose]);
83
69
  return /*#__PURE__*/_react["default"].createElement(_material.Dialog, {
84
70
  open: open,
85
71
  onClose: onClose,
86
72
  disableRestoreFocus: true,
87
73
  "aria-labelledby": "dialog-title-search",
88
74
  fullWidth: true
89
- }, /*#__PURE__*/_react["default"].createElement(_material.DialogTitle, {
90
- className: classes.title
91
- }), /*#__PURE__*/_react["default"].createElement(_material.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
75
+ }, /*#__PURE__*/_react["default"].createElement(_material.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
92
76
  id: "element-search",
93
77
  forcePopupIcon: false,
94
78
  open: expanded,
@@ -99,10 +83,10 @@ var ElementSearchDialog = function ElementSearchDialog(props) {
99
83
  setExpanded(false);
100
84
  },
101
85
  fullWidth: true,
102
- onInputChange: function onInputChange(event, value) {
86
+ onInputChange: function onInputChange(_event, value) {
103
87
  return handleSearchTermChange(value);
104
88
  },
105
- onChange: function onChange(event, newValue) {
89
+ onChange: function onChange(_event, newValue) {
106
90
  return onSelectionChange(newValue);
107
91
  },
108
92
  getOptionLabel: function getOptionLabel(option) {
@@ -117,7 +101,15 @@ var ElementSearchDialog = function ElementSearchDialog(props) {
117
101
  noOptionsText: intl.formatMessage({
118
102
  id: 'element_search/noResult'
119
103
  }),
120
- renderOption: renderElement,
104
+ renderOption: function renderOption(optionProps, element, _ref) {
105
+ var inputValue = _ref.inputValue;
106
+ return renderElement(_extends({}, optionProps, {
107
+ element: element,
108
+ inputValue: inputValue,
109
+ setExpanded: setExpanded,
110
+ onClose: handleClose
111
+ }));
112
+ },
121
113
  renderInput: function renderInput(params) {
122
114
  return /*#__PURE__*/_react["default"].createElement(_material.TextField, _extends({
123
115
  autoFocus: true
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.EquipmentItem = void 0;
5
+
6
+ var _index = require("./index");
7
+
8
+ var _match = _interopRequireDefault(require("autosuggest-highlight/match"));
9
+
10
+ var _parse = _interopRequireDefault(require("autosuggest-highlight/parse"));
11
+
12
+ var _clsx = _interopRequireDefault(require("clsx"));
13
+
14
+ var _reactIntl = require("react-intl");
15
+
16
+ var _OverflowableText = _interopRequireDefault(require("../OverflowableText"));
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _EquipmentType = require("../../utils/EquipmentType");
21
+
22
+ var _excluded = ["inputValue", "suffixRenderer", "element"];
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29
+
30
+ var EquipmentItem = function EquipmentItem(_ref) {
31
+ var inputValue = _ref.inputValue,
32
+ _ref$suffixRenderer = _ref.suffixRenderer,
33
+ suffixRenderer = _ref$suffixRenderer === void 0 ? _index.TagRenderer : _ref$suffixRenderer,
34
+ element = _ref.element,
35
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
36
+
37
+ var matches = (0, _match["default"])(element.label, inputValue, {
38
+ insideWords: true,
39
+ findAllOccurrences: true
40
+ });
41
+ var parts = (0, _parse["default"])(element.label, matches);
42
+ /* override li.key otherwise it will use label which could be duplicated */
43
+
44
+ return /*#__PURE__*/_react["default"].createElement("li", _extends({
45
+ key: element.key
46
+ }, props), /*#__PURE__*/_react["default"].createElement("div", {
47
+ className: props.classes.equipmentOption
48
+ }, /*#__PURE__*/_react["default"].createElement("span", {
49
+ className: (0, _clsx["default"])(props.classes.equipmentTag, props.classes.equipmentTypeTag)
50
+ }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
51
+ id: _EquipmentType.EQUIPMENT_TYPE[element.type].tagLabel
52
+ })), /*#__PURE__*/_react["default"].createElement(_OverflowableText["default"], {
53
+ text: parts.map(function (e) {
54
+ return e.text;
55
+ }).join(),
56
+ className: props.classes.result
57
+ }, parts.map(function (part, index) {
58
+ return /*#__PURE__*/_react["default"].createElement("span", {
59
+ key: index,
60
+ style: {
61
+ fontWeight: part.highlight ? 'bold' : 'inherit'
62
+ }
63
+ }, part.text);
64
+ })), suffixRenderer({
65
+ props: props,
66
+ element: element
67
+ })));
68
+ };
69
+
70
+ exports.EquipmentItem = EquipmentItem;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports["default"] = void 0;
4
+ exports.TagRenderer = exports["default"] = void 0;
5
5
 
6
6
  var _elementSearchDialog = _interopRequireDefault(require("./element-search-dialog"));
7
7
 
8
8
  exports["default"] = _elementSearchDialog["default"];
9
9
 
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ var _tagRenderer = require("./tag-renderer");
11
11
 
12
- module.exports = exports.default;
12
+ exports.TagRenderer = _tagRenderer.TagRenderer;
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.TagRenderer = void 0;
5
+
6
+ var _OverflowableText = _interopRequireDefault(require("../OverflowableText"));
7
+
8
+ var _clsx = _interopRequireDefault(require("clsx"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _EquipmentType = require("../../utils/EquipmentType");
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ /**
19
+ * Copyright (c) 2022, RTE (http://www.rte-france.com)
20
+ * This Source Code Form is subject to the terms of the Mozilla Public
21
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
22
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
23
+ */
24
+ var TagRenderer = function TagRenderer(_ref) {
25
+ var props = _ref.props,
26
+ element = _ref.element;
27
+ if (element.type !== _EquipmentType.EQUIPMENT_TYPE.SUBSTATION.name && element.type !== _EquipmentType.EQUIPMENT_TYPE.VOLTAGE_LEVEL.name) return /*#__PURE__*/_react["default"].createElement(_OverflowableText["default"], {
28
+ text: element.voltageLevelLabel,
29
+ className: (0, _clsx["default"])(props.classes.equipmentTag, props.classes.equipmentVlTag)
30
+ });
31
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
32
+ };
33
+
34
+ exports.TagRenderer = TagRenderer;
35
+ TagRenderer.propTypes = process.env.NODE_ENV !== "production" ? {
36
+ element: _propTypes["default"].object,
37
+ props: _propTypes["default"].object
38
+ } : {};
@@ -79,7 +79,7 @@ var OverflowableText = function OverflowableText(_ref) {
79
79
  exports.OverflowableText = OverflowableText;
80
80
  OverflowableText.propTypes = process.env.NODE_ENV !== "production" ? {
81
81
  children: _propTypes["default"].array,
82
- text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]).isRequired,
82
+ text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].node]),
83
83
  className: _propTypes["default"].string
84
84
  } : {};
85
85
  var _default = OverflowableText;
@@ -83,6 +83,7 @@ var defaultStyles = {
83
83
  *
84
84
  * @param {Object} classes - CSS classes, please use withStyles API from MaterialUI
85
85
  * @param {String} [title] - Title of the Dialog
86
+ * @param {String} [contentText] - Content text of the Dialog
86
87
  * @param {Boolean} open - dialog state boolean handler (Controlled)
87
88
  * @param {EventListener} onClose - onClose callback to call when closing dialog
88
89
  * @param {Object[]} data - data to feed the component (Controlled).
@@ -103,6 +104,7 @@ var TreeViewFinder = function TreeViewFinder(props) {
103
104
  var intl = (0, _reactIntl.useIntl)();
104
105
  var classes = props.classes,
105
106
  title = props.title,
107
+ contentText = props.contentText,
106
108
  open = props.open,
107
109
  data = props.data,
108
110
  defaultExpanded = props.defaultExpanded,
@@ -248,7 +250,7 @@ var TreeViewFinder = function TreeViewFinder(props) {
248
250
  id: 'treeview_finder/finderTitle'
249
251
  }, {
250
252
  multiselect: multiselect
251
- })), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], null, intl.formatMessage({
253
+ })), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], null, contentText ? contentText : intl.formatMessage({
252
254
  id: 'treeview_finder/contentText'
253
255
  }, {
254
256
  multiselect: multiselect
@@ -312,6 +314,7 @@ TreeViewFinder.propTypes = process.env.NODE_ENV !== "production" ? {
312
314
  //uncontrolled
313
315
  classes: _propTypes["default"].object.isRequired,
314
316
  title: _propTypes["default"].string,
317
+ contentText: _propTypes["default"].string,
315
318
  validationButtonText: _propTypes["default"].string,
316
319
  defaultSelected: _propTypes["default"].arrayOf(_propTypes["default"].string),
317
320
  defaultExpanded: _propTypes["default"].arrayOf(_propTypes["default"].string),
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
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.getFileIcon = exports.elementType = exports.getPreLoginPath = exports.dispatchUser = exports.logout = exports.initializeAuthenticationProd = exports.initializeAuthenticationDev = exports.equipmentStyles = exports.renderEquipmentForSearchBar = exports.getEquipmentsInfosForSearchBar = exports.EQUIPMENT_TYPE = void 0;
4
+ exports.EquipmentItem = exports.TagRenderer = 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.getEquipmentsInfosForSearchBar = exports.EQUIPMENT_TYPE = void 0;
5
5
 
6
6
  var _TreeViewFinder2 = _interopRequireDefault(require("./components/TreeViewFinder"));
7
7
 
@@ -35,15 +35,15 @@ var _OverflowableText2 = _interopRequireDefault(require("./components/Overflowab
35
35
 
36
36
  exports.OverflowableText = _OverflowableText2["default"];
37
37
 
38
- var _ElementSearchDialog2 = _interopRequireDefault(require("./components/ElementSearchDialog"));
38
+ var _ElementSearchDialog2 = _interopRequireWildcard(require("./components/ElementSearchDialog"));
39
39
 
40
40
  exports.ElementSearchDialog = _ElementSearchDialog2["default"];
41
+ exports.TagRenderer = _ElementSearchDialog2.TagRenderer;
41
42
 
42
43
  var _EquipmentType = require("./utils/EquipmentType");
43
44
 
44
45
  exports.EQUIPMENT_TYPE = _EquipmentType.EQUIPMENT_TYPE;
45
46
  exports.getEquipmentsInfosForSearchBar = _EquipmentType.getEquipmentsInfosForSearchBar;
46
- exports.renderEquipmentForSearchBar = _EquipmentType.renderEquipmentForSearchBar;
47
47
  exports.equipmentStyles = _EquipmentType.equipmentStyles;
48
48
 
49
49
  var _AuthService = require("./utils/AuthService");
@@ -136,4 +136,12 @@ var _equipmentSearchFr = _interopRequireDefault(require("./components/translatio
136
136
 
137
137
  exports.equipment_search_fr = _equipmentSearchFr["default"];
138
138
 
139
+ var _equipmentItem = require("./components/ElementSearchDialog/equipment-item");
140
+
141
+ exports.EquipmentItem = _equipmentItem.EquipmentItem;
142
+
143
+ 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); }
144
+
145
+ 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; }
146
+
139
147
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -1,24 +1,16 @@
1
1
  "use strict";
2
2
 
3
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"));
4
+ exports.getEquipmentsInfosForSearchBar = exports.EQUIPMENT_TYPE = exports.equipmentStyles = exports.VL_TAG_MAX_SIZE = exports.TYPE_TAG_MAX_SIZE = void 0;
13
5
 
14
6
  var _TopBar = require("../components/TopBar/TopBar");
15
7
 
16
- var _OverflowableText = _interopRequireDefault(require("../components/OverflowableText"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
-
20
- 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); }
21
-
8
+ /**
9
+ * Copyright (c) 2021, RTE (http://www.rte-france.com)
10
+ * This Source Code Form is subject to the terms of the Mozilla Public
11
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
12
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
13
+ */
22
14
  var TYPE_TAG_MAX_SIZE = '90px';
23
15
  exports.TYPE_TAG_MAX_SIZE = TYPE_TAG_MAX_SIZE;
24
16
  var VL_TAG_MAX_SIZE = '100px';
@@ -171,43 +163,4 @@ exports.getEquipmentsInfosForSearchBar = getEquipmentsInfosForSearchBar;
171
163
 
172
164
  var sortEquipments = function sortEquipments(a, b) {
173
165
  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);
174
- };
175
-
176
- var renderEquipmentForSearchBar = function renderEquipmentForSearchBar(classes, intl) {
177
- return function (props, element, _ref) {
178
- var inputValue = _ref.inputValue;
179
- var matches = (0, _match["default"])(element.label, inputValue, {
180
- insideWords: true,
181
- findAllOccurrences: true
182
- });
183
- var parts = (0, _parse["default"])(element.label, matches);
184
- /* override li.key otherwise it will use label which could be duplicated */
185
-
186
- return /*#__PURE__*/_react["default"].createElement("li", _extends({}, props, {
187
- key: element.key
188
- }), /*#__PURE__*/_react["default"].createElement("div", {
189
- className: classes.equipmentOption
190
- }, /*#__PURE__*/_react["default"].createElement("span", {
191
- className: (0, _clsx["default"])(classes.equipmentTag, classes.equipmentTypeTag)
192
- }, intl.formatMessage({
193
- id: EQUIPMENT_TYPE[element.type].tagLabel
194
- })), /*#__PURE__*/_react["default"].createElement(_OverflowableText["default"], {
195
- text: parts.map(function (e) {
196
- return e.text;
197
- }).join(),
198
- className: classes.result
199
- }, parts.map(function (part, index) {
200
- return /*#__PURE__*/_react["default"].createElement("span", {
201
- key: index,
202
- style: {
203
- fontWeight: part.highlight ? 'bold' : 'inherit'
204
- }
205
- }, part.text);
206
- })), element.type !== EQUIPMENT_TYPE.SUBSTATION.name && element.type !== EQUIPMENT_TYPE.VOLTAGE_LEVEL.name && /*#__PURE__*/_react["default"].createElement(_OverflowableText["default"], {
207
- text: element.voltageLevelLabel,
208
- className: (0, _clsx["default"])(classes.equipmentTag, classes.equipmentVlTag)
209
- })));
210
- };
211
- };
212
-
213
- exports.renderEquipmentForSearchBar = renderEquipmentForSearchBar;
166
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.19.0",
3
+ "version": "0.20.2",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "main": "lib/index.js",
6
6
  "files": [