@hi-ui/table 4.3.1 → 4.3.2
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 +40 -0
- package/lib/cjs/BaseTable.js +136 -189
- package/lib/cjs/ColGroupContent.js +5 -28
- package/lib/cjs/SettingDrawer.js +76 -127
- package/lib/cjs/Table.js +107 -171
- package/lib/cjs/TableAdvancedFilter.js +49 -85
- package/lib/cjs/TableBody.js +33 -69
- package/lib/cjs/TableCell.js +56 -102
- package/lib/cjs/TableColumnMenu.js +39 -77
- package/lib/cjs/TableEmbedRow.js +11 -38
- package/lib/cjs/TableHeader.js +8 -33
- package/lib/cjs/TableRow.js +48 -88
- package/lib/cjs/TableSettingMenu.js +48 -94
- package/lib/cjs/TbodyContent.js +28 -56
- package/lib/cjs/TheadContent.js +20 -49
- package/lib/cjs/_virtual/index.js +0 -3
- package/lib/cjs/_virtual/index2.js +0 -3
- package/lib/cjs/_virtual/react-is.development.js +0 -3
- package/lib/cjs/_virtual/react-is.production.min.js +0 -3
- package/lib/cjs/context.js +0 -9
- package/lib/cjs/hooks/use-async-switch.js +13 -51
- package/lib/cjs/hooks/use-check.js +47 -77
- package/lib/cjs/hooks/use-col-hidden.js +16 -28
- package/lib/cjs/hooks/use-col-set.js +5 -18
- package/lib/cjs/hooks/use-col-sorter.js +18 -32
- package/lib/cjs/hooks/use-col-width.js +21 -57
- package/lib/cjs/hooks/use-colgroup.js +63 -85
- package/lib/cjs/hooks/use-drag.js +10 -31
- package/lib/cjs/hooks/use-embed-expand.js +23 -68
- package/lib/cjs/hooks/use-expand.js +32 -64
- package/lib/cjs/hooks/use-pagination.js +19 -50
- package/lib/cjs/hooks/use-queue.js +2 -14
- package/lib/cjs/icons/index.js +4 -21
- package/lib/cjs/index.js +0 -4
- package/lib/cjs/node_modules/classnames/index.js +2 -11
- package/lib/cjs/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js +31 -227
- package/lib/cjs/node_modules/rc-resize-observer/es/index.js +10 -68
- package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +1 -17
- package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +1 -14
- package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +1 -25
- package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +1 -5
- package/lib/cjs/node_modules/rc-util/es/Dom/canUseDom.js +0 -2
- package/lib/cjs/node_modules/rc-util/es/Dom/findDOMNode.js +1 -14
- package/lib/cjs/node_modules/rc-util/es/hooks/useLayoutEffect.js +2 -9
- package/lib/cjs/node_modules/rc-util/es/raf.js +0 -11
- package/lib/cjs/node_modules/rc-virtual-list/es/Filler.js +6 -25
- package/lib/cjs/node_modules/rc-virtual-list/es/Item.js +3 -14
- package/lib/cjs/node_modules/rc-virtual-list/es/List.js +103 -194
- package/lib/cjs/node_modules/rc-virtual-list/es/ScrollBar.js +16 -96
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useChildren.js +2 -11
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +8 -34
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +0 -10
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useHeights.js +6 -39
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +0 -16
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +4 -9
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +3 -28
- package/lib/cjs/node_modules/rc-virtual-list/es/index.js +0 -2
- package/lib/cjs/node_modules/rc-virtual-list/es/utils/CacheMap.js +2 -9
- package/lib/cjs/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +0 -15
- package/lib/cjs/node_modules/rc-virtual-list/es/utils/isFirefox.js +0 -2
- package/lib/cjs/node_modules/react-is/cjs/react-is.development.js +3 -29
- package/lib/cjs/node_modules/react-is/cjs/react-is.production.min.js +19 -45
- package/lib/cjs/node_modules/react-is/index.js +0 -5
- package/lib/cjs/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +83 -248
- package/lib/cjs/packages/hooks/use-merge-refs/lib/esm/index.js +3 -14
- package/lib/cjs/packages/ui/scrollbar/lib/esm/Scrollbar.js +48 -86
- package/lib/cjs/packages/ui/scrollbar/lib/esm/styles/index.scss.js +1 -15
- package/lib/cjs/packages/ui/scrollbar/lib/esm/utils/index.js +0 -13
- package/lib/cjs/styles/index.scss.js +1 -4
- package/lib/cjs/use-table.js +268 -355
- package/lib/cjs/utils/index.js +11 -45
- package/lib/esm/BaseTable.js +117 -138
- package/lib/esm/ColGroupContent.js +3 -9
- package/lib/esm/SettingDrawer.js +64 -83
- package/lib/esm/Table.js +97 -124
- package/lib/esm/TableAdvancedFilter.js +37 -47
- package/lib/esm/TableBody.js +24 -34
- package/lib/esm/TableCell.js +48 -72
- package/lib/esm/TableColumnMenu.js +24 -38
- package/lib/esm/TableEmbedRow.js +8 -15
- package/lib/esm/TableHeader.js +5 -11
- package/lib/esm/TableRow.js +36 -51
- package/lib/esm/TableSettingMenu.js +33 -49
- package/lib/esm/TbodyContent.js +20 -27
- package/lib/esm/TheadContent.js +14 -21
- package/lib/esm/context.js +0 -4
- package/lib/esm/hooks/use-async-switch.js +9 -28
- package/lib/esm/hooks/use-check.js +42 -55
- package/lib/esm/hooks/use-col-hidden.js +16 -21
- package/lib/esm/hooks/use-col-set.js +5 -13
- package/lib/esm/hooks/use-col-sorter.js +18 -23
- package/lib/esm/hooks/use-col-width.js +14 -34
- package/lib/esm/hooks/use-colgroup.js +60 -66
- package/lib/esm/hooks/use-drag.js +9 -13
- package/lib/esm/hooks/use-embed-expand.js +20 -42
- package/lib/esm/hooks/use-expand.js +32 -56
- package/lib/esm/hooks/use-pagination.js +13 -25
- package/lib/esm/hooks/use-queue.js +2 -10
- package/lib/esm/node_modules/classnames/index.js +2 -9
- package/lib/esm/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js +31 -228
- package/lib/esm/node_modules/rc-resize-observer/es/index.js +3 -26
- package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +0 -3
- package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +1 -2
- package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +0 -8
- package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +0 -5
- package/lib/esm/node_modules/rc-util/es/Dom/canUseDom.js +0 -1
- package/lib/esm/node_modules/rc-util/es/Dom/findDOMNode.js +1 -2
- package/lib/esm/node_modules/rc-util/es/hooks/useLayoutEffect.js +1 -0
- package/lib/esm/node_modules/rc-util/es/raf.js +0 -10
- package/lib/esm/node_modules/rc-virtual-list/es/Filler.js +4 -15
- package/lib/esm/node_modules/rc-virtual-list/es/Item.js +1 -3
- package/lib/esm/node_modules/rc-virtual-list/es/List.js +101 -174
- package/lib/esm/node_modules/rc-virtual-list/es/ScrollBar.js +14 -86
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useChildren.js +0 -2
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +6 -25
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +0 -6
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useHeights.js +4 -28
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +0 -13
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +4 -8
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +1 -19
- package/lib/esm/node_modules/rc-virtual-list/es/index.js +1 -1
- package/lib/esm/node_modules/rc-virtual-list/es/utils/CacheMap.js +2 -8
- package/lib/esm/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +1 -12
- package/lib/esm/node_modules/rc-virtual-list/es/utils/isFirefox.js +0 -1
- package/lib/esm/node_modules/react-is/cjs/react-is.development.js +4 -27
- package/lib/esm/node_modules/react-is/cjs/react-is.production.min.js +20 -44
- package/lib/esm/node_modules/react-is/index.js +0 -1
- package/lib/esm/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +82 -248
- package/lib/esm/packages/hooks/use-merge-refs/lib/esm/index.js +3 -9
- package/lib/esm/packages/ui/scrollbar/lib/esm/Scrollbar.js +47 -64
- package/lib/esm/packages/ui/scrollbar/lib/esm/styles/index.scss.js +1 -3
- package/lib/esm/packages/ui/scrollbar/lib/esm/utils/index.js +0 -10
- package/lib/esm/styles/index.scss.js +1 -3
- package/lib/esm/use-table.js +261 -318
- package/lib/esm/utils/index.js +11 -41
- package/lib/types/BaseTable.d.ts +2 -2
- package/package.json +33 -33
package/lib/cjs/TbodyContent.js
CHANGED
|
@@ -9,68 +9,43 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
|
15
|
-
value: true
|
|
16
|
-
});
|
|
17
|
-
|
|
18
12
|
var React = require('react');
|
|
19
|
-
|
|
20
13
|
var classname = require('@hi-ui/classname');
|
|
21
|
-
|
|
22
14
|
var env = require('@hi-ui/env');
|
|
23
|
-
|
|
24
15
|
var useLatest = require('@hi-ui/use-latest');
|
|
25
|
-
|
|
26
16
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
27
|
-
|
|
28
17
|
var emptyState = require('@hi-ui/empty-state');
|
|
29
|
-
|
|
30
18
|
var TableRow = require('./TableRow.js');
|
|
31
|
-
|
|
32
19
|
var context = require('./context.js');
|
|
33
|
-
|
|
34
|
-
function _interopDefaultLegacy(e) {
|
|
35
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
36
|
-
'default': e
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
41
|
-
|
|
42
20
|
var _prefix = classname.getPrefixCls('table-body');
|
|
43
|
-
|
|
44
21
|
var TbodyContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
45
22
|
var _ref$prefixCls = _ref.prefixCls,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
23
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
24
|
+
emptyContent = _ref.emptyContent;
|
|
49
25
|
var _useTableContext = context.useTableContext(),
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
26
|
+
columns = _useTableContext.columns,
|
|
27
|
+
isExpandTreeRows = _useTableContext.isExpandTreeRows,
|
|
28
|
+
transitionData = _useTableContext.transitionData,
|
|
29
|
+
scrollBodyElementRef = _useTableContext.scrollBodyElementRef,
|
|
30
|
+
hasAvgColumn = _useTableContext.hasAvgColumn,
|
|
31
|
+
avgRow = _useTableContext.avgRow,
|
|
32
|
+
hasSumColumn = _useTableContext.hasSumColumn,
|
|
33
|
+
sumRow = _useTableContext.sumRow,
|
|
34
|
+
measureRowElementRef = _useTableContext.measureRowElementRef;
|
|
60
35
|
var getRequiredProps = useLatest.useLatestCallback(function (id) {
|
|
61
36
|
return {
|
|
62
37
|
// @ts-ignore
|
|
63
|
-
expandedTree: isExpandTreeRows(id)
|
|
38
|
+
expandedTree: isExpandTreeRows(id)
|
|
39
|
+
// checked: isCheckedId(id),
|
|
64
40
|
// semiChecked: isSemiCheckedId(id),
|
|
65
41
|
// selected: selectedId === id,
|
|
66
42
|
// loading: isLoadingId(id),
|
|
67
43
|
// focused: focusedId === id,
|
|
68
|
-
|
|
69
44
|
};
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
return /*#__PURE__*/
|
|
73
|
-
return /*#__PURE__*/
|
|
45
|
+
});
|
|
46
|
+
// 外层增加 div 作为滚动容器
|
|
47
|
+
return /*#__PURE__*/React.createElement("tbody", null, typeAssertion.isArrayNonEmpty(transitionData) ? /*#__PURE__*/React.createElement(React.Fragment, null, transitionData.map(function (row, index) {
|
|
48
|
+
return /*#__PURE__*/React.createElement(TableRow.TableRow, Object.assign({
|
|
74
49
|
ref: index === 0 ? measureRowElementRef : null,
|
|
75
50
|
// key={depth + index}
|
|
76
51
|
key: row.id,
|
|
@@ -78,17 +53,18 @@ var TbodyContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
78
53
|
rowIndex: index,
|
|
79
54
|
rowData: row
|
|
80
55
|
}, getRequiredProps(row.id)));
|
|
81
|
-
}), hasSumColumn ? /*#__PURE__*/
|
|
56
|
+
}), hasSumColumn ? /*#__PURE__*/React.createElement(TableRow.TableRow, {
|
|
82
57
|
key: sumRow.id,
|
|
83
58
|
rowIndex: transitionData.length,
|
|
84
59
|
rowData: sumRow,
|
|
85
60
|
isSumRow: true
|
|
86
|
-
}) : null, hasAvgColumn ? /*#__PURE__*/
|
|
61
|
+
}) : null, hasAvgColumn ? /*#__PURE__*/React.createElement(TableRow.TableRow, {
|
|
87
62
|
key: avgRow.id,
|
|
88
63
|
rowIndex: transitionData.length + 1,
|
|
89
64
|
rowData: avgRow,
|
|
90
65
|
isAvgRow: true
|
|
91
|
-
}) : null) :
|
|
66
|
+
}) : null) :
|
|
67
|
+
// 空状态,colSpan 占满表格整行
|
|
92
68
|
renderEmptyContent(Object.assign({
|
|
93
69
|
className: prefixCls + "-empty-content",
|
|
94
70
|
colSpan: columns.length,
|
|
@@ -97,33 +73,29 @@ var TbodyContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
97
73
|
scrollBodyWidth: window.getComputedStyle(scrollBodyElementRef.current).getPropertyValue('width')
|
|
98
74
|
} : {})));
|
|
99
75
|
});
|
|
100
|
-
|
|
101
76
|
if (env.__DEV__) {
|
|
102
77
|
TbodyContent.displayName = 'TbodyContent';
|
|
103
78
|
}
|
|
104
79
|
/**
|
|
105
80
|
* 负责空状态渲染
|
|
106
81
|
*/
|
|
107
|
-
|
|
108
|
-
|
|
109
82
|
var renderEmptyContent = function renderEmptyContent(_ref2) {
|
|
110
83
|
var className = _ref2.className,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return /*#__PURE__*/
|
|
84
|
+
colSpan = _ref2.colSpan,
|
|
85
|
+
emptyContent = _ref2.emptyContent,
|
|
86
|
+
scrollBodyWidth = _ref2.scrollBodyWidth;
|
|
87
|
+
return /*#__PURE__*/React.createElement("tr", {
|
|
115
88
|
className: className
|
|
116
|
-
}, /*#__PURE__*/
|
|
89
|
+
}, /*#__PURE__*/React.createElement("td", {
|
|
117
90
|
colSpan: colSpan
|
|
118
|
-
}, /*#__PURE__*/
|
|
91
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
119
92
|
style: {
|
|
120
93
|
position: 'sticky',
|
|
121
94
|
left: 0,
|
|
122
95
|
width: scrollBodyWidth !== null && scrollBodyWidth !== void 0 ? scrollBodyWidth : '100%',
|
|
123
96
|
overflow: 'hidden'
|
|
124
97
|
}
|
|
125
|
-
}, emptyContent || /*#__PURE__*/
|
|
98
|
+
}, emptyContent || /*#__PURE__*/React.createElement(emptyState.EmptyState, null))));
|
|
126
99
|
};
|
|
127
|
-
|
|
128
100
|
exports.TbodyContent = TbodyContent;
|
|
129
101
|
exports.renderEmptyContent = renderEmptyContent;
|
package/lib/cjs/TheadContent.js
CHANGED
|
@@ -9,72 +9,45 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
|
15
|
-
value: true
|
|
16
|
-
});
|
|
17
|
-
|
|
18
12
|
var tslib = require('tslib');
|
|
19
|
-
|
|
20
13
|
var React = require('react');
|
|
21
|
-
|
|
22
14
|
var reactResizable = require('react-resizable');
|
|
23
|
-
|
|
24
15
|
var classname = require('@hi-ui/classname');
|
|
25
|
-
|
|
26
16
|
var env = require('@hi-ui/env');
|
|
27
|
-
|
|
28
17
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
29
|
-
|
|
30
18
|
var useCheckState = require('@hi-ui/use-check-state');
|
|
31
|
-
|
|
32
19
|
var context = require('./context.js');
|
|
33
|
-
|
|
34
20
|
var TableAdvancedFilter = require('./TableAdvancedFilter.js');
|
|
35
|
-
|
|
36
|
-
function _interopDefaultLegacy(e) {
|
|
37
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
38
|
-
'default': e
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
43
|
-
|
|
44
21
|
var _prefix = classname.getPrefixCls('table-header');
|
|
45
|
-
|
|
46
22
|
var TheadContent = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
47
23
|
var _a$prefixCls = _a.prefixCls,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
24
|
+
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
|
25
|
+
rest = tslib.__rest(_a, ["prefixCls"]);
|
|
51
26
|
var _useTableContext = context.useTableContext(),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
27
|
+
groupedColumns = _useTableContext.groupedColumns,
|
|
28
|
+
resizable = _useTableContext.resizable,
|
|
29
|
+
colWidths = _useTableContext.colWidths,
|
|
30
|
+
isHoveredHighlightCol = _useTableContext.isHoveredHighlightCol,
|
|
31
|
+
isHighlightedCol = _useTableContext.isHighlightedCol,
|
|
32
|
+
onColumnResizable = _useTableContext.onColumnResizable,
|
|
33
|
+
getStickyColProps = _useTableContext.getStickyColProps,
|
|
34
|
+
showColMenu = _useTableContext.showColMenu,
|
|
35
|
+
setHeaderTableElement = _useTableContext.setHeaderTableElement;
|
|
62
36
|
var activeColumnKeysAction = useCheckState.useCheckState();
|
|
63
|
-
return /*#__PURE__*/
|
|
64
|
-
return /*#__PURE__*/
|
|
37
|
+
return /*#__PURE__*/React.createElement("thead", Object.assign({}, rest), groupedColumns.map(function (cols, colsIndex) {
|
|
38
|
+
return /*#__PURE__*/React.createElement("tr", {
|
|
65
39
|
key: colsIndex,
|
|
66
40
|
ref: setHeaderTableElement
|
|
67
41
|
}, cols.map(function (col, colIndex) {
|
|
68
42
|
var _ref = col || {},
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
43
|
+
dataKey = _ref.dataKey,
|
|
44
|
+
title = _ref.title,
|
|
45
|
+
raw = _ref.raw;
|
|
73
46
|
var titleContent = typeAssertion.isFunction(title) ? title(col) : title;
|
|
74
|
-
titleContent = resizable ? /*#__PURE__*/
|
|
47
|
+
titleContent = resizable ? /*#__PURE__*/React.createElement("span", {
|
|
75
48
|
className: prefixCls + "-header__title"
|
|
76
49
|
}, titleContent) : titleContent;
|
|
77
|
-
var cell = /*#__PURE__*/
|
|
50
|
+
var cell = /*#__PURE__*/React.createElement("th", Object.assign({
|
|
78
51
|
key: dataKey
|
|
79
52
|
}, getStickyColProps(col), {
|
|
80
53
|
className: classname.cx(prefixCls + "-cell", raw.className, isHighlightedCol(dataKey) && prefixCls + "-cell__col--highlight", isHoveredHighlightCol(dataKey) && prefixCls + "-cell__col--hovered-highlight", activeColumnKeysAction.has(dataKey) && prefixCls + "-cell__col--active"),
|
|
@@ -94,13 +67,13 @@ var TheadContent = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
94
67
|
return activeColumnKeysAction.remove(dataKey);
|
|
95
68
|
}
|
|
96
69
|
}));
|
|
97
|
-
return resizable && colIndex !== colWidths.length - 1 ? /*#__PURE__*/
|
|
70
|
+
return resizable && colIndex !== colWidths.length - 1 ? /*#__PURE__*/React.createElement(reactResizable.Resizable, {
|
|
98
71
|
key: colIndex,
|
|
99
72
|
className: prefixCls + "__resizable",
|
|
100
73
|
draggableOpts: {
|
|
101
74
|
enableUserSelectHack: false
|
|
102
75
|
},
|
|
103
|
-
handle: /*#__PURE__*/
|
|
76
|
+
handle: /*#__PURE__*/React.createElement("span", {
|
|
104
77
|
className: prefixCls + "__resizable-handle"
|
|
105
78
|
}),
|
|
106
79
|
height: 0,
|
|
@@ -112,9 +85,7 @@ var TheadContent = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
112
85
|
}));
|
|
113
86
|
}));
|
|
114
87
|
});
|
|
115
|
-
|
|
116
88
|
if (env.__DEV__) {
|
|
117
89
|
TheadContent.displayName = 'TheadContent';
|
|
118
90
|
}
|
|
119
|
-
|
|
120
91
|
exports.TheadContent = TheadContent;
|
package/lib/cjs/context.js
CHANGED
|
@@ -9,24 +9,15 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
Object.defineProperty(exports, '__esModule', {
|
|
13
|
-
value: true
|
|
14
|
-
});
|
|
15
|
-
|
|
16
12
|
var React = require('react');
|
|
17
|
-
|
|
18
13
|
var TableContext = /*#__PURE__*/React.createContext(null);
|
|
19
14
|
var TableProvider = TableContext.Provider;
|
|
20
|
-
|
|
21
15
|
var useTableContext = function useTableContext() {
|
|
22
16
|
var context = React.useContext(TableContext);
|
|
23
|
-
|
|
24
17
|
if (!context) {
|
|
25
18
|
throw new Error('The TableContext context should using in Table.');
|
|
26
19
|
}
|
|
27
|
-
|
|
28
20
|
return context;
|
|
29
21
|
};
|
|
30
|
-
|
|
31
22
|
exports.TableProvider = TableProvider;
|
|
32
23
|
exports.useTableContext = useTableContext;
|
|
@@ -9,53 +9,31 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
|
15
|
-
value: true
|
|
16
|
-
});
|
|
17
|
-
|
|
18
12
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
19
|
-
|
|
20
13
|
var tslib = require('tslib');
|
|
21
|
-
|
|
22
14
|
var React = require('react');
|
|
23
|
-
|
|
24
15
|
var useLatest = require('@hi-ui/use-latest');
|
|
25
|
-
|
|
26
16
|
var treeUtils = require('@hi-ui/tree-utils');
|
|
27
|
-
|
|
28
17
|
var useCheckState = require('@hi-ui/use-check-state');
|
|
29
|
-
|
|
30
|
-
function _interopDefaultLegacy(e) {
|
|
31
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
32
|
-
'default': e
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
37
|
-
|
|
38
18
|
var useAsyncSwitch = function useAsyncSwitch(_ref) {
|
|
39
19
|
var setCascaderData = _ref.setCascaderData,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var onLoadChildrenLatest = useLatest.useLatestCallback(onLoadChildren);
|
|
45
|
-
|
|
20
|
+
onExpand = _ref.onExpand,
|
|
21
|
+
onLoadChildren = _ref.onLoadChildren,
|
|
22
|
+
_ref$fieldKey = _ref.fieldKey,
|
|
23
|
+
fieldKey = _ref$fieldKey === void 0 ? 'key' : _ref$fieldKey;
|
|
24
|
+
var onLoadChildrenLatest = useLatest.useLatestCallback(onLoadChildren);
|
|
25
|
+
// 加载节点
|
|
46
26
|
var loadChildren = React.useCallback(function (node) {
|
|
47
|
-
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/
|
|
27
|
+
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
48
28
|
var childrenNodes;
|
|
49
|
-
return
|
|
29
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
50
30
|
while (1) {
|
|
51
31
|
switch (_context.prev = _context.next) {
|
|
52
32
|
case 0:
|
|
53
33
|
_context.next = 2;
|
|
54
34
|
return onLoadChildrenLatest(node);
|
|
55
|
-
|
|
56
35
|
case 2:
|
|
57
36
|
childrenNodes = _context.sent;
|
|
58
|
-
|
|
59
37
|
if (Array.isArray(childrenNodes)) {
|
|
60
38
|
setCascaderData(function (prev) {
|
|
61
39
|
var nextTreeData = treeUtils.cloneTree(prev);
|
|
@@ -63,7 +41,6 @@ var useAsyncSwitch = function useAsyncSwitch(_ref) {
|
|
|
63
41
|
return nextTreeData;
|
|
64
42
|
});
|
|
65
43
|
}
|
|
66
|
-
|
|
67
44
|
case 4:
|
|
68
45
|
case "end":
|
|
69
46
|
return _context.stop();
|
|
@@ -72,64 +49,52 @@ var useAsyncSwitch = function useAsyncSwitch(_ref) {
|
|
|
72
49
|
}, _callee);
|
|
73
50
|
}));
|
|
74
51
|
}, [fieldKey, onLoadChildrenLatest, setCascaderData]);
|
|
75
|
-
|
|
76
52
|
var _useCheckState = useCheckState.useCheckState(),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
53
|
+
loadingIds = _useCheckState.state,
|
|
54
|
+
addLoadingIds = _useCheckState.add,
|
|
55
|
+
removeLoadingIds = _useCheckState.remove;
|
|
81
56
|
var onExpandLatest = useLatest.useLatestCallback(onExpand);
|
|
82
57
|
var onNodeSwitch = React.useCallback(function (node, onlyExpand) {
|
|
83
58
|
if (onlyExpand === void 0) {
|
|
84
59
|
onlyExpand = false;
|
|
85
60
|
}
|
|
86
|
-
|
|
87
|
-
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2() {
|
|
61
|
+
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
88
62
|
var id, children, isLeaf;
|
|
89
|
-
return
|
|
63
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
90
64
|
while (1) {
|
|
91
65
|
switch (_context2.prev = _context2.next) {
|
|
92
66
|
case 0:
|
|
93
67
|
// 直接触发选中该节点
|
|
94
68
|
onExpandLatest(node, onlyExpand);
|
|
95
69
|
id = node.id, children = node.children, isLeaf = node.isLeaf;
|
|
96
|
-
|
|
97
70
|
if (!children) {
|
|
98
71
|
_context2.next = 4;
|
|
99
72
|
break;
|
|
100
73
|
}
|
|
101
|
-
|
|
102
74
|
return _context2.abrupt("return");
|
|
103
|
-
|
|
104
75
|
case 4:
|
|
105
76
|
if (!isLeaf) {
|
|
106
77
|
_context2.next = 6;
|
|
107
78
|
break;
|
|
108
79
|
}
|
|
109
|
-
|
|
110
80
|
return _context2.abrupt("return");
|
|
111
|
-
|
|
112
81
|
case 6:
|
|
113
82
|
if (!onLoadChildren) {
|
|
114
83
|
_context2.next = 17;
|
|
115
84
|
break;
|
|
116
85
|
}
|
|
117
|
-
|
|
118
86
|
addLoadingIds(id);
|
|
119
87
|
_context2.prev = 8;
|
|
120
88
|
_context2.next = 11;
|
|
121
89
|
return loadChildren(node);
|
|
122
|
-
|
|
123
90
|
case 11:
|
|
124
91
|
removeLoadingIds(id);
|
|
125
92
|
_context2.next = 17;
|
|
126
93
|
break;
|
|
127
|
-
|
|
128
94
|
case 14:
|
|
129
95
|
_context2.prev = 14;
|
|
130
96
|
_context2.t0 = _context2["catch"](8);
|
|
131
97
|
removeLoadingIds(id);
|
|
132
|
-
|
|
133
98
|
case 17:
|
|
134
99
|
case "end":
|
|
135
100
|
return _context2.stop();
|
|
@@ -138,12 +103,9 @@ var useAsyncSwitch = function useAsyncSwitch(_ref) {
|
|
|
138
103
|
}, _callee2, null, [[8, 14]]);
|
|
139
104
|
}));
|
|
140
105
|
}, [loadChildren, onLoadChildren, onExpandLatest, addLoadingIds, removeLoadingIds]);
|
|
141
|
-
|
|
142
106
|
var isLoadingId = function isLoadingId(id) {
|
|
143
107
|
return loadingIds.indexOf(id) !== -1;
|
|
144
108
|
};
|
|
145
|
-
|
|
146
109
|
return [isLoadingId, onNodeSwitch];
|
|
147
110
|
};
|
|
148
|
-
|
|
149
111
|
exports.useAsyncSwitch = useAsyncSwitch;
|
|
@@ -9,60 +9,38 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
|
15
|
-
value: true
|
|
16
|
-
});
|
|
17
|
-
|
|
18
12
|
var useCheck = require('@hi-ui/use-check');
|
|
19
|
-
|
|
20
13
|
var React = require('react');
|
|
21
|
-
|
|
22
14
|
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
|
23
|
-
|
|
24
|
-
function _interopDefaultLegacy(e) {
|
|
25
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
26
|
-
'default': e
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
31
|
-
|
|
32
15
|
var DEFAULT_CHECKED_ROW_KEYS = [];
|
|
33
|
-
|
|
34
16
|
var useTableCheck = function useTableCheck(_ref) {
|
|
35
17
|
var rowSelection = _ref.rowSelection,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var checkRowIsDisabledCheckbox =
|
|
18
|
+
flattedData = _ref.flattedData,
|
|
19
|
+
fieldKey = _ref.fieldKey;
|
|
20
|
+
var checkRowIsDisabledCheckbox = React.useCallback(function (rowItem) {
|
|
39
21
|
var checkboxConfig = rowSelection && rowSelection.getCheckboxConfig && rowSelection.getCheckboxConfig(rowItem);
|
|
40
22
|
return checkboxConfig && checkboxConfig.disabled || false;
|
|
41
23
|
}, [rowSelection]);
|
|
42
|
-
|
|
43
24
|
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(DEFAULT_CHECKED_ROW_KEYS, rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.selectedRowKeys, rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.onChange),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
25
|
+
checkedRowKeys = _useUncontrolledState[0],
|
|
26
|
+
trySetCheckedRowKeys = _useUncontrolledState[1];
|
|
27
|
+
// 已选中的行数据集合
|
|
28
|
+
var checkedRowDataItemsRef = React.useRef([]);
|
|
29
|
+
var checkedRowDataItems = checkedRowDataItemsRef.current;
|
|
30
|
+
// TODO: 暂时不支持正反选
|
|
51
31
|
var _useCheck = useCheck.useCheck({
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
var onCheckedRowKeysChange = React__default["default"].useCallback(function (rowItem, checked) {
|
|
32
|
+
checkedIds: checkedRowKeys,
|
|
33
|
+
onCheck: function onCheck(checkedRowKeys, rowItem, checked) {
|
|
34
|
+
trySetCheckedRowKeys(checkedRowKeys, rowItem, checked, checkedRowDataItemsRef.current);
|
|
35
|
+
},
|
|
36
|
+
idFieldName: fieldKey
|
|
37
|
+
}),
|
|
38
|
+
handleCheckedRowKeysChange = _useCheck[0],
|
|
39
|
+
isCheckedRowKey = _useCheck[1];
|
|
40
|
+
// 选中项变化会触发该函数
|
|
41
|
+
var onCheckedRowKeysChange = React.useCallback(function (rowItem, checked) {
|
|
63
42
|
// 记录选中的行数据集合
|
|
64
43
|
var nextCheckedDataItems = checkedRowDataItems;
|
|
65
|
-
|
|
66
44
|
if (checked) {
|
|
67
45
|
if (!nextCheckedDataItems.find(function (item) {
|
|
68
46
|
return item[fieldKey] === rowItem[fieldKey];
|
|
@@ -74,40 +52,34 @@ var useTableCheck = function useTableCheck(_ref) {
|
|
|
74
52
|
return item[fieldKey] !== rowItem[fieldKey];
|
|
75
53
|
});
|
|
76
54
|
}
|
|
77
|
-
|
|
78
55
|
handleCheckedRowKeysChange(rowItem, checked);
|
|
79
|
-
}, [checkedRowDataItems, fieldKey, handleCheckedRowKeysChange]);
|
|
80
|
-
|
|
81
|
-
var _React$useMemo =
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
56
|
+
}, [checkedRowDataItems, fieldKey, handleCheckedRowKeysChange]);
|
|
57
|
+
// 判断是否全选
|
|
58
|
+
var _React$useMemo = React.useMemo(function () {
|
|
59
|
+
if (rowSelection) {
|
|
60
|
+
if (flattedData.length === 0 || checkedRowKeys.length === 0) {
|
|
61
|
+
return [false, false];
|
|
62
|
+
}
|
|
63
|
+
var idsCanBeChecked = flattedData.filter(function (item) {
|
|
64
|
+
return !checkRowIsDisabledCheckbox(item.raw);
|
|
65
|
+
}).map(function (item) {
|
|
66
|
+
return item.id;
|
|
67
|
+
});
|
|
68
|
+
// TODO: 数组项完全匹配工具函数
|
|
69
|
+
// TODO: 数组项完全匹配工具函数
|
|
70
|
+
var _checkedAll = idsCanBeChecked.every(function (id) {
|
|
71
|
+
return isCheckedRowKey(id);
|
|
72
|
+
});
|
|
73
|
+
var _semiChecked = _checkedAll ? false : checkedRowKeys.length > 0 && idsCanBeChecked.some(function (id) {
|
|
74
|
+
return isCheckedRowKey(id);
|
|
75
|
+
});
|
|
76
|
+
return [_checkedAll, _semiChecked];
|
|
85
77
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}); // TODO: 数组项完全匹配工具函数
|
|
92
|
-
// TODO: 数组项完全匹配工具函数
|
|
93
|
-
|
|
94
|
-
var _checkedAll = idsCanBeChecked.every(function (id) {
|
|
95
|
-
return isCheckedRowKey(id);
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
var _semiChecked = _checkedAll ? false : checkedRowKeys.length > 0 && idsCanBeChecked.some(function (id) {
|
|
99
|
-
return isCheckedRowKey(id);
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
return [_checkedAll, _semiChecked];
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return [false, false];
|
|
106
|
-
}, [flattedData, rowSelection, isCheckedRowKey, checkedRowKeys.length, checkRowIsDisabledCheckbox]),
|
|
107
|
-
checkedAll = _React$useMemo[0],
|
|
108
|
-
semiChecked = _React$useMemo[1];
|
|
109
|
-
|
|
110
|
-
var tryCheckAllRow = React__default["default"].useCallback(function () {
|
|
78
|
+
return [false, false];
|
|
79
|
+
}, [flattedData, rowSelection, isCheckedRowKey, checkedRowKeys.length, checkRowIsDisabledCheckbox]),
|
|
80
|
+
checkedAll = _React$useMemo[0],
|
|
81
|
+
semiChecked = _React$useMemo[1];
|
|
82
|
+
var tryCheckAllRow = React.useCallback(function () {
|
|
111
83
|
var targetItems = flattedData.filter(function (item) {
|
|
112
84
|
return !checkRowIsDisabledCheckbox(item.raw);
|
|
113
85
|
});
|
|
@@ -118,7 +90,6 @@ var useTableCheck = function useTableCheck(_ref) {
|
|
|
118
90
|
return item.raw;
|
|
119
91
|
});
|
|
120
92
|
var checkedRowKeysSet = new Set(checkedRowKeys);
|
|
121
|
-
|
|
122
93
|
if (checkedAll) {
|
|
123
94
|
// 移除当前页所有行 ids
|
|
124
95
|
trySetCheckedRowKeys(function (prev) {
|
|
@@ -128,8 +99,8 @@ var useTableCheck = function useTableCheck(_ref) {
|
|
|
128
99
|
}, targetRowItems, false);
|
|
129
100
|
return;
|
|
130
101
|
}
|
|
131
|
-
|
|
132
|
-
|
|
102
|
+
trySetCheckedRowKeys(
|
|
103
|
+
// 添加当前页所有行 ids
|
|
133
104
|
function (prev) {
|
|
134
105
|
prev.forEach(function (id) {
|
|
135
106
|
return checkedRowKeysSet.add(id);
|
|
@@ -148,5 +119,4 @@ var useTableCheck = function useTableCheck(_ref) {
|
|
|
148
119
|
checkRowIsDisabledCheckbox: checkRowIsDisabledCheckbox
|
|
149
120
|
};
|
|
150
121
|
};
|
|
151
|
-
|
|
152
122
|
exports.useTableCheck = useTableCheck;
|