@gridsuite/commons-ui 0.14.6 → 0.17.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;
@@ -128,7 +128,8 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
128
128
  borderTop: '1px solid #ccc'
129
129
  },
130
130
  settingsMenu: {
131
- maxWidth: '385px'
131
+ maxWidth: '385px',
132
+ zIndex: 60
132
133
  },
133
134
  sizeLabel: {
134
135
  fontSize: '16px'
@@ -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,14 @@ 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
+
38
+ var _ElementSearchDialog2 = _interopRequireDefault(require("./components/ElementSearchDialog"));
39
+
40
+ exports.ElementSearchDialog = _ElementSearchDialog2["default"];
41
+
34
42
  var _EquipmentType = require("./utils/EquipmentType");
35
43
 
36
44
  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;
@@ -189,18 +189,22 @@ var renderEquipmentForSearchBar = function renderEquipmentForSearchBar(classes,
189
189
  className: (0, _clsx["default"])(classes.equipmentTag, classes.equipmentTypeTag)
190
190
  }, intl.formatMessage({
191
191
  id: EQUIPMENT_TYPE[element.type].tagLabel
192
- })), /*#__PURE__*/_react["default"].createElement("div", {
193
- className: classes.equipmentOption
194
- }, /*#__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) {
195
198
  return /*#__PURE__*/_react["default"].createElement("span", {
196
199
  key: index,
197
200
  style: {
198
201
  fontWeight: part.highlight ? 'bold' : 'inherit'
199
202
  }
200
203
  }, part.text);
201
- })), 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,
202
206
  className: (0, _clsx["default"])(classes.equipmentTag, classes.equipmentVlTag)
203
- }, element.voltageLevelLabel)));
207
+ }));
204
208
  };
205
209
  };
206
210
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.14.6",
3
+ "version": "0.17.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "main": "lib/index.js",
6
6
  "files": [