@sis-cc/dotstatsuite-visions 7.19.1 → 7.20.1

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.
Files changed (45) hide show
  1. package/es/AdvancedFilterDialog/AdvancedFilterDialog.js +78 -28
  2. package/es/AdvancedFilterDialog/images/all-selection.png +0 -0
  3. package/es/AdvancedFilterDialog/images/branch-selection.png +0 -0
  4. package/es/AdvancedFilterDialog/images/children-selection.png +0 -0
  5. package/es/AdvancedFilterDialog/images/level-selection.png +0 -0
  6. package/es/AdvancedFilterDialog/images/single-selection.png +0 -0
  7. package/es/AdvancedFilterDialog/images/small-all-selection.png +0 -0
  8. package/es/AdvancedFilterDialog/images/small-branch-selection.png +0 -0
  9. package/es/AdvancedFilterDialog/images/small-children-selection.png +0 -0
  10. package/es/AdvancedFilterDialog/images/small-level-selection.png +0 -0
  11. package/es/AdvancedFilterDialog/images/small-single-selection.png +0 -0
  12. package/es/Chips/CustomChip.js +109 -0
  13. package/es/Chips/DeleteChip.js +27 -0
  14. package/es/Chips/GroupedChips.js +95 -0
  15. package/es/Chips/index.js +34 -26
  16. package/es/Chips/styles.js +64 -0
  17. package/es/Chips/utils.js +11 -0
  18. package/es/HierarchicalFilter/HierarchicalFilter.js +1 -1
  19. package/es/VirtualizedTree/Item.js +14 -14
  20. package/es/VirtualizedTree/VirtualizedTree.js +13 -14
  21. package/es/index.js +1 -1
  22. package/lib/AdvancedFilterDialog/AdvancedFilterDialog.js +105 -26
  23. package/lib/AdvancedFilterDialog/images/all-selection.png +0 -0
  24. package/lib/AdvancedFilterDialog/images/branch-selection.png +0 -0
  25. package/lib/AdvancedFilterDialog/images/children-selection.png +0 -0
  26. package/lib/AdvancedFilterDialog/images/level-selection.png +0 -0
  27. package/lib/AdvancedFilterDialog/images/single-selection.png +0 -0
  28. package/lib/AdvancedFilterDialog/images/small-all-selection.png +0 -0
  29. package/lib/AdvancedFilterDialog/images/small-branch-selection.png +0 -0
  30. package/lib/AdvancedFilterDialog/images/small-children-selection.png +0 -0
  31. package/lib/AdvancedFilterDialog/images/small-level-selection.png +0 -0
  32. package/lib/AdvancedFilterDialog/images/small-single-selection.png +0 -0
  33. package/lib/Chips/CustomChip.js +145 -0
  34. package/lib/Chips/DeleteChip.js +46 -0
  35. package/lib/Chips/GroupedChips.js +122 -0
  36. package/lib/Chips/index.js +11 -4
  37. package/lib/Chips/styles.js +74 -0
  38. package/lib/Chips/utils.js +20 -0
  39. package/lib/HierarchicalFilter/HierarchicalFilter.js +1 -1
  40. package/lib/VirtualizedTree/Item.js +18 -13
  41. package/lib/VirtualizedTree/VirtualizedTree.js +13 -14
  42. package/lib/index.js +8 -2
  43. package/package.json +7 -5
  44. package/es/Chips/Chips.js +0 -302
  45. package/lib/Chips/Chips.js +0 -342
@@ -8,14 +8,14 @@ import Typography from '@material-ui/core/Typography';
8
8
  import ListItemText from '@material-ui/core/ListItemText';
9
9
  import IconButton from '@material-ui/core/IconButton';
10
10
  import SvgIcon from '@material-ui/core/SvgIcon';
11
+ import Icon from '@material-ui/core/SvgIcon';
12
+ import CheckBoxIcon from '@material-ui/icons/CheckBoxOutlineBlankOutlined';
13
+ import CheckedBoxIcon from '@material-ui/icons/CheckBoxOutlined';
11
14
  import cx from 'classnames';
