intelicoreact 1.1.86 → 1.1.88

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.
@@ -33,18 +33,31 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
33
33
 
34
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
35
35
 
36
+ var classNames = require('classnames');
37
+
36
38
  var AccordionTable = function AccordionTable(_ref) {
37
39
  var className = _ref.className,
38
40
  header = _ref.header,
39
41
  items = _ref.items,
40
42
  onChange = _ref.onChange,
41
- testId = _ref.testId;
43
+ testId = _ref.testId,
44
+ _ref$onSort = _ref.onSort,
45
+ onSort = _ref$onSort === void 0 ? function () {} : _ref$onSort,
46
+ sortParams = _ref.sortParams;
42
47
 
43
48
  var _useState = (0, _react.useState)(items),
44
49
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
50
  accordions = _useState2[0],
46
51
  setAccordions = _useState2[1];
47
52
 
53
+ var sortedColClassName = function sortedColClassName(item) {
54
+ return classNames('accordion-table__header-item', item.className, {
55
+ 'accordion-table--sorted-col': sortParams && sortParams.key === item.key
56
+ }, {
57
+ 'accordion-table__header-item-sortable': !item.noSort
58
+ });
59
+ };
60
+
48
61
  var handle = {
49
62
  accordionChange: function accordionChange(key, e) {
50
63
  var _e$target, _e$target$className, _e$target$className$i;
@@ -65,6 +78,19 @@ var AccordionTable = function AccordionTable(_ref) {
65
78
  onChange(newArr);
66
79
  setAccordions(newArr);
67
80
  }
81
+ },
82
+ setSort: function setSort(key) {
83
+ var newSorting;
84
+ if (key !== sortParams.key) newSorting = {
85
+ key: key,
86
+ direction: 'DESC'
87
+ };else {
88
+ newSorting = {
89
+ key: key,
90
+ direction: sortParams.direction === 'ASC' ? 'DESC' : 'ASC'
91
+ };
92
+ }
93
+ onSort(newSorting);
68
94
  }
69
95
  };
70
96
 
@@ -181,8 +207,15 @@ var AccordionTable = function AccordionTable(_ref) {
181
207
  flexBasis: "".concat(item.width, "%")
182
208
  },
183
209
  key: item.key,
184
- className: (0, _classnames.default)('accordion-table__header-item', item.className)
185
- }, item.label);
210
+ className: sortedColClassName(item),
211
+ onClick: function onClick() {
212
+ return !item.noSort && handle.setSort(item.key);
213
+ }
214
+ }, sortParams && item.key === sortParams.key && sortParams.key !== 'actions' && (sortParams.direction === 'DESC' ? /*#__PURE__*/_react.default.createElement(_reactFeather.ArrowDown, {
215
+ size: 16
216
+ }) : /*#__PURE__*/_react.default.createElement(_reactFeather.ArrowUp, {
217
+ size: 16
218
+ })), item.label);
186
219
  })), /*#__PURE__*/_react.default.createElement("div", {
187
220
  className: "accordion-table__body"
188
221
  }, accordions === null || accordions === void 0 ? void 0 : accordions.map(function (accordion) {
@@ -45,6 +45,18 @@
45
45
  }
46
46
  }
47
47
 
48
+ &__header-item-sortable {
49
+ cursor: pointer;
50
+
51
+ &:hover {
52
+ color: #3b414b;
53
+ }
54
+
55
+ svg {
56
+ min-width: 16px;
57
+ }
58
+ }
59
+
48
60
  &__body {
49
61
  width: 100%;
50
62
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "1.1.86",
3
+ "version": "1.1.88",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [