@synerise/ds-table 0.42.0 → 0.42.4
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/CHANGELOG.md +32 -0
- package/dist/Cell/Action/ActionCell.js +1 -1
- package/dist/Cell/Action/ActionCell.styles.js +1 -1
- package/dist/Cell/AvatarLabel/AvatarLabel.js +1 -1
- package/dist/Cell/AvatarLabel/AvatarLabel.styles.js +2 -2
- package/dist/Cell/Copyable/CopyableCell.js +2 -15
- package/dist/Cell/Editable/EditableCell.js +5 -19
- package/dist/Cell/LabelsWithShowMore/LabelsWithShowMore.js +3 -16
- package/dist/Cell/LabelsWithShowMore/Modal/Modal.js +3 -16
- package/dist/Cell/Star/StarCell.styles.js +1 -1
- package/dist/ColumnSortMenu/SortRenderer.js +5 -19
- package/dist/ColumnSortMenu/TitleWithSort.js +1 -3
- package/dist/ColumnSortMenu/columnWithSortButtons.js +6 -4
- package/dist/ColumnSortMenu/groupedColumnsSort.js +7 -19
- package/dist/ColumnSortMenu/replaceSortButtons.js +2 -2
- package/dist/ColumnSortMenu/useSortState.js +39 -44
- package/dist/DefaultTable/DefaultTable.js +28 -53
- package/dist/FilterTrigger/FilterTrigger.js +6 -19
- package/dist/GroupTable/GroupTable.js +16 -40
- package/dist/GroupTable/GroupTable.styles.js +2 -2
- package/dist/GroupTable/GroupTableBody/GroupTableBody.js +10 -23
- package/dist/GroupTable/GroupTableHeader/GroupTableHeader.js +1 -1
- package/dist/Table.js +10 -22
- package/dist/Table.styles.js +1 -1
- package/dist/TableHeader/TableHeader.js +4 -17
- package/dist/TableHeader/TableLimit/TableLimit.js +3 -3
- package/dist/TableHeader/TableSelection.js +16 -28
- package/dist/TreeTable/TreeTable.js +5 -19
- package/dist/TreeTable/TreeTable.styles.js +2 -2
- package/dist/VirtualTable/VirtualTable.js +44 -66
- package/dist/VirtualTable/VirtualTable.styles.js +1 -1
- package/dist/VirtualTable/VirtualTableRow.js +54 -79
- package/dist/hooks/useRowStar.js +5 -5
- package/dist/utils/calculatePixels.js +1 -1
- package/dist/utils/locale.js +4 -4
- package/package.json +20 -20
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
-
|
|
3
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
8
|
-
|
|
9
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10
|
-
|
|
11
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
-
|
|
13
1
|
import * as React from 'react';
|
|
14
2
|
import Tooltip from '@synerise/ds-tooltip';
|
|
15
3
|
import * as S from '../Table.styles';
|
|
@@ -41,9 +29,8 @@ var TableHeader = function TableHeader(_ref) {
|
|
|
41
29
|
var titleRef = React.useRef(null);
|
|
42
30
|
|
|
43
31
|
var _React$useState = React.useState(false),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
setIsTitleTruncated = _React$useState2[1];
|
|
32
|
+
isTitleTruncated = _React$useState[0],
|
|
33
|
+
setIsTitleTruncated = _React$useState[1];
|
|
47
34
|
|
|
48
35
|
React.useEffect(function () {
|
|
49
36
|
var isElementTruncated = isTruncated(titleRef.current || undefined);
|
|
@@ -53,7 +40,7 @@ var TableHeader = function TableHeader(_ref) {
|
|
|
53
40
|
}
|
|
54
41
|
}, [titleRef, isTitleTruncated, title]);
|
|
55
42
|
var renderLeftSide = React.useMemo(function () {
|
|
56
|
-
if (selection
|
|
43
|
+
if (selection != null && selection.limit) return /*#__PURE__*/React.createElement(TableLimit, {
|
|
57
44
|
total: dataSource.length,
|
|
58
45
|
selection: selection,
|
|
59
46
|
itemsMenu: itemsMenu,
|
|
@@ -86,7 +73,7 @@ var TableHeader = function TableHeader(_ref) {
|
|
|
86
73
|
}, [dataSource, titleRef, filters, isTitleTruncated, itemsMenu, locale, renderSelectionTitle, rowKey, selectedRows, selection, title, hideTitlePart]);
|
|
87
74
|
return /*#__PURE__*/React.createElement(S.Header, {
|
|
88
75
|
withBorderTop: withBorderTop
|
|
89
|
-
}, renderLeftSide, /*#__PURE__*/React.createElement(S.Right, null, headerButton, filters
|
|
76
|
+
}, renderLeftSide, /*#__PURE__*/React.createElement(S.Right, null, headerButton, filters == null ? void 0 : filters.map(function (filter) {
|
|
90
77
|
return /*#__PURE__*/React.createElement(FilterTrigger, {
|
|
91
78
|
key: filter.key,
|
|
92
79
|
name: filter.key,
|
|
@@ -8,10 +8,10 @@ export function TableLimit(_ref) {
|
|
|
8
8
|
itemsMenu = _ref.itemsMenu,
|
|
9
9
|
selection = _ref.selection;
|
|
10
10
|
var selectedRows = React.useMemo(function () {
|
|
11
|
-
return (selection
|
|
11
|
+
return (selection == null ? void 0 : selection.selectedRowKeys.length) || 0;
|
|
12
12
|
}, [selection]);
|
|
13
13
|
var limitReachedInfo = React.useMemo(function () {
|
|
14
|
-
return (selection
|
|
14
|
+
return (selection == null ? void 0 : selection.limit) && (selection == null ? void 0 : selection.limit) <= selectedRows && /*#__PURE__*/React.createElement(S.Alert, null, /*#__PURE__*/React.createElement(Alert.InlineAlert, {
|
|
15
15
|
type: "warning",
|
|
16
16
|
message: locale.selectionLimitWarning
|
|
17
17
|
}));
|
|
@@ -19,7 +19,7 @@ export function TableLimit(_ref) {
|
|
|
19
19
|
var selected = React.useMemo(function () {
|
|
20
20
|
var _locale$pagination, _locale$pagination2;
|
|
21
21
|
|
|
22
|
-
return selectedRows > 0 ? /*#__PURE__*/React.createElement(S.Title, null, /*#__PURE__*/React.createElement("strong", null, selectedRows), " ", locale.selected, " / ",
|
|
22
|
+
return selectedRows > 0 ? /*#__PURE__*/React.createElement(S.Title, null, /*#__PURE__*/React.createElement("strong", null, selectedRows), " ", locale.selected, " / ", total + " " + ((_locale$pagination = locale.pagination) == null ? void 0 : _locale$pagination.items)) : /*#__PURE__*/React.createElement(S.Title, null, /*#__PURE__*/React.createElement("strong", null, total), " ", (_locale$pagination2 = locale.pagination) == null ? void 0 : _locale$pagination2.items);
|
|
23
23
|
}, [locale.pagination, locale.selected, selectedRows, total]);
|
|
24
24
|
return /*#__PURE__*/React.createElement(S.TableLimit, null, selected, limitReachedInfo, selectedRows > 0 && /*#__PURE__*/React.createElement(S.ItemsMenu, null, itemsMenu));
|
|
25
25
|
}
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
-
|
|
3
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8
|
-
|
|
9
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
10
|
-
|
|
11
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
|
-
|
|
13
1
|
import * as React from 'react';
|
|
14
2
|
import Dropdown from '@synerise/ds-dropdown';
|
|
15
3
|
import Menu from '@synerise/ds-menu';
|
|
@@ -37,14 +25,14 @@ function TableSelection(_ref) {
|
|
|
37
25
|
var rows = [];
|
|
38
26
|
dataSource.forEach(function (record) {
|
|
39
27
|
if (record.children !== undefined && Array.isArray(record.children)) {
|
|
40
|
-
keys = [].concat(
|
|
28
|
+
keys = [].concat(keys, record.children.map(function (child) {
|
|
41
29
|
return getRowKey(child);
|
|
42
|
-
}))
|
|
43
|
-
rows = [].concat(
|
|
30
|
+
}));
|
|
31
|
+
rows = [].concat(rows, record.children);
|
|
44
32
|
} else {
|
|
45
33
|
var key = getRowKey(record);
|
|
46
|
-
keys = key !== undefined ? [].concat(
|
|
47
|
-
rows = [].concat(
|
|
34
|
+
keys = key !== undefined ? [].concat(keys, [key]) : [].concat(keys);
|
|
35
|
+
rows = [].concat(rows, [record]);
|
|
48
36
|
}
|
|
49
37
|
});
|
|
50
38
|
selection.onChange(keys, rows);
|
|
@@ -61,12 +49,12 @@ function TableSelection(_ref) {
|
|
|
61
49
|
|
|
62
50
|
if (hasChilds) {
|
|
63
51
|
record.children && record.children.forEach(function (child) {
|
|
64
|
-
if ((selection
|
|
65
|
-
selected = [].concat(
|
|
52
|
+
if ((selection == null ? void 0 : selection.selectedRowKeys.indexOf(getRowKey(child))) < 0) {
|
|
53
|
+
selected = [].concat(selected, [child]);
|
|
66
54
|
}
|
|
67
55
|
});
|
|
68
|
-
} else if ((selection
|
|
69
|
-
selected = [].concat(
|
|
56
|
+
} else if ((selection == null ? void 0 : selection.selectedRowKeys.indexOf(getRowKey(record))) < 0) {
|
|
57
|
+
selected = [].concat(selected, [record]);
|
|
70
58
|
}
|
|
71
59
|
});
|
|
72
60
|
selection.onChange(selected.map(function (record) {
|
|
@@ -82,12 +70,12 @@ function TableSelection(_ref) {
|
|
|
82
70
|
var allRecords = dataSource.reduce(function (count, record) {
|
|
83
71
|
return record.children !== undefined ? count + record.children.length : count + 1;
|
|
84
72
|
}, 0);
|
|
85
|
-
return (selection
|
|
73
|
+
return (selection == null ? void 0 : selection.selectedRowKeys) && allRecords === selection.selectedRowKeys.length;
|
|
86
74
|
}, [dataSource, selection, isEmpty]);
|
|
87
|
-
return selection
|
|
75
|
+
return selection != null && selection.selectedRowKeys ? /*#__PURE__*/React.createElement(S.Selection, {
|
|
88
76
|
"data-popup-container": true
|
|
89
77
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
90
|
-
title: locale
|
|
78
|
+
title: locale == null ? void 0 : locale.selectAllTooltip
|
|
91
79
|
}, /*#__PURE__*/React.createElement(Button.Checkbox, {
|
|
92
80
|
disabled: isEmpty,
|
|
93
81
|
checked: allSelected,
|
|
@@ -98,11 +86,11 @@ function TableSelection(_ref) {
|
|
|
98
86
|
unselectAll();
|
|
99
87
|
}
|
|
100
88
|
},
|
|
101
|
-
indeterminate: (selection
|
|
102
|
-
})), (selection
|
|
89
|
+
indeterminate: (selection == null ? void 0 : selection.selectedRowKeys.length) > 0 && !allSelected
|
|
90
|
+
})), (selection == null ? void 0 : selection.selections) && /*#__PURE__*/React.createElement(Dropdown, {
|
|
103
91
|
disabled: isEmpty,
|
|
104
92
|
trigger: ['click'],
|
|
105
|
-
overlay: /*#__PURE__*/React.createElement(S.SelectionMenu, null, selection
|
|
93
|
+
overlay: /*#__PURE__*/React.createElement(S.SelectionMenu, null, selection == null ? void 0 : selection.selections.filter(Boolean).map(function (selectionMenuElement) {
|
|
106
94
|
switch (selectionMenuElement) {
|
|
107
95
|
case SELECTION_ALL:
|
|
108
96
|
{
|
|
@@ -135,7 +123,7 @@ function TableSelection(_ref) {
|
|
|
135
123
|
}
|
|
136
124
|
}))
|
|
137
125
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
138
|
-
title: locale
|
|
126
|
+
title: locale == null ? void 0 : locale.selectionOptionsTooltip
|
|
139
127
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
140
128
|
mode: "single-icon",
|
|
141
129
|
type: "ghost"
|
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
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); }
|
|
2
2
|
|
|
3
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
4
|
-
|
|
5
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
-
|
|
7
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
-
|
|
9
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
10
|
-
|
|
11
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
12
|
-
|
|
13
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
14
|
-
|
|
15
3
|
import * as React from 'react';
|
|
16
4
|
import '@synerise/ds-core/dist/js/style';
|
|
17
5
|
import classNames from 'classnames';
|
|
@@ -29,16 +17,16 @@ function TreeTable(props) {
|
|
|
29
17
|
|
|
30
18
|
var RenderRow = React.useCallback(function (row) {
|
|
31
19
|
return /*#__PURE__*/React.createElement(S.TreeTableRow, {
|
|
32
|
-
className:
|
|
20
|
+
className: row.className + " ds-table-row"
|
|
33
21
|
}, row.children);
|
|
34
22
|
}, []);
|
|
35
23
|
var RenderCell = React.useCallback( // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
24
|
function (cell) {
|
|
37
25
|
var _cell$children$, _cell$children$$props, _cell$children$$props2, _cell$children$$props3, _cell$children$$props4;
|
|
38
26
|
|
|
39
|
-
var indentLevel = (_cell$children$ = cell.children[0])
|
|
27
|
+
var indentLevel = (_cell$children$ = cell.children[0]) == null ? void 0 : (_cell$children$$props = _cell$children$.props) == null ? void 0 : (_cell$children$$props2 = _cell$children$$props.children[0]) == null ? void 0 : (_cell$children$$props3 = _cell$children$$props2.props) == null ? void 0 : (_cell$children$$props4 = _cell$children$$props3.className.split(' ').find(function (value) {
|
|
40
28
|
return value.includes('indent-level-');
|
|
41
|
-
}))
|
|
29
|
+
})) == null ? void 0 : _cell$children$$props4.split('-').pop();
|
|
42
30
|
|
|
43
31
|
if (indentLevel === undefined) {
|
|
44
32
|
return /*#__PURE__*/React.createElement("td", {
|
|
@@ -47,8 +35,7 @@ function TreeTable(props) {
|
|
|
47
35
|
}
|
|
48
36
|
|
|
49
37
|
var maxIndent = parseInt(indentLevel, 10);
|
|
50
|
-
|
|
51
|
-
var indents = _toConsumableArray(new Array(maxIndent)).map(function (indentElement, index) {
|
|
38
|
+
var indents = [].concat(new Array(maxIndent)).map(function (indentElement, index) {
|
|
52
39
|
return /*#__PURE__*/React.createElement(S.Indent, {
|
|
53
40
|
key: uuid(),
|
|
54
41
|
width: INDENT_SIZE,
|
|
@@ -56,9 +43,8 @@ function TreeTable(props) {
|
|
|
56
43
|
active: index + 1 === maxIndent
|
|
57
44
|
});
|
|
58
45
|
});
|
|
59
|
-
|
|
60
46
|
return /*#__PURE__*/React.createElement(S.TreeTableCell, {
|
|
61
|
-
className:
|
|
47
|
+
className: cell.className + " ds-table-cell"
|
|
62
48
|
}, /*#__PURE__*/React.createElement(S.Indents, {
|
|
63
49
|
width: indents.length * INDENT_SIZE,
|
|
64
50
|
withSelection: Boolean(selection)
|
|
@@ -12,13 +12,13 @@ export var Indents = styled.div.withConfig({
|
|
|
12
12
|
})(["position:absolute;top:0;left:", ";height:100%;width:", ";display:flex;align-items:flex-start;justify-content:flex-start;"], function (props) {
|
|
13
13
|
return props.withSelection ? '12px' : '36px';
|
|
14
14
|
}, function (props) {
|
|
15
|
-
return
|
|
15
|
+
return props.width + "px";
|
|
16
16
|
});
|
|
17
17
|
export var Indent = styled.span.withConfig({
|
|
18
18
|
displayName: "TreeTablestyles__Indent",
|
|
19
19
|
componentId: "sc-14bdrex-1"
|
|
20
20
|
})(["width:42px;position:relative;height:100%;&:before{content:'';position:absolute;top:0;left:0;height:100%;width:2px;background-color:", ";}"], function (props) {
|
|
21
|
-
return props.level >= 0 ? props.theme.palette[
|
|
21
|
+
return props.level >= 0 ? props.theme.palette[LEVELS[props.level % LEVELS.length] + "-" + getColor(props.active, props.level)] : props.theme.palette['grey-600'];
|
|
22
22
|
});
|
|
23
23
|
export var RowExpander = styled.span.withConfig({
|
|
24
24
|
displayName: "TreeTablestyles__RowExpander",
|
|
@@ -2,36 +2,14 @@ var _excluded = ["style"];
|
|
|
2
2
|
|
|
3
3
|
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); }
|
|
4
4
|
|
|
5
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
6
|
-
|
|
7
5
|
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; }
|
|
8
6
|
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
|
-
|
|
13
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
14
|
-
|
|
15
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
16
|
-
|
|
17
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
18
8
|
|
|
19
9
|
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) { _defineProperty(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; }
|
|
20
10
|
|
|
21
11
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
22
12
|
|
|
23
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
24
|
-
|
|
25
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
26
|
-
|
|
27
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
28
|
-
|
|
29
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
30
|
-
|
|
31
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
32
|
-
|
|
33
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
34
|
-
|
|
35
13
|
import * as React from 'react';
|
|
36
14
|
import { FixedSizeList as List } from 'react-window';
|
|
37
15
|
import ResizeObserver from 'rc-resize-observer';
|
|
@@ -55,18 +33,17 @@ var relativeInlineStyle = {
|
|
|
55
33
|
};
|
|
56
34
|
|
|
57
35
|
var CustomScrollbar = function CustomScrollbar(containerRef) {
|
|
58
|
-
return
|
|
36
|
+
return React.forwardRef(function (_ref, ref) {
|
|
59
37
|
var onScroll = _ref.onScroll,
|
|
60
38
|
children = _ref.children,
|
|
61
39
|
style = _ref.style;
|
|
62
40
|
|
|
63
41
|
var _React$useState = React.useState(null),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
setHeader = _React$useState2[1];
|
|
42
|
+
header = _React$useState[0],
|
|
43
|
+
setHeader = _React$useState[1];
|
|
67
44
|
|
|
68
45
|
React.useEffect(function () {
|
|
69
|
-
if (containerRef
|
|
46
|
+
if (containerRef != null && containerRef.current) {
|
|
70
47
|
var headerElement = containerRef.current.querySelector('.ant-table-header');
|
|
71
48
|
headerElement && setHeader(headerElement);
|
|
72
49
|
}
|
|
@@ -84,7 +61,7 @@ var CustomScrollbar = function CustomScrollbar(containerRef) {
|
|
|
84
61
|
ref: ref,
|
|
85
62
|
onScroll: onScrollHandler,
|
|
86
63
|
absolute: true,
|
|
87
|
-
maxHeight: style
|
|
64
|
+
maxHeight: style == null ? void 0 : style.height
|
|
88
65
|
}, children);
|
|
89
66
|
});
|
|
90
67
|
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -114,24 +91,23 @@ function VirtualTable(props) {
|
|
|
114
91
|
var listRef = React.useRef(null);
|
|
115
92
|
var containerRef = React.useRef(null);
|
|
116
93
|
|
|
117
|
-
var _React$
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
setTableWidth = _React$useState4[1];
|
|
94
|
+
var _React$useState2 = React.useState(initialWidth),
|
|
95
|
+
tableWidth = _React$useState2[0],
|
|
96
|
+
setTableWidth = _React$useState2[1];
|
|
121
97
|
|
|
122
|
-
var _useRowStar = useRowStar((rowStar
|
|
98
|
+
var _useRowStar = useRowStar((rowStar == null ? void 0 : rowStar.starredRowKeys) || []),
|
|
123
99
|
getRowStarColumn = _useRowStar.getRowStarColumn;
|
|
124
100
|
|
|
125
101
|
React.useEffect(function () {
|
|
126
102
|
onListRefChange && onListRefChange(listRef);
|
|
127
103
|
}, [listRef, onListRefChange]);
|
|
128
104
|
|
|
129
|
-
var propsForRowStar = _objectSpread(
|
|
130
|
-
rowStar: _objectSpread(
|
|
105
|
+
var propsForRowStar = _objectSpread({}, props, {
|
|
106
|
+
rowStar: _objectSpread({}, rowStar, {
|
|
131
107
|
onClick: function onClick(e) {
|
|
132
108
|
e.stopPropagation();
|
|
133
109
|
|
|
134
|
-
if (typeof (rowStar
|
|
110
|
+
if (typeof (rowStar == null ? void 0 : rowStar.onClick) === 'function') {
|
|
135
111
|
rowStar.onClick(e);
|
|
136
112
|
}
|
|
137
113
|
}
|
|
@@ -157,24 +133,24 @@ function VirtualTable(props) {
|
|
|
157
133
|
var recordKey = getRowKey(record);
|
|
158
134
|
var allChildsChecked = // @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
159
135
|
Array.isArray(record.children) && // @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
160
|
-
((_record$children = record.children)
|
|
136
|
+
((_record$children = record.children) == null ? void 0 : _record$children.filter(function (child) {
|
|
161
137
|
var childKey = getRowKey(child);
|
|
162
|
-
return childKey && (selection
|
|
138
|
+
return childKey && (selection == null ? void 0 : selection.selectedRowKeys.indexOf(childKey)) < 0;
|
|
163
139
|
}).length) === 0;
|
|
164
140
|
var checkedChilds = // @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
165
|
-
((_record$children2 = record.children)
|
|
141
|
+
((_record$children2 = record.children) == null ? void 0 : _record$children2.filter(function (child) {
|
|
166
142
|
var childKey = getRowKey(child);
|
|
167
|
-
return childKey && (selection
|
|
143
|
+
return childKey && (selection == null ? void 0 : selection.selectedRowKeys.indexOf(childKey)) >= 0;
|
|
168
144
|
})) || [];
|
|
169
145
|
var isIndeterminate = // @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
170
146
|
Array.isArray(record.children) && checkedChilds.length > 0 && // @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
171
|
-
checkedChilds.length < (((_record$children3 = record.children)
|
|
147
|
+
checkedChilds.length < (((_record$children3 = record.children) == null ? void 0 : _record$children3.length) || 0);
|
|
172
148
|
var checked = recordKey !== undefined && selection.selectedRowKeys && selection.selectedRowKeys.indexOf(recordKey) >= 0 || allChildsChecked;
|
|
173
149
|
return recordKey !== undefined && /*#__PURE__*/React.createElement(Tooltip, {
|
|
174
|
-
title: tableLocale
|
|
150
|
+
title: tableLocale == null ? void 0 : tableLocale.selectRowTooltip,
|
|
175
151
|
mouseLeaveDelay: 0
|
|
176
152
|
}, /*#__PURE__*/React.createElement(Button.Checkbox, {
|
|
177
|
-
key: "checkbox-"
|
|
153
|
+
key: "checkbox-" + recordKey,
|
|
178
154
|
checked: checked,
|
|
179
155
|
disabled: !checked && Boolean(selection.limit && selection.limit <= selection.selectedRowKeys.length),
|
|
180
156
|
indeterminate: isIndeterminate,
|
|
@@ -193,14 +169,14 @@ function VirtualTable(props) {
|
|
|
193
169
|
var k = getRowKey(child);
|
|
194
170
|
|
|
195
171
|
if (k && selectedRowKeys.indexOf(k) >= 0) {
|
|
196
|
-
selectedRows = [].concat(
|
|
172
|
+
selectedRows = [].concat(selectedRows, [child]);
|
|
197
173
|
}
|
|
198
174
|
});
|
|
199
175
|
} else {
|
|
200
176
|
var k = getRowKey(row);
|
|
201
177
|
|
|
202
178
|
if (k && selectedRowKeys.indexOf(k) >= 0) {
|
|
203
|
-
selectedRows = [].concat(
|
|
179
|
+
selectedRows = [].concat(selectedRows, [row]);
|
|
204
180
|
}
|
|
205
181
|
}
|
|
206
182
|
});
|
|
@@ -209,9 +185,9 @@ function VirtualTable(props) {
|
|
|
209
185
|
// @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
210
186
|
if (Array.isArray(record.children)) {
|
|
211
187
|
// @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
212
|
-
selectedRows = [].concat(
|
|
188
|
+
selectedRows = [].concat(selectedRows, record.children);
|
|
213
189
|
} else {
|
|
214
|
-
selectedRows = [].concat(
|
|
190
|
+
selectedRows = [].concat(selectedRows, [record]);
|
|
215
191
|
} // @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
216
192
|
|
|
217
193
|
} else if (Array.isArray(record.children)) {
|
|
@@ -228,14 +204,14 @@ function VirtualTable(props) {
|
|
|
228
204
|
});
|
|
229
205
|
}
|
|
230
206
|
|
|
231
|
-
selectedRows =
|
|
207
|
+
selectedRows = [].concat(new Set(selectedRows));
|
|
232
208
|
onChange && onChange(selectedRows.map(function (selected) {
|
|
233
209
|
return getRowKey(selected);
|
|
234
210
|
}), selectedRows);
|
|
235
211
|
}
|
|
236
212
|
}));
|
|
237
213
|
}
|
|
238
|
-
}, !!rowStar && rowStarColumn].concat(
|
|
214
|
+
}, !!rowStar && rowStarColumn].concat(columns));
|
|
239
215
|
}, [columns, selection, rowStar, rowStarColumn, getRowKey, dataSource, tableLocale]);
|
|
240
216
|
var mergedColumns = React.useMemo(function () {
|
|
241
217
|
var widthColumnCount = virtualColumns.filter(function (_ref2) {
|
|
@@ -250,26 +226,26 @@ function VirtualTable(props) {
|
|
|
250
226
|
var width = _ref4.width;
|
|
251
227
|
return total + width;
|
|
252
228
|
}, 0);
|
|
253
|
-
return virtualColumns
|
|
229
|
+
return virtualColumns == null ? void 0 : virtualColumns.map(function (column) {
|
|
254
230
|
if (column.width) {
|
|
255
|
-
return _objectSpread(
|
|
231
|
+
return _objectSpread({}, column, {
|
|
256
232
|
width: calculatePixels(column.width)
|
|
257
233
|
});
|
|
258
234
|
}
|
|
259
235
|
|
|
260
|
-
return _objectSpread(
|
|
236
|
+
return _objectSpread({}, column, {
|
|
261
237
|
width: Math.floor((rowWidth - definedWidth) / widthColumnCount)
|
|
262
238
|
});
|
|
263
239
|
});
|
|
264
240
|
}, [virtualColumns, tableWidth, initialWidth]);
|
|
265
|
-
var listInnerElementType =
|
|
241
|
+
var listInnerElementType = React.forwardRef(function (_ref5, ref) {
|
|
266
242
|
var style = _ref5.style,
|
|
267
|
-
rest =
|
|
243
|
+
rest = _objectWithoutPropertiesLoose(_ref5, _excluded);
|
|
268
244
|
|
|
269
245
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
270
246
|
ref: ref,
|
|
271
|
-
style: _objectSpread(
|
|
272
|
-
height:
|
|
247
|
+
style: _objectSpread({}, style, {
|
|
248
|
+
height: Number(style == null ? void 0 : style.height) + infiniteLoaderItemHeight + "px"
|
|
273
249
|
})
|
|
274
250
|
}, rest));
|
|
275
251
|
});
|
|
@@ -296,11 +272,11 @@ function VirtualTable(props) {
|
|
|
296
272
|
var scrollOffset = _ref6.scrollOffset,
|
|
297
273
|
scrollDirection = _ref6.scrollDirection;
|
|
298
274
|
|
|
299
|
-
if (scrollDirection === 'forward' && scrollOffset >= listHeight && typeof (infiniteScroll
|
|
275
|
+
if (scrollDirection === 'forward' && scrollOffset >= listHeight && typeof (infiniteScroll == null ? void 0 : infiniteScroll.onScrollEndReach) === 'function') {
|
|
300
276
|
infiniteScroll.onScrollEndReach();
|
|
301
277
|
}
|
|
302
278
|
|
|
303
|
-
if (scrollDirection === 'backward' && scrollOffset === 0 && typeof (infiniteScroll
|
|
279
|
+
if (scrollDirection === 'backward' && scrollOffset === 0 && typeof (infiniteScroll == null ? void 0 : infiniteScroll.onScrollTopReach) === 'function') {
|
|
304
280
|
infiniteScroll.onScrollTopReach();
|
|
305
281
|
}
|
|
306
282
|
};
|
|
@@ -331,21 +307,23 @@ function VirtualTable(props) {
|
|
|
331
307
|
}, VirtualTableRow);
|
|
332
308
|
};
|
|
333
309
|
|
|
334
|
-
if (expandable
|
|
310
|
+
if (expandable != null && (_expandable$expandedR = expandable.expandedRowKeys) != null && _expandable$expandedR.length) {
|
|
335
311
|
var expandedRows = rawData.reduce(function (result, currentRow) {
|
|
336
312
|
var _expandable$expandedR2;
|
|
337
313
|
|
|
338
314
|
var key = getRowKey(currentRow);
|
|
339
315
|
|
|
340
|
-
if (key !== undefined && expandable
|
|
316
|
+
if (key !== undefined && expandable != null && (_expandable$expandedR2 = expandable.expandedRowKeys) != null && _expandable$expandedR2.includes(key) && // @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
341
317
|
Array.isArray(currentRow.children) && // @ts-expect-error: Property 'children' does not exist on type 'T'.ts(2339)
|
|
342
318
|
currentRow.children.length) {
|
|
343
|
-
return [].concat(
|
|
344
|
-
|
|
345
|
-
|
|
319
|
+
return [].concat(result, [currentRow], currentRow.children.map(function (child) {
|
|
320
|
+
var _objectSpread2;
|
|
321
|
+
|
|
322
|
+
return _objectSpread({}, child, (_objectSpread2 = {}, _objectSpread2[EXPANDED_ROW_PROPERTY] = true, _objectSpread2));
|
|
323
|
+
}));
|
|
346
324
|
}
|
|
347
325
|
|
|
348
|
-
return [].concat(
|
|
326
|
+
return [].concat(result, [currentRow]);
|
|
349
327
|
}, []);
|
|
350
328
|
return renderVirtualList(expandedRows);
|
|
351
329
|
}
|
|
@@ -372,7 +350,7 @@ function VirtualTable(props) {
|
|
|
372
350
|
body: renderBody
|
|
373
351
|
},
|
|
374
352
|
locale: tableLocale
|
|
375
|
-
}))), !!(infiniteScroll
|
|
353
|
+
}))), !!(infiniteScroll != null && infiniteScroll.showBackToTopButton) && /*#__PURE__*/React.createElement(BackToTopButton, {
|
|
376
354
|
onClick: handleBackToTopClick
|
|
377
355
|
}, tableLocale.infiniteScrollBackToTop));
|
|
378
356
|
}
|