orc-shared 5.10.1-dev.6 → 5.10.1-dev.8
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.
- package/dist/components/AppFrame/MenuItem.js +3 -12
- package/dist/components/MaterialUI/DataDisplay/Table.js +2 -1
- package/dist/components/MaterialUI/DataDisplay/TableProps.js +3 -1
- package/dist/components/MaterialUI/Surfaces/SectionExpansionPanel.js +3 -2
- package/dist/components/ToastList.js +95 -64
- package/dist/getTheme.js +0 -5
- package/dist/utils/toastHelper.js +52 -0
- package/package.json +1 -1
- package/src/components/AppFrame/MenuItem.js +1 -9
- package/src/components/MaterialUI/DataDisplay/Table.js +6 -1
- package/src/components/MaterialUI/DataDisplay/Table.test.js +20 -0
- package/src/components/MaterialUI/DataDisplay/TableProps.js +2 -0
- package/src/components/MaterialUI/DataDisplay/TableProps.test.js +20 -2
- package/src/components/MaterialUI/Surfaces/SectionExpansionPanel.js +2 -1
- package/src/components/ToastList.js +79 -90
- package/src/components/ToastList.test.js +29 -103
- package/src/getTheme.js +0 -5
- package/src/utils/toastHelper.js +8 -0
- package/src/utils/toastHelper.test.js +41 -0
- package/dist/components/CategoryList.js +0 -197
- package/dist/components/List/DataCell.js +0 -129
- package/dist/components/List/HeadCell.js +0 -125
- package/dist/components/List/HeadRow.js +0 -73
- package/dist/components/List/List.js +0 -274
- package/dist/components/List/Row.js +0 -109
- package/dist/components/List/enhanceColumnDefs.js +0 -111
- package/dist/components/List/index.js +0 -59
- package/src/components/CategoryList.js +0 -140
- package/src/components/CategoryList.test.js +0 -667
- package/src/components/List/DataCell.js +0 -77
- package/src/components/List/DataCell.test.js +0 -357
- package/src/components/List/HeadCell.js +0 -105
- package/src/components/List/HeadCell.test.js +0 -331
- package/src/components/List/HeadRow.js +0 -21
- package/src/components/List/HeadRow.test.js +0 -27
- package/src/components/List/List.js +0 -162
- package/src/components/List/List.test.js +0 -705
- package/src/components/List/Row.js +0 -72
- package/src/components/List/Row.test.js +0 -194
- package/src/components/List/enhanceColumnDefs.js +0 -54
- package/src/components/List/enhanceColumnDefs.test.js +0 -179
- package/src/components/List/index.js +0 -6
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.stringifyFieldName = exports.default = exports.TableRow = exports.Row = void 0;
|
|
5
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
-
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
7
|
-
var _utils = require("../../utils");
|
|
8
|
-
var _DataCell = _interopRequireDefault(require("./DataCell"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
-
(function () {
|
|
13
|
-
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
14
|
-
enterModule && enterModule(module);
|
|
15
|
-
})();
|
|
16
|
-
(function () {
|
|
17
|
-
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
18
|
-
enterModule && enterModule(module);
|
|
19
|
-
})();
|
|
20
|
-
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
21
|
-
return a;
|
|
22
|
-
};
|
|
23
|
-
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
24
|
-
return a;
|
|
25
|
-
};
|
|
26
|
-
var stringifyFieldName = exports.stringifyFieldName = function stringifyFieldName(name) {
|
|
27
|
-
if (Array.isArray(name)) {
|
|
28
|
-
return name.join("_");
|
|
29
|
-
} else {
|
|
30
|
-
return name && name.toString();
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
var TableRow = exports.TableRow = _styledComponents.default.tr.withConfig({
|
|
34
|
-
displayName: "Row__TableRow",
|
|
35
|
-
componentId: "sc-fh6oyu-0"
|
|
36
|
-
})(["", " ", ""], (0, _utils.ifFlag)("bgColor", function (props) {
|
|
37
|
-
return (0, _styledComponents.css)(["background-color:", ";"], props.bgColor);
|
|
38
|
-
}, (0, _styledComponents.css)(["transition:background-color 0.2s ease-in;&:hover{background-color:#f3f3f3;}"])), (0, _utils.ifFlag)("onClick", (0, _styledComponents.css)(["& td{cursor:pointer;}"])));
|
|
39
|
-
|
|
40
|
-
// Clicks on these elements will not be handled by the row onClick
|
|
41
|
-
var formTags = ["INPUT", "SELECT", "LABEL"];
|
|
42
|
-
var Row = exports.Row = function Row(_ref) {
|
|
43
|
-
var columnDefs = _ref.columnDefs,
|
|
44
|
-
row = _ref.row,
|
|
45
|
-
rowId = _ref.rowId,
|
|
46
|
-
selected = _ref.selected,
|
|
47
|
-
rowOnClick = _ref.rowOnClick,
|
|
48
|
-
bgColor = _ref.bgColor;
|
|
49
|
-
var onClick = (0, _react.useCallback)(function (event) {
|
|
50
|
-
if (formTags.indexOf(event.target.tagName) === -1) {
|
|
51
|
-
/* istanbul ignore else */
|
|
52
|
-
if (!event.target.dataset["rowId"]) {
|
|
53
|
-
event.target.dataset["rowId"] = rowId;
|
|
54
|
-
}
|
|
55
|
-
rowOnClick(event);
|
|
56
|
-
}
|
|
57
|
-
}, [rowOnClick, rowId]);
|
|
58
|
-
return /*#__PURE__*/_react.default.createElement(TableRow, {
|
|
59
|
-
onClick: rowOnClick ? onClick : undefined,
|
|
60
|
-
bgColor: bgColor
|
|
61
|
-
}, columnDefs.map(function (columnDef) {
|
|
62
|
-
return /*#__PURE__*/_react.default.createElement(_DataCell.default, {
|
|
63
|
-
key: stringifyFieldName(columnDef.fieldName),
|
|
64
|
-
rowId: rowId,
|
|
65
|
-
row: row,
|
|
66
|
-
columnDef: columnDef,
|
|
67
|
-
selected: selected
|
|
68
|
-
});
|
|
69
|
-
}));
|
|
70
|
-
};
|
|
71
|
-
__signature__(Row, "useCallback{onClick}");
|
|
72
|
-
__signature__(Row, "useCallback{onClick}");
|
|
73
|
-
var _default = Row;
|
|
74
|
-
var _default2 = _default;
|
|
75
|
-
var _default3 = exports.default = _default2;
|
|
76
|
-
;
|
|
77
|
-
(function () {
|
|
78
|
-
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
79
|
-
if (!reactHotLoader) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
reactHotLoader.register(stringifyFieldName, "stringifyFieldName", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
83
|
-
reactHotLoader.register(TableRow, "TableRow", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
84
|
-
reactHotLoader.register(formTags, "formTags", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
85
|
-
reactHotLoader.register(Row, "Row", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
86
|
-
reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
87
|
-
})();
|
|
88
|
-
;
|
|
89
|
-
(function () {
|
|
90
|
-
var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
|
|
91
|
-
leaveModule && leaveModule(module);
|
|
92
|
-
})();
|
|
93
|
-
;
|
|
94
|
-
(function () {
|
|
95
|
-
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
96
|
-
if (!reactHotLoader) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
reactHotLoader.register(stringifyFieldName, "stringifyFieldName", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
100
|
-
reactHotLoader.register(TableRow, "TableRow", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
101
|
-
reactHotLoader.register(formTags, "formTags", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
102
|
-
reactHotLoader.register(Row, "Row", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
103
|
-
reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/List/Row.js");
|
|
104
|
-
})();
|
|
105
|
-
;
|
|
106
|
-
(function () {
|
|
107
|
-
var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
|
|
108
|
-
leaveModule && leaveModule(module);
|
|
109
|
-
})();
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.default = void 0;
|
|
5
|
-
(function () {
|
|
6
|
-
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
7
|
-
enterModule && enterModule(module);
|
|
8
|
-
})();
|
|
9
|
-
(function () {
|
|
10
|
-
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
11
|
-
enterModule && enterModule(module);
|
|
12
|
-
})();
|
|
13
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
16
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
17
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
|
-
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
19
|
-
return a;
|
|
20
|
-
};
|
|
21
|
-
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
22
|
-
return a;
|
|
23
|
-
};
|
|
24
|
-
var toggleInArray = function toggleInArray(nameList, name) {
|
|
25
|
-
if (nameList.indexOf(name) !== -1) {
|
|
26
|
-
return nameList.filter(function (n) {
|
|
27
|
-
return n !== name;
|
|
28
|
-
});
|
|
29
|
-
} else {
|
|
30
|
-
return nameList.concat(name);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
var enhanceSelectColumn = function enhanceSelectColumn(selection, updateViewState, def) {
|
|
34
|
-
return _objectSpread(_objectSpread({
|
|
35
|
-
fieldName: "selection"
|
|
36
|
-
}, def), {}, {
|
|
37
|
-
onChange: function onChange(eventOrSelection) {
|
|
38
|
-
if (Array.isArray(eventOrSelection)) {
|
|
39
|
-
updateViewState("selection", eventOrSelection);
|
|
40
|
-
} else {
|
|
41
|
-
updateViewState("selection", toggleInArray(selection, eventOrSelection.target.dataset.rowId));
|
|
42
|
-
eventOrSelection.stopPropagation();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
var enhanceSortableColumn = function enhanceSortableColumn(sorting, updateViewState, def) {
|
|
48
|
-
var isSortColumn = sorting.column && def.fieldName && sorting.column.toString() === def.fieldName.toString();
|
|
49
|
-
var isAscending = isSortColumn && sorting.direction === "asc";
|
|
50
|
-
var newDef = _objectSpread(_objectSpread({}, def), {}, {
|
|
51
|
-
sort: function sort() {
|
|
52
|
-
updateViewState("sorting", {
|
|
53
|
-
column: def.fieldName,
|
|
54
|
-
direction: isAscending ? "desc" : "asc"
|
|
55
|
-
});
|
|
56
|
-
def.sort(isAscending, def.fieldName, def.type);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
if (isSortColumn) {
|
|
60
|
-
newDef.sortDirection = sorting.direction;
|
|
61
|
-
}
|
|
62
|
-
return newDef;
|
|
63
|
-
};
|
|
64
|
-
var enhanceColumnDef = function enhanceColumnDef(sorting, selection, updateViewState, columnDefs) {
|
|
65
|
-
return columnDefs.map(function (def) {
|
|
66
|
-
if (def.type === "select") {
|
|
67
|
-
return enhanceSelectColumn(selection, updateViewState, def);
|
|
68
|
-
}
|
|
69
|
-
if (def.sort) {
|
|
70
|
-
return enhanceSortableColumn(sorting, updateViewState, def);
|
|
71
|
-
}
|
|
72
|
-
return def;
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
var _default = enhanceColumnDef;
|
|
76
|
-
var _default2 = _default;
|
|
77
|
-
var _default3 = exports.default = _default2;
|
|
78
|
-
;
|
|
79
|
-
(function () {
|
|
80
|
-
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
81
|
-
if (!reactHotLoader) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
reactHotLoader.register(toggleInArray, "toggleInArray", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
85
|
-
reactHotLoader.register(enhanceSelectColumn, "enhanceSelectColumn", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
86
|
-
reactHotLoader.register(enhanceSortableColumn, "enhanceSortableColumn", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
87
|
-
reactHotLoader.register(enhanceColumnDef, "enhanceColumnDef", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
88
|
-
reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
89
|
-
})();
|
|
90
|
-
;
|
|
91
|
-
(function () {
|
|
92
|
-
var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
|
|
93
|
-
leaveModule && leaveModule(module);
|
|
94
|
-
})();
|
|
95
|
-
;
|
|
96
|
-
(function () {
|
|
97
|
-
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
98
|
-
if (!reactHotLoader) {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
reactHotLoader.register(toggleInArray, "toggleInArray", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
102
|
-
reactHotLoader.register(enhanceSelectColumn, "enhanceSelectColumn", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
103
|
-
reactHotLoader.register(enhanceSortableColumn, "enhanceSortableColumn", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
104
|
-
reactHotLoader.register(enhanceColumnDef, "enhanceColumnDef", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
105
|
-
reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/List/enhanceColumnDefs.js");
|
|
106
|
-
})();
|
|
107
|
-
;
|
|
108
|
-
(function () {
|
|
109
|
-
var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
|
|
110
|
-
leaveModule && leaveModule(module);
|
|
111
|
-
})();
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.default = void 0;
|
|
5
|
-
var _Loader = _interopRequireDefault(require("../Loader"));
|
|
6
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
-
(function () {
|
|
8
|
-
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
9
|
-
enterModule && enterModule(module);
|
|
10
|
-
})();
|
|
11
|
-
(function () {
|
|
12
|
-
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
13
|
-
enterModule && enterModule(module);
|
|
14
|
-
})();
|
|
15
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
-
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
21
|
-
return a;
|
|
22
|
-
};
|
|
23
|
-
/* istanbul ignore next */
|
|
24
|
-
var LoadableList = (0, _Loader.default)(function () {
|
|
25
|
-
return Promise.resolve().then(function () {
|
|
26
|
-
return _interopRequireWildcard(require("./List"));
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
var _default = LoadableList;
|
|
30
|
-
var _default2 = _default;
|
|
31
|
-
var _default3 = exports.default = _default2;
|
|
32
|
-
;
|
|
33
|
-
(function () {
|
|
34
|
-
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
35
|
-
if (!reactHotLoader) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
reactHotLoader.register(LoadableList, "LoadableList", "/home/vsts/work/1/s/src/components/List/index.js");
|
|
39
|
-
reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/List/index.js");
|
|
40
|
-
})();
|
|
41
|
-
;
|
|
42
|
-
(function () {
|
|
43
|
-
var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
|
|
44
|
-
leaveModule && leaveModule(module);
|
|
45
|
-
})();
|
|
46
|
-
;
|
|
47
|
-
(function () {
|
|
48
|
-
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
49
|
-
if (!reactHotLoader) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
reactHotLoader.register(LoadableList, "LoadableList", "/home/vsts/work/1/s/src/components/List/index.js");
|
|
53
|
-
reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/List/index.js");
|
|
54
|
-
})();
|
|
55
|
-
;
|
|
56
|
-
(function () {
|
|
57
|
-
var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
|
|
58
|
-
leaveModule && leaveModule(module);
|
|
59
|
-
})();
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
Multiple lists with a single header, aligned with each other
|
|
3
|
-
No virtualization or page loading
|
|
4
|
-
Categories can be folded up to hide content
|
|
5
|
-
Sortable, within categories
|
|
6
|
-
*/
|
|
7
|
-
import React from "react";
|
|
8
|
-
import styled, { css } from "styled-components";
|
|
9
|
-
import { compose, setDisplayName } from "recompose";
|
|
10
|
-
import { safeGet, ifFlag, getThemeProp } from "../utils";
|
|
11
|
-
import withScrollBox from "../hocs/withScrollBox";
|
|
12
|
-
import useViewState from "../hooks/useViewState";
|
|
13
|
-
import Icon from "./Icon";
|
|
14
|
-
import Row from "./List/Row";
|
|
15
|
-
import HeadRow from "./List/HeadRow";
|
|
16
|
-
import { useListState, Table, Placeholder, HEADER_HEIGHT } from "./List/List";
|
|
17
|
-
|
|
18
|
-
const arrayToggle = (array, item) => (array.includes(item) ? array.filter(x => x !== item) : array.concat(item));
|
|
19
|
-
|
|
20
|
-
export const CategoryRow = styled.tr``;
|
|
21
|
-
|
|
22
|
-
export const CategoryHeader = styled.td`
|
|
23
|
-
border: 0 solid ${getThemeProp(["colors", "borderLight"], "#cccccc")};
|
|
24
|
-
border-top-width: 1px;
|
|
25
|
-
tr:first-child & {
|
|
26
|
-
border-top-width: 0;
|
|
27
|
-
}
|
|
28
|
-
tr:last-child & {
|
|
29
|
-
border-bottom-width: 1px;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
position: relative;
|
|
33
|
-
padding: 11px 45px;
|
|
34
|
-
background-color: #f1eae0;
|
|
35
|
-
${ifFlag(
|
|
36
|
-
"closed",
|
|
37
|
-
css`
|
|
38
|
-
border-bottom: 1px solid ${getThemeProp(["colors", "borderLight"], "#cccccc")};
|
|
39
|
-
`,
|
|
40
|
-
)}
|
|
41
|
-
cursor: pointer;
|
|
42
|
-
`;
|
|
43
|
-
|
|
44
|
-
export const CategoryIndicator = styled(Icon).attrs(props => ({
|
|
45
|
-
id: ifFlag(
|
|
46
|
-
"closed",
|
|
47
|
-
getThemeProp(["icons", "indicators", "right"], "chevron-right"),
|
|
48
|
-
getThemeProp(["icons", "indicators", "down"], "chevron-down"),
|
|
49
|
-
)(props),
|
|
50
|
-
}))`
|
|
51
|
-
font-size: 12px;
|
|
52
|
-
position: absolute;
|
|
53
|
-
left: 22px;
|
|
54
|
-
top: 15px;
|
|
55
|
-
`;
|
|
56
|
-
|
|
57
|
-
export const CategoryList = ({
|
|
58
|
-
name,
|
|
59
|
-
columnDefs = [],
|
|
60
|
-
rows = [],
|
|
61
|
-
rowOnClick,
|
|
62
|
-
placeholder,
|
|
63
|
-
keyField = ["id"],
|
|
64
|
-
categoryField = ["category"],
|
|
65
|
-
openAll = false,
|
|
66
|
-
height,
|
|
67
|
-
rowBackgroundGetter = () => {},
|
|
68
|
-
}) => {
|
|
69
|
-
const [enhancedColumnDefs, selection] = useListState(name, columnDefs);
|
|
70
|
-
const [{ closedCategories = [] }, updateViewState] = useViewState(name);
|
|
71
|
-
if (columnDefs.length === 0) return null;
|
|
72
|
-
const rowIds = [],
|
|
73
|
-
rowCategories = {};
|
|
74
|
-
rows.forEach((row, index) => {
|
|
75
|
-
const id = safeGet(row, ...keyField) + ""; // Ensure rowId is string
|
|
76
|
-
const category = safeGet(row, ...categoryField) || "";
|
|
77
|
-
rowIds.push(id);
|
|
78
|
-
if (!rowCategories[category]) {
|
|
79
|
-
rowCategories[category] = [];
|
|
80
|
-
}
|
|
81
|
-
rowCategories[category].push(
|
|
82
|
-
<Row
|
|
83
|
-
columnDefs={enhancedColumnDefs}
|
|
84
|
-
key={id}
|
|
85
|
-
rowId={id}
|
|
86
|
-
row={row}
|
|
87
|
-
rowOnClick={rowOnClick}
|
|
88
|
-
selected={selection.indexOf(id) !== -1}
|
|
89
|
-
bgColor={rowBackgroundGetter(row, index)}
|
|
90
|
-
/>,
|
|
91
|
-
);
|
|
92
|
-
});
|
|
93
|
-
const rowElements = [];
|
|
94
|
-
if (Object.keys(rowCategories).length === 0) {
|
|
95
|
-
if (placeholder) {
|
|
96
|
-
rowElements.push(
|
|
97
|
-
<Placeholder key="placeholder" width={columnDefs.length} height={height - HEADER_HEIGHT}>
|
|
98
|
-
{placeholder}
|
|
99
|
-
</Placeholder>,
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
} else {
|
|
103
|
-
Object.entries(rowCategories).forEach(([key, rows]) => {
|
|
104
|
-
const clickHandler = () => updateViewState("closedCategories", arrayToggle(closedCategories, key));
|
|
105
|
-
const closed = !openAll && closedCategories.includes(key);
|
|
106
|
-
rowElements.push(
|
|
107
|
-
<CategoryRow key={"category_" + key}>
|
|
108
|
-
<CategoryHeader
|
|
109
|
-
data-test-id={"category_" + key}
|
|
110
|
-
closed={closed}
|
|
111
|
-
colSpan={columnDefs.length}
|
|
112
|
-
onClick={clickHandler}
|
|
113
|
-
>
|
|
114
|
-
<CategoryIndicator closed={closed} />
|
|
115
|
-
{key}
|
|
116
|
-
</CategoryHeader>
|
|
117
|
-
</CategoryRow>,
|
|
118
|
-
);
|
|
119
|
-
if (!closed) {
|
|
120
|
-
rowElements.push(...rows);
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
return (
|
|
125
|
-
<Table>
|
|
126
|
-
<thead>
|
|
127
|
-
<HeadRow
|
|
128
|
-
columnDefs={enhancedColumnDefs}
|
|
129
|
-
rowIds={rowIds}
|
|
130
|
-
allSelected={rows.length === selection.length && rows.length !== 0}
|
|
131
|
-
/>
|
|
132
|
-
</thead>
|
|
133
|
-
<tbody>{rowElements}</tbody>
|
|
134
|
-
</Table>
|
|
135
|
-
);
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
const StatefulCategoryList = compose(setDisplayName("CategoryList"), withScrollBox)(CategoryList);
|
|
139
|
-
|
|
140
|
-
export default StatefulCategoryList;
|