@gridsuite/commons-ui 0.14.5 → 0.16.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.
@@ -37,22 +37,12 @@ var styles = function styles(theme) {
37
37
  alignItems: 'end',
38
38
  padding: '20px',
39
39
  paddingRight: '0px'
40
- },
41
- popper: {
42
- maxWidth: 'fit-content'
43
40
  }
44
41
  };
45
42
  };
46
43
 
47
44
  var useStyles = (0, _styles.makeStyles)(styles);
48
45
 
49
- var PopperWithFitToContent = function PopperWithFitToContent(props) {
50
- return /*#__PURE__*/_react["default"].createElement(_core.Popper, _extends({}, props, {
51
- style: styles.popper,
52
- placement: "bottom-start"
53
- }));
54
- };
55
-
56
46
  var ElementSearchDialog = function ElementSearchDialog(props) {
57
47
  var classes = useStyles();
58
48
  var intl = (0, _reactIntl.useIntl)();
@@ -102,7 +92,6 @@ var ElementSearchDialog = function ElementSearchDialog(props) {
102
92
  }), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_lab.Autocomplete, {
103
93
  id: "element-search",
104
94
  forcePopupIcon: false,
105
- PopperComponent: PopperWithFitToContent,
106
95
  open: expanded,
107
96
  onOpen: function onOpen() {
108
97
  setElements([]);
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _overflowableText = _interopRequireDefault(require("./overflowable-text"));
7
+
8
+ exports["default"] = _overflowableText["default"];
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ module.exports = exports.default;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = exports.OverflowableText = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _core = require("@material-ui/core");
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _styles = require("@material-ui/core/styles");
13
+
14
+ var _clsx = _interopRequireDefault(require("clsx"));
15
+
16
+ var _excluded = ["text", "className", "children"];
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ var overflowStyle = function overflowStyle(theme) {
29
+ return {
30
+ overflow: {
31
+ display: 'inline-block',
32
+ whiteSpace: 'nowrap',
33
+ textOverflow: 'ellipsis',
34
+ overflow: 'hidden'
35
+ },
36
+ tooltip: {
37
+ whiteSpace: 'nowrap',
38
+ width: 'fit-content',
39
+ maxWidth: 'fit-content'
40
+ }
41
+ };
42
+ };
43
+
44
+ var useStyles = (0, _styles.makeStyles)(overflowStyle);
45
+
46
+ var OverflowableText = function OverflowableText(_ref) {
47
+ var text = _ref.text,
48
+ className = _ref.className,
49
+ children = _ref.children,
50
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
51
+
52
+ var element = (0, _react.useRef)();
53
+ var classes = useStyles();
54
+
55
+ var _useState = (0, _react.useState)(false),
56
+ overflowed = _useState[0],
57
+ setOverflowed = _useState[1];
58
+
59
+ var checkOverflow = (0, _react.useCallback)(function () {
60
+ if (!element.current) return;
61
+ setOverflowed(element.current.scrollWidth > element.current.clientWidth);
62
+ }, [setOverflowed, element]);
63
+ (0, _react.useEffect)(function () {
64
+ checkOverflow();
65
+ }, [checkOverflow]);
66
+ return /*#__PURE__*/_react["default"].createElement(_core.Tooltip, {
67
+ title: text || '',
68
+ disableHoverListener: !overflowed,
69
+ classes: {
70
+ tooltip: classes.tooltip
71
+ }
72
+ }, /*#__PURE__*/_react["default"].createElement("div", _extends({}, props, {
73
+ ref: element,
74
+ children: children || text,
75
+ className: (0, _clsx["default"])(className, classes.overflow)
76
+ })));
77
+ };
78
+
79
+ exports.OverflowableText = OverflowableText;
80
+ OverflowableText.propTypes = process.env.NODE_ENV !== "production" ? {
81
+ children: _propTypes["default"].array,
82
+ text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]).isRequired,
83
+ className: _propTypes["default"].string
84
+ } : {};
85
+ var _default = OverflowableText;
86
+ exports["default"] = _default;
@@ -14,7 +14,7 @@ var equipment_search_en = {
14
14
  'equipment_search/loadTag': 'LOAD',
15
15
  'equipment_search/shuntTag': 'SHUNT',
16
16
  'equipment_search/svcTag': 'SVC',
17
- 'equipment_search/hvdcLinkTag': 'HVDC LINK',
17
+ 'equipment_search/hvdcLineTag': 'HVDC LINE',
18
18
  'equipment_search/hvdcStationTag': 'HVDC STATION',
19
19
  'equipment_search/voltageLevelTag': 'VOLTAGE LEVEL',
20
20
  'equipment_search/substationTag': 'SUBSTATION',
@@ -14,7 +14,7 @@ var equipment_search_fr = {
14
14
  'equipment_search/loadTag': 'CONSO',
15
15
  'equipment_search/shuntTag': 'MCS',
16
16
  'equipment_search/svcTag': 'CSPR',
17
- 'equipment_search/hvdcLinkTag': 'LIAISON HVDC',
17
+ 'equipment_search/hvdcLineTag': 'LIGNE HVDC',
18
18
  'equipment_search/hvdcStationTag': 'STATION HVDC',
19
19
  'equipment_search/voltageLevelTag': 'POSTE',
20
20
  'equipment_search/substationTag': 'SITE',
package/lib/index.js CHANGED
@@ -31,6 +31,10 @@ var _ReportViewerDialog2 = _interopRequireDefault(require("./components/ReportVi
31
31
 
32
32
  exports.ReportViewerDialog = _ReportViewerDialog2["default"];
33
33
 
34
+ var _OverflowableText2 = _interopRequireDefault(require("./components/OverflowableText"));
35
+
36
+ exports.OverflowableText = _OverflowableText2["default"];
37
+
34
38
  var _EquipmentType = require("./utils/EquipmentType");
35
39
 
36
40
  exports.EQUIPMENT_TYPE = _EquipmentType.EQUIPMENT_TYPE;
@@ -10,12 +10,8 @@ var _LibraryBooksOutlined = _interopRequireDefault(require("@material-ui/icons/L
10
10
 
11
11
  var _Description = _interopRequireDefault(require("@material-ui/icons/Description"));
12
12
 
13
- var _PanTool = _interopRequireDefault(require("@material-ui/icons/PanTool"));
14
-
15
13
  var _FilterList = _interopRequireDefault(require("@material-ui/icons/FilterList"));
16
14
 
17
- var _Filter = _interopRequireDefault(require("@material-ui/icons/Filter"));
18
-
19
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20
16
 
21
17
  /**
@@ -28,9 +24,7 @@ var elementType = {
28
24
  DIRECTORY: 'DIRECTORY',
29
25
  STUDY: 'STUDY',
30
26
  FILTER: 'FILTER',
31
- SCRIPT: 'SCRIPT',
32
- SCRIPT_CONTINGENCY_LIST: 'SCRIPT_CONTINGENCY_LIST',
33
- FILTERS_CONTINGENCY_LIST: 'FILTERS_CONTINGENCY_LIST'
27
+ CONTINGENCY_LIST: 'CONTINGENCY_LIST'
34
28
  };
35
29
  exports.elementType = elementType;
36
30
 
@@ -41,26 +35,16 @@ function getFileIcon(type, theme) {
41
35
  className: theme
42
36
  });
43
37
 
44
- case elementType.SCRIPT_CONTINGENCY_LIST:
38
+ case elementType.CONTINGENCY_LIST:
45
39
  return /*#__PURE__*/_react["default"].createElement(_Description["default"], {
46
40
  className: theme
47
41
  });
48
42
 
49
- case elementType.FILTERS_CONTINGENCY_LIST:
50
- return /*#__PURE__*/_react["default"].createElement(_PanTool["default"], {
51
- className: theme
52
- });
53
-
54
43
  case elementType.FILTER:
55
44
  return /*#__PURE__*/_react["default"].createElement(_FilterList["default"], {
56
45
  className: theme
57
46
  });
58
47
 
59
- case elementType.SCRIPT:
60
- return /*#__PURE__*/_react["default"].createElement(_Filter["default"], {
61
- className: theme
62
- });
63
-
64
48
  case elementType.DIRECTORY:
65
49
  // to easily use in TreeView we do not give icons for directories
66
50
  return;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.renderEquipmentForSearchBar = exports.getEquipmentsInfosForSearchBar = exports.EQUIPMENT_TYPE = exports.equipmentStyles = exports.TYPE_TAG_MAX_SIZE = void 0;
4
+ exports.renderEquipmentForSearchBar = exports.getEquipmentsInfosForSearchBar = exports.EQUIPMENT_TYPE = exports.equipmentStyles = exports.VL_TAG_MAX_SIZE = exports.TYPE_TAG_MAX_SIZE = void 0;
5
5
 
6
6
  var _match = _interopRequireDefault(require("autosuggest-highlight/match"));
7
7
 
@@ -13,6 +13,8 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var _TopBar = require("../components/TopBar/TopBar");
15
15
 
16
+ var _OverflowableText = _interopRequireDefault(require("../components/OverflowableText"));
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
19
 
18
20
  /**
@@ -23,6 +25,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
23
25
  */
24
26
  var TYPE_TAG_MAX_SIZE = '90px';
25
27
  exports.TYPE_TAG_MAX_SIZE = TYPE_TAG_MAX_SIZE;
28
+ var VL_TAG_MAX_SIZE = '100px';
29
+ exports.VL_TAG_MAX_SIZE = VL_TAG_MAX_SIZE;
26
30
 
27
31
  var equipmentStyles = function equipmentStyles(theme) {
28
32
  return {
@@ -48,8 +52,14 @@ var equipmentStyles = function equipmentStyles(theme) {
48
52
  background: 'lightblue'
49
53
  },
50
54
  equipmentVlTag: {
55
+ width: VL_TAG_MAX_SIZE,
56
+ minWidth: VL_TAG_MAX_SIZE,
57
+ maxWidth: VL_TAG_MAX_SIZE,
51
58
  background: 'lightgray',
52
59
  fontStyle: 'italic'
60
+ },
61
+ result: {
62
+ width: '100%'
53
63
  }
54
64
  };
55
65
  }; // Must be equivalent as the back enum
@@ -82,10 +92,10 @@ var EQUIPMENT_TYPE = {
82
92
  sortOrder: 4,
83
93
  tagLabel: 'equipment_search/3wtTag'
84
94
  },
85
- HVDC: {
86
- name: 'HVDC',
95
+ HVDC_LINE: {
96
+ name: 'HVDC_LINE',
87
97
  sortOrder: 5,
88
- tagLabel: 'equipment_search/hvdcLinkTag'
98
+ tagLabel: 'equipment_search/hvdcLineTag'
89
99
  },
90
100
  GENERATOR: {
91
101
  name: 'GENERATOR',
@@ -127,25 +137,15 @@ var EQUIPMENT_TYPE = {
127
137
  sortOrder: 13,
128
138
  tagLabel: 'equipment_search/busbarSectionTag'
129
139
  },
130
- CONFIGURED_BUS: {
131
- name: 'CONFIGURED_BUS',
140
+ BUS: {
141
+ name: 'BUS',
132
142
  sortOrder: 14,
133
143
  tagLabel: 'equipment_search/busTag'
134
144
  },
135
- BREAKER: {
136
- name: 'BREAKER',
145
+ SWITCH: {
146
+ name: 'SWITCH',
137
147
  sortOrder: 15,
138
148
  tagLabel: 'equipment_search/switchTag'
139
- },
140
- DISCONNECTOR: {
141
- name: 'DISCONNECTOR',
142
- sortOrder: 16,
143
- tagLabel: 'equipment_search/switchTag'
144
- },
145
- LOAD_BREAK_SWITCH: {
146
- name: 'LOAD_BREAK_SWITCH',
147
- sortOrder: 17,
148
- tagLabel: 'equipment_search/switchTag'
149
149
  }
150
150
  };
151
151
  exports.EQUIPMENT_TYPE = EQUIPMENT_TYPE;
@@ -162,7 +162,8 @@ var getEquipmentsInfosForSearchBar = function getEquipmentsInfosForSearchBar(equ
162
162
  label: label,
163
163
  id: e.id,
164
164
  type: e.type,
165
- voltageLevel: equipmentLabelling ? vli.name : vli.id
165
+ voltageLevelLabel: equipmentLabelling ? vli.name : vli.id,
166
+ voltageLevelId: vli.id
166
167
  };
167
168
  });
168
169
  }).sort(sortEquipments);
@@ -188,18 +189,22 @@ var renderEquipmentForSearchBar = function renderEquipmentForSearchBar(classes,
188
189
  className: (0, _clsx["default"])(classes.equipmentTag, classes.equipmentTypeTag)
189
190
  }, intl.formatMessage({
190
191
  id: EQUIPMENT_TYPE[element.type].tagLabel
191
- })), /*#__PURE__*/_react["default"].createElement("div", {
192
- className: classes.equipmentOption
193
- }, /*#__PURE__*/_react["default"].createElement("span", null, parts.map(function (part, index) {
192
+ })), /*#__PURE__*/_react["default"].createElement(_OverflowableText["default"], {
193
+ text: parts.map(function (e) {
194
+ return e.text;
195
+ }).join(),
196
+ className: classes.result
197
+ }, parts.map(function (part, index) {
194
198
  return /*#__PURE__*/_react["default"].createElement("span", {
195
199
  key: index,
196
200
  style: {
197
201
  fontWeight: part.highlight ? 'bold' : 'inherit'
198
202
  }
199
203
  }, part.text);
200
- })), element.type !== EQUIPMENT_TYPE.SUBSTATION.name && element.type !== EQUIPMENT_TYPE.VOLTAGE_LEVEL.name && /*#__PURE__*/_react["default"].createElement("span", {
204
+ })), element.type !== EQUIPMENT_TYPE.SUBSTATION.name && element.type !== EQUIPMENT_TYPE.VOLTAGE_LEVEL.name && /*#__PURE__*/_react["default"].createElement(_OverflowableText["default"], {
205
+ text: element.voltageLevelLabel,
201
206
  className: (0, _clsx["default"])(classes.equipmentTag, classes.equipmentVlTag)
202
- }, element.voltageLevel)));
207
+ }));
203
208
  };
204
209
  };
205
210
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.14.5",
3
+ "version": "0.16.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "main": "lib/index.js",
6
6
  "files": [