12
15
  import { Tooltip } from '../';
13
16
 
14
- var checkBoxPath = 'M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z';
15
- var checkPath = 'M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z';
16
-
17
17
  var Item = function Item(_ref) {
18
- var _cx, _extends2, _cx2, _cx3, _cx4, _cx5, _cx6;
18
+ var _extends2, _cx, _cx2, _cx3, _cx4, _cx5;
19
19
 
20
20
  var classes = _ref.classes,
21
21
  id = _ref.id,
@@ -54,8 +54,7 @@ var Item = function Item(_ref) {
54
54
  {
55
55
  disableGutters: true,
56
56
  classes: { disabled: classes.disabled },
57
- className: cx(classes.listItemContainer, (_cx = {}, _cx[classes.disableSecondaryAction] = R.not(hasChild), _cx)),
58
- disabled: isDisabled,
57
+ className: cx(classes.listItemContainer, classes.disableSecondaryAction),
59
58
  tabIndex: -1,
60
59
  style: _extends({}, style, (_extends2 = {
61
60
  flexDirection: isRtl ? 'row-reverse' : 'row'
@@ -70,7 +69,7 @@ var Item = function Item(_ref) {
70
69
  'aria-label': ariaLabel,
71
70
  tabIndex: -1,
72
71
  size: 'small',
73
- color: 'inherit',
72
+ color: 'primary',
74
73
  onClick: function onClick() {
75
74
  return changeList(hierarchicalId || id);
76
75
  }
@@ -85,30 +84,31 @@ var Item = function Item(_ref) {
85
84
  primaryTypographyProps: { noWrap: true, color: 'inherit' },
86
85
  secondaryTypographyProps: { color: 'inherit' },
87
86
  classes: { root: classes.listItem },
88
- className: cx((_cx2 = {}, _cx2[classes.accessibilityItemHover] = accessibility, _cx2[classes.listItemSelected] = R.and(isSelected, R.not(isDisabled)), _cx2[classes.listItemHover] = R.not(isDisabled), _cx2)),
87
+ className: cx((_cx = {}, _cx[classes.accessibilityItemHover] = accessibility, _cx[classes.listItemSelected] = R.and(isSelected, R.not(isDisabled)), _cx[classes.listItemHover] = R.not(isDisabled), _cx[classes.disabledLabel] = isDisabled, _cx)),
89
88
  onMouseDown: isDisabled || isTooltipShown ? null : callbacks.onMouseDown,
90
89
  onMouseUp: isDisabled || isTooltipShown ? null : callbacks.onMouseUp,
91
90
  onMouseEnter: isDisabled || isTooltipShown ? null : callbacks.onMouseEnter
92
91
  }, R.pick(['onKeyPress'], callbacks), {
93
92
  title: isDisabled ? R.propOr('', 'disableItemLabel')(labels) + ' ' + label : label,
93
+ style: { opacity: isDisabled ? '0.5' : '1' },
94
94
  primary: React.createElement(
95
95
  'div',
96
96
  {
97
- className: cx(classes.labelContainer, (_cx3 = {}, _cx3[classes.rtlLabelContainer] = isRtl, _cx3))
97
+ className: cx(classes.labelContainer, (_cx2 = {}, _cx2[classes.rtlLabelContainer] = isRtl, _cx2))
98
98
  },
99
99
  React.createElement(
100
- SvgIcon,
100
+ Icon,
101
101
  {
102
102
  color: 'primary',
103
- className: cx(classes.labelIcon, (_cx4 = {}, _cx4[classes.disabledLabel] = isDisabled, _cx4))
103
+ className: cx(classes.labelIcon, (_cx3 = {}, _cx3[classes.disabledLabel] = isDisabled, _cx3))
104
104
  },
105
- React.createElement('path', { d: R.and(isSelected, R.not(isDisabled)) ? checkPath : checkBoxPath })
105
+ isSelected && R.not(isDisabled) ? React.createElement(CheckedBoxIcon, null) : React.createElement(CheckBoxIcon, null)
106
106
  ),
107
107
  svgPath && React.createElement(
108
108
  SvgIcon,
109
109
  {
110
110
  color: 'primary',
111
- className: cx(classes.labelIcon, (_cx5 = {}, _cx5[classes.disabledLabel] = isDisabled, _cx5))
111
+ className: cx(classes.labelIcon, (_cx4 = {}, _cx4[classes.disabledLabel] = isDisabled, _cx4))
112
112
  },
113
113
  React.createElement('path', { d: svgPath })
114
114
  ),
@@ -137,7 +137,7 @@ var Item = function Item(_ref) {
137
137
  'data-testid': testId + '_value_' + id,
138
138
  color: 'inherit',
139
139
  variant: 'body2',
140
- className: cx(classes.label, (_cx6 = {}, _cx6[classes.disabledLabel] = isDisabled, _cx6[classes.tooltipNotice] = !R.isEmpty(description), _cx6))
140
+ className: cx(classes.label, (_cx5 = {}, _cx5[classes.disabledLabel] = isDisabled, _cx5[classes.tooltipNotice] = !R.isEmpty(description), _cx5))
141
141
  },
142
142
  label
143
143
  )
@@ -114,7 +114,9 @@ var VirtualizedTree = function VirtualizedTree(props) {
114
114
  };
115
115
  var shiftSelect = function shiftSelect(index) {
116
116
  if (R.isEmpty(shiftIndexes)) {
117
- var item = R.nth(index, list);
117
+ var item = R.pipe(R.nth(index), function (id) {
118
+ return R.prop(id, indexedItemsById);
119
+ })(list);
118
120
  var ids = R.pipe(getItemScope, R.filter(function (v) {
119
121
  return v.isSelected === item.isSelected;
120
122
  }), R.map(getHierarchicalId), R.indexBy(R.identity))(item);
@@ -154,25 +156,21 @@ var VirtualizedTree = function VirtualizedTree(props) {
154
156
  apply();
155
157
  } : null,
156
158
  onMouseDown: function onMouseDown(e) {
157
- if (e.ctrlKey || e.shiftKey) {
158
- return;
159
+ if (e.ctrlKey) {
160
+ multiSelect(id);
161
+ } else if (e.shiftKey) {
162
+ shiftSelect(index);
163
+ } else {
164
+ multiSelect(id);
165
+ setIsMouseDown(true);
159
166
  }
160
- multiSelect(id);
161
- setIsMouseDown(true);
162
167
  },
163
168
  onMouseEnter: isMouseDown ? function (e) {
164
169
  if (e.ctrlKey || e.shiftKey) {
165
170
  return;
166
171
  }
167
172
  multiSelect(id);
168
- } : null,
169
- onClick: function onClick(e) {
170
- if (e.ctrlKey) {
171
- multiSelect(id);
172
- } else if (e.shiftKey) {
173
- shiftSelect(index);
174
- }
175
- }
173
+ } : null
176
174
  };
177
175
  };
178
176
  var onKeyUp = function onKeyUp(e) {
@@ -296,7 +294,8 @@ var VirtualizedTree = function VirtualizedTree(props) {
296
294
  index: index,
297
295
  style: style,
298
296
  accessibility: accessibility,
299
- ariaLabel: R.prop('navigateNext')(labels)
297
+ ariaLabel: R.prop('navigateNext')(labels),
298
+ theme: theme
300
299
  }));
301
300
  }
302
301
  });
package/es/index.js CHANGED
@@ -8,7 +8,7 @@ export { default as ApiQueries } from './ApiQueries';
8
8
  export { default as Breadcrumbs } from './Breadcrumbs';
9
9
  export { default as Button } from './Button';
10
10
  export { default as ChartsConfig } from './ChartsConfig';
11
- export { default as Chips } from './Chips';
11
+ export { DeleteAllChip, default as GroupedChips } from './Chips';
12
12
  export { default as CollapseButtons } from './CollapseButtons';
13
13
  export { default as CollapsibleTree } from './CollapsibleTree';
14
14
  export { default as Contact } from './Contact';
@@ -83,6 +83,46 @@ var _ = require('..');
83
83
 
84
84
  var _styles = require('@material-ui/core/styles');
85
85
 
86
+ var _singleSelection = require('./images/single-selection.png');
87
+
88
+ var _singleSelection2 = _interopRequireDefault(_singleSelection);
89
+
90
+ var _childrenSelection = require('./images/children-selection.png');
91
+
92
+ var _childrenSelection2 = _interopRequireDefault(_childrenSelection);
93
+
94
+ var _branchSelection = require('./images/branch-selection.png');
95
+
96
+ var _branchSelection2 = _interopRequireDefault(_branchSelection);
97
+
98
+ var _levelSelection = require('./images/level-selection.png');
99
+
100
+ var _levelSelection2 = _interopRequireDefault(_levelSelection);
101
+
102
+ var _allSelection = require('./images/all-selection.png');
103
+
104
+ var _allSelection2 = _interopRequireDefault(_allSelection);
105
+
106
+ var _smallSingleSelection = require('./images/small-single-selection.png');
107
+
108
+ var _smallSingleSelection2 = _interopRequireDefault(_smallSingleSelection);
109
+
110
+ var _smallChildrenSelection = require('./images/small-children-selection.png');
111
+
112
+ var _smallChildrenSelection2 = _interopRequireDefault(_smallChildrenSelection);
113
+
114
+ var _smallBranchSelection = require('./images/small-branch-selection.png');
115
+
116
+ var _smallBranchSelection2 = _interopRequireDefault(_smallBranchSelection);
117
+
118
+ var _smallLevelSelection = require('./images/small-level-selection.png');
119
+
120
+ var _smallLevelSelection2 = _interopRequireDefault(_smallLevelSelection);
121
+
122
+ var _smallAllSelection = require('./images/small-all-selection.png');
123
+
124
+ var _smallAllSelection2 = _interopRequireDefault(_smallAllSelection);
125
+
86
126
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
87
127
 
88
128
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -130,6 +170,10 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
130
170
  alignItems: 'flex-start'
131
171
  },
132
172
  spotlight: { width: '45%' },
173
+ selection: {
174
+ display: 'flex',
175
+ alignItems: 'center'
176
+ },
133
177
  narrowSpotlight: { width: '100%' },
134
178
  selectionButton: {
135
179
  marginLeft: 24,
@@ -143,7 +187,7 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
143
187
  width: '50%',
144
188
  position: 'absolute',
145
189
  top: 105,
146
- right: 24,
190
+ right: 48,
147
191
  zIndex: 1
148
192
  },
149
193
  narrowSelectionMenu: {
@@ -154,16 +198,28 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
154
198
  flexDirection: 'row',
155
199
  flexWrap: 'wrap'
156
200
  },
157
- selectedItem: {
158
- backgroundColor: theme.palette.secondary.main
201
+ selectButton: {
202
+ color: theme.palette.primary.main,
203
+ '&:hover': {
204
+ color: theme.palette.primary.main,
205
+ backgroundColor: theme.palette.action.hover
206
+ }
207
+ },
208
+ selectedButton: {
209
+ backgroundColor: theme.palette.secondary.main,
210
+ '&:hover': {
211
+ backgroundColor: theme.palette.action.selected
212
+ }
159
213
  },
160
214
  selectModeItem: {
161
215
  boxShadow: 'none',
162
216
  display: 'flex',
163
217
  width: 110,
164
218
  height: 200,
219
+ backgroundColor: 'inherit',
220
+ color: 'inherit',
165
221
  flexDirection: 'column',
166
- justifyContent: 'flex-end',
222
+ justifyContent: 'space-between',
167
223
  '& img': {
168
224
  width: 110,
169
225
  height: 140
@@ -179,6 +235,7 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
179
235
  });
180
236
 
181
237
  var getScopeGetters = exports.getScopeGetters = function getScopeGetters(items, groupedItems, disableAccessor) {
238
+ var indexed = R.indexBy(_VirtualizedTree.getHierarchicalId, items);
182
239
  return {
183
240
  all: function all() {
184
241
  return R.reject(disableAccessor, items);
@@ -200,9 +257,10 @@ var getScopeGetters = exports.getScopeGetters = function getScopeGetters(items,
200
257
  return R.reject(disableAccessor, items);
201
258
  },
202
259
  level: function level(item) {
203
- var parentId = R.propOr('#ROOT', 'parentId', item);
204
- var items = R.prop(parentId, groupedItems);
205
- return R.reject(disableAccessor, items);
260
+ var depth = (0, _VirtualizedTree.getDepth)(indexed)(item);
261
+ return R.filter(function (it) {
262
+ return !disableAccessor(it) && (0, _VirtualizedTree.getDepth)(indexed)(it) === depth;
263
+ }, items);
206
264
  }
207
265
  };
208
266
  };
@@ -233,10 +291,12 @@ var SelectionModeMenu = function SelectionModeMenu(_ref) {
233
291
 
234
292
  var value = _ref2.value,
235
293
  label = _ref2.label,
236
- imgSrc = _ref2.imgSrc;
294
+ img = _ref2.img;
237
295
  return _react2.default.createElement(
238
296
  _.Button,
239
- _extends({}, value === selected ? { variant: 'contained', color: 'secondary' } : {}, {
297
+ _extends({
298
+ className: (0, _classnames2.default)(classes.selectButton, (_cx = {}, _cx[classes.selectedButton] = value === selected, _cx))
299
+ }, value === selected ? { variant: 'contained', color: 'secondary' } : {}, {
240
300
  key: value,
241
301
  onClick: function onClick() {
242
302
  return onSelect(value);
@@ -244,16 +304,13 @@ var SelectionModeMenu = function SelectionModeMenu(_ref) {
244
304
  }),
245
305
  _react2.default.createElement(
246
306
  _Paper2.default,
247
- {
248
- className: (0, _classnames2.default)(classes.selectModeItem, (_cx = {}, _cx[classes.selectedItem] = value === selected, _cx)),
249
- key: value
250
- },
307
+ { className: classes.selectModeItem, key: value },
251
308
  _react2.default.createElement(
252
309
  _Typography2.default,
253
310
  { variant: 'body2' },
254
311
  label
255
312
  ),
256
- _react2.default.createElement('img', { src: imgSrc, alt: value })
313
+ !R.isNil(img) && R.is(String, img) && _react2.default.createElement('img', { src: img, alt: value })
257
314
  )
258
315
  );
259
316
  }, options)
@@ -281,6 +338,14 @@ SelectionModeMenu.propTypes = process.env.NODE_ENV !== "production" ? {
281
338
  selected: _propTypes2.default.string
282
339
  } : {};
283
340
 
341
+ var icons = {
342
+ single: _smallSingleSelection2.default,
343
+ children: _smallChildrenSelection2.default,
344
+ branch: _smallBranchSelection2.default,
345
+ level: _smallLevelSelection2.default,
346
+ all: _smallAllSelection2.default
347
+ };
348
+
284
349
  var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
285
350
  var _cx2;
286
351
 
@@ -293,9 +358,8 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
293
358
  isOpen = props.isOpen,
294
359
  isNarrow = props.isNarrow,
295
360
  labels = props.labels,
296
- imgs = props.imgs,
297
361
  disableAccessor = props.disableAccessor,
298
- rest = _objectWithoutProperties(props, ['id', 'title', 'items', 'labelRenderer', 'onClose', 'changeSelection', 'isOpen', 'isNarrow', 'labels', 'imgs', 'disableAccessor']);
362
+ rest = _objectWithoutProperties(props, ['id', 'title', 'items', 'labelRenderer', 'onClose', 'changeSelection', 'isOpen', 'isNarrow', 'labels', 'disableAccessor']);
299
363
 
300
364
  var _useState = (0, _react.useState)(''),
301
365
  term = _useState[0].term,
@@ -342,20 +406,24 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
342
406
  var selectionOptions = [{
343
407
  value: 'single',
344
408
  label: R.prop('singleSelection', labels),
345
- imgSrc: R.prop('singleSelection', imgs)
409
+ img: _singleSelection2.default
346
410
  }, {
347
411
  value: 'children',
348
412
  label: R.prop('childrenSelection', labels),
349
- imgSrc: R.prop('childrenSelection', imgs)
413
+ img: _childrenSelection2.default
350
414
  }, {
351
415
  value: 'branch',
352
416
  label: R.prop('branchSelection', labels),
353
- imgSrc: R.prop('branchSelection', imgs)
417
+ img: _branchSelection2.default
354
418
  }, {
355
419
  value: 'level',
356
420
  label: R.prop('levelSelection', labels),
357
- imgSrc: R.prop('levelSelection', imgs)
358
- }, { value: 'all', label: R.prop('allSelection', labels), imgSrc: R.prop('allSelection', imgs) }];
421
+ img: _levelSelection2.default
422
+ }, {
423
+ value: 'all',
424
+ label: R.prop('allSelection', labels),
425
+ img: _allSelection2.default
426
+ }];
359
427
 
360
428
  var isDisabled = function isDisabled(item) {
361
429
  return R.is(Function, disableAccessor) ? disableAccessor(item) : false;
@@ -424,7 +492,7 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
424
492
  ),
425
493
  _react2.default.createElement(
426
494
  'div',
427
- null,
495
+ { className: classes.selection },
428
496
  _react2.default.createElement(
429
497
  _.Button,
430
498
  {
@@ -440,7 +508,13 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
440
508
  R.prop('selectionMode', labels)
441
509
  ),
442
510
  '\xA0',
443
- R.prop(selectionMode + 'Selection', labels)
511
+ R.prop(selectionMode + 'Selection', labels),
512
+ !R.isNil(R.prop(selectionMode, icons)) && R.is(String, R.prop(selectionMode, icons)) && _react2.default.createElement(
513
+ _react.Fragment,
514
+ null,
515
+ '\xA0',
516
+ _react2.default.createElement('img', { src: R.prop(selectionMode, icons), alt: selectionMode })
517
+ )
444
518
  )
445
519
  ),
446
520
  _react2.default.createElement(
@@ -465,7 +539,7 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
465
539
  items: selectionItems,
466
540
  changeSelection: onChangeSelection,
467
541
  withExpandControl: true,
468
- maxTreeHeight: 500,
542
+ maxTreeHeight: 490,
469
543
  getItemScope: R.prop(selectionMode, scopeGetters)
470
544
  }))
471
545
  )
@@ -476,7 +550,13 @@ var AdvancedFilterDialog = function AdvancedFilterDialog(props) {
476
550
  null,
477
551
  R.is(Function, onClose) && _react2.default.createElement(
478
552
  _.Button,
479
- { onClick: onClose, color: 'primary' },
553
+ {
554
+ onClick: function onClick() {
555
+ onClose();
556
+ setSelection({});
557
+ },
558
+ color: 'primary'
559
+ },
480
560
  R.prop('cancel', labels)
481
561
  ),
482
562
  R.is(Function, changeSelection) && _react2.default.createElement(
@@ -500,7 +580,6 @@ AdvancedFilterDialog.propTypes = process.env.NODE_ENV !== "production" ? {
500
580
  changeSelection: _propTypes2.default.func,
501
581
  disableAccessor: _propTypes2.default.func,
502
582
  HTMLRenderer: _propTypes2.default.func,
503
- imgs: _propTypes2.default.object,
504
583
  isRtl: _propTypes2.default.bool,
505
584
  isNarrow: _propTypes2.default.bool,
506
585
  isOpen: _propTypes2.default.bool,
@@ -0,0 +1,145 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _react = require('react');
6
+
7
+ var _react2 = _interopRequireDefault(_react);
8
+
9
+ var _propTypes = require('prop-types');
10
+
11
+ var _propTypes2 = _interopRequireDefault(_propTypes);
12
+
13
+ var _ramda = require('ramda');
14
+
15
+ var R = _interopRequireWildcard(_ramda);
16
+
17
+ var _classnames = require('classnames');
18
+
19
+ var _classnames2 = _interopRequireDefault(_classnames);
20
+
21
+ var _styles = require('@material-ui/core/styles');
22
+
23
+ var _IconButton = require('@material-ui/core/IconButton');
24
+
25
+ var _IconButton2 = _interopRequireDefault(_IconButton);
26
+
27
+ var _Chip = require('@material-ui/core/Chip');
28
+
29
+ var _Chip2 = _interopRequireDefault(_Chip);
30
+
31
+ var _Cross = require('../Icons/Cross');
32
+
33
+ var _Cross2 = _interopRequireDefault(_Cross);
34
+
35
+ var _utils = require('../utils');
36
+
37
+ var _Tooltip = require('../Tooltip');
38
+
39
+ var _Tooltip2 = _interopRequireDefault(_Tooltip);
40
+
41
+ var _styles2 = require('./styles');
42
+
43
+ var _utils2 = require('./utils');
44
+
45
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
46
+
47
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
48
+
49
+ var shownTooltip = R.pipe(R.dropLast(1), R.either(R.isEmpty, R.isNil), R.not);
50
+ var showMultiLinedTooltip = R.pipe(R.head, R.propOr([], 'parents'), R.isEmpty, R.not);
51
+
52
+ var CustomChip = function CustomChip(_ref) {
53
+ var _cx;
54
+
55
+ var id = _ref.id,
56
+ parentId = _ref.parentId,
57
+ _ref$items = _ref.items,
58
+ items = _ref$items === undefined ? [] : _ref$items,
59
+ label = _ref.label,
60
+ onDelete = _ref.onDelete,
61
+ renderer = _ref.renderer,
62
+ chipClasses = _ref.chipClasses,
63
+ iconClasses = _ref.iconClasses,
64
+ labelClasses = _ref.labelClasses,
65
+ _ref$ariaLabel = _ref.ariaLabel,
66
+ ariaLabel = _ref$ariaLabel === undefined ? 'delete' : _ref$ariaLabel,
67
+ _ref$testId = _ref.testId,
68
+ testId = _ref$testId === undefined ? 'deleteChip-test-id' : _ref$testId;
69
+
70
+ var theme = (0, _styles.useTheme)();
71
+ var isRtl = (0, _utils.getIsRtl)(theme);
72
+ var labelRenderer = R.prop('label');
73
+ var classes = (0, _styles2.useStyles)();
74
+ var mapIndexed = R.addIndex(R.map);
75
+ var onChange = R.is(Function)(onDelete) ? function () {
76
+ return onDelete(parentId, R.isNil(id) ? [] : [id]);
77
+ } : null;
78
+ var hasTooltip = shownTooltip(items);
79
+ var hasMultiLinedTooltip = showMultiLinedTooltip(items);
80
+ var multiLinedTooltipRenderer = function multiLinedTooltipRenderer(arr) {
81
+ return mapIndexed(function (item, index) {
82
+ return _react2.default.createElement(
83
+ 'div',
84
+ { key: index },
85
+ (0, _utils2.myTooltipRenderer)({ isRtl: isRtl, labelRenderer: labelRenderer })(item),
86
+ _react2.default.createElement('br', null)
87
+ );
88
+ })(R.prop('parents')(R.head(arr)));
89
+ };
90
+
91
+ return _react2.default.createElement(
92
+ _Tooltip2.default,
93
+ {
94
+ placement: 'top',
95
+ title: hasTooltip ? renderer(items) : hasMultiLinedTooltip ? multiLinedTooltipRenderer(items) : ''
96
+ },
97
+ _react2.default.createElement(_Chip2.default, {
98
+ 'data-testid': testId,
99
+ size: 'small',
100
+ 'aria-label': label,
101
+ label: hasTooltip || hasMultiLinedTooltip ? _react2.default.createElement(
102
+ _react.Fragment,
103
+ null,
104
+ '...',
105
+ _react2.default.createElement(
106
+ 'span',
107
+ { className: classes.childrenIndicator },
108
+ '>'
109
+ ),
110
+ label
111
+ ) : label,
112
+ deleteIcon: _react2.default.createElement(
113
+ _IconButton2.default,
114
+ {
115
+ disableRipple: true,
116
+ className: iconClasses,
117
+ 'aria-label': ariaLabel + ' ' + label,
118
+ component: 'span',
119
+ tabIndex: -1
120
+ },
121
+ _react2.default.createElement(_Cross2.default, null)
122
+ ),
123
+ clickable: true,
124
+ onDelete: onChange,
125
+ className: (0, _classnames2.default)(chipClasses, (_cx = {}, _cx[classes.tooltipIndicator] = hasTooltip || hasMultiLinedTooltip, _cx)),
126
+ classes: { label: labelClasses }
127
+ })
128
+ );
129
+ };
130
+
131
+ CustomChip.propTypes = process.env.NODE_ENV !== "production" ? {
132
+ testId: _propTypes2.default.string,
133
+ id: _propTypes2.default.string,
134
+ parentId: _propTypes2.default.string,
135
+ label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
136
+ onDelete: _propTypes2.default.func,
137
+ renderer: _propTypes2.default.func,
138
+ chipClasses: _propTypes2.default.string,
139
+ iconClasses: _propTypes2.default.string,
140
+ labelClasses: _propTypes2.default.string,
141
+ ariaLabel: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
142
+ items: _propTypes2.default.array
143
+ } : {};
144
+ exports.default = CustomChip;
145
+ module.exports = exports['default'];
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _react = require('react');
6
+
7
+ var _react2 = _interopRequireDefault(_react);
8
+
9
+ var _propTypes = require('prop-types');
10
+
11
+ var _propTypes2 = _interopRequireDefault(_propTypes);
12
+
13
+ var _classnames = require('classnames');
14
+
15
+ var _classnames2 = _interopRequireDefault(_classnames);
16
+
17
+ var _styles = require('./styles');
18
+
19
+ var _CustomChip = require('./CustomChip');
20
+
21
+ var _CustomChip2 = _interopRequireDefault(_CustomChip);
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+
25
+ var DeleteChip = function DeleteChip(_ref) {
26
+ var onDeleteAll = _ref.onDeleteAll,
27
+ clearAllLabel = _ref.clearAllLabel,
28
+ ariaLabel = _ref.ariaLabel;
29
+
30
+ var classes = (0, _styles.useStyles)();
31
+ return _react2.default.createElement(_CustomChip2.default, {
32
+ label: clearAllLabel,
33
+ ariaLabel: ariaLabel,
34
+ chipClasses: (0, _classnames2.default)(classes.mainChip, classes.chip),
35
+ onDelete: onDeleteAll,
36
+ iconClasses: classes.icon,
37
+ labelClasses: (0, _classnames2.default)(classes.spaceLabel, classes.formatLabel)
38
+ });
39
+ };
40
+ DeleteChip.propTypes = process.env.NODE_ENV !== "production" ? {
41
+ onDeleteAll: _propTypes2.default.func,
42
+ ariaLabel: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
43
+ clearAllLabel: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
44
+ } : {};
45
+ exports.default = DeleteChip;
46
+ module.exports = exports['default'];