@hi-ui/table 4.3.0 → 4.3.2-alpha.0
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 +11 -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 +42 -73
- 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 +1090 -0
- 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 +65 -0
- package/lib/cjs/packages/ui/scrollbar/lib/esm/Scrollbar.js +147 -0
- package/lib/cjs/packages/ui/scrollbar/lib/esm/styles/index.scss.js +28 -0
- package/lib/cjs/packages/ui/scrollbar/lib/esm/utils/index.js +68 -0
- package/lib/cjs/styles/index.scss.js +1 -4
- package/lib/cjs/use-table.js +276 -361
- 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 +37 -44
- 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 +1084 -0
- 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 +62 -0
- package/lib/esm/packages/ui/scrollbar/lib/esm/Scrollbar.js +145 -0
- package/lib/esm/packages/ui/scrollbar/lib/esm/styles/index.scss.js +23 -0
- package/lib/esm/packages/ui/scrollbar/lib/esm/utils/index.js +66 -0
- package/lib/esm/styles/index.scss.js +1 -3
- package/lib/esm/use-table.js +268 -323
- package/lib/esm/utils/index.js +11 -41
- package/lib/types/context.d.ts +2 -0
- package/lib/types/use-table.d.ts +8 -2
- package/package.json +5 -5
package/lib/cjs/TableBody.js
CHANGED
|
@@ -9,83 +9,56 @@
|
|
|
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 List = require('./node_modules/rc-virtual-list/es/List.js');
|
|
21
|
-
|
|
22
14
|
var classname = require('@hi-ui/classname');
|
|
23
|
-
|
|
24
15
|
var env = require('@hi-ui/env');
|
|
25
|
-
|
|
26
16
|
var useLatest = require('@hi-ui/use-latest');
|
|
27
|
-
|
|
28
17
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
29
|
-
|
|
18
|
+
require('./packages/ui/scrollbar/lib/esm/styles/index.scss.js');
|
|
19
|
+
var Scrollbar = require('./packages/ui/scrollbar/lib/esm/Scrollbar.js');
|
|
30
20
|
var TableRow = require('./TableRow.js');
|
|
31
|
-
|
|
32
21
|
var context = require('./context.js');
|
|
33
|
-
|
|
34
22
|
var ColGroupContent = require('./ColGroupContent.js');
|
|
35
|
-
|
|
36
23
|
var TbodyContent = require('./TbodyContent.js');
|
|
37
|
-
|
|
38
|
-
function _interopDefaultLegacy(e) {
|
|
39
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
40
|
-
'default': e
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
45
|
-
|
|
46
24
|
var _role = 'table';
|
|
47
|
-
|
|
48
25
|
var _prefix = classname.getPrefixCls(_role);
|
|
49
|
-
|
|
50
26
|
var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
51
27
|
var _ref$prefixCls = _ref.prefixCls,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
28
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
29
|
+
emptyContent = _ref.emptyContent;
|
|
55
30
|
var _a;
|
|
56
|
-
|
|
57
31
|
var _useTableContext = context.useTableContext(),
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
32
|
+
columns = _useTableContext.columns,
|
|
33
|
+
isExpandTreeRows = _useTableContext.isExpandTreeRows,
|
|
34
|
+
transitionData = _useTableContext.transitionData,
|
|
35
|
+
bodyTableRef = _useTableContext.bodyTableRef,
|
|
36
|
+
scrollBodyElementRef = _useTableContext.scrollBodyElementRef,
|
|
37
|
+
onTableBodyScroll = _useTableContext.onTableBodyScroll,
|
|
38
|
+
onTableBodyScrollMock = _useTableContext.onTableBodyScrollMock,
|
|
39
|
+
maxHeight = _useTableContext.maxHeight,
|
|
40
|
+
canScroll = _useTableContext.canScroll,
|
|
41
|
+
scrollWidth = _useTableContext.scrollWidth,
|
|
42
|
+
colWidths = _useTableContext.colWidths,
|
|
43
|
+
virtual = _useTableContext.virtual,
|
|
44
|
+
measureRowElementRef = _useTableContext.measureRowElementRef,
|
|
45
|
+
scrollbar = _useTableContext.scrollbar;
|
|
72
46
|
var cls = classname.cx(prefixCls + "-body");
|
|
73
47
|
var getRequiredProps = useLatest.useLatestCallback(function (id) {
|
|
74
48
|
return {
|
|
75
49
|
// @ts-ignore
|
|
76
|
-
expandedTree: isExpandTreeRows(id)
|
|
50
|
+
expandedTree: isExpandTreeRows(id)
|
|
51
|
+
// checked: isCheckedId(id),
|
|
77
52
|
// semiChecked: isSemiCheckedId(id),
|
|
78
53
|
// selected: selectedId === id,
|
|
79
54
|
// loading: isLoadingId(id),
|
|
80
55
|
// focused: focusedId === id,
|
|
81
|
-
|
|
82
56
|
};
|
|
83
57
|
});
|
|
84
58
|
|
|
85
59
|
var _useState = React.useState(0),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
60
|
+
scrollLeft = _useState[0],
|
|
61
|
+
setScrollLeft = _useState[1];
|
|
89
62
|
var rowWidth = React.useMemo(function () {
|
|
90
63
|
var tmpWidth = 0;
|
|
91
64
|
colWidths.forEach(function (width) {
|
|
@@ -95,16 +68,14 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
95
68
|
}, [colWidths]);
|
|
96
69
|
var onVirtualContainerScroll = React.useCallback(function (evt) {
|
|
97
70
|
var _a;
|
|
98
|
-
|
|
99
71
|
setScrollLeft(((_a = scrollBodyElementRef === null || scrollBodyElementRef === void 0 ? void 0 : scrollBodyElementRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) || 0);
|
|
100
72
|
onTableBodyScroll(evt);
|
|
101
73
|
}, [scrollBodyElementRef, onTableBodyScroll]);
|
|
102
|
-
|
|
103
74
|
if (virtual) {
|
|
104
75
|
// TODO: avg和summay row的逻辑
|
|
105
76
|
var realHeight = (_a = scrollBodyElementRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height;
|
|
106
77
|
var vMaxHeight = maxHeight ? !isNaN(Number(String(maxHeight).replace(/px/, ''))) ? Number(maxHeight) : realHeight : 300;
|
|
107
|
-
return /*#__PURE__*/
|
|
78
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
108
79
|
ref: scrollBodyElementRef,
|
|
109
80
|
className: cls,
|
|
110
81
|
onScroll: onVirtualContainerScroll,
|
|
@@ -114,37 +85,38 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
114
85
|
// 表格宽度大于div宽度才出现横向滚动条
|
|
115
86
|
overflowX: canScroll ? 'scroll' : undefined
|
|
116
87
|
}
|
|
117
|
-
}, /*#__PURE__*/
|
|
88
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
118
89
|
ref: measureRowElementRef,
|
|
119
90
|
style: {
|
|
120
91
|
height: 1,
|
|
121
92
|
background: 'transparent'
|
|
122
93
|
}
|
|
123
|
-
}), /*#__PURE__*/
|
|
94
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
124
95
|
ref: bodyTableRef,
|
|
125
96
|
style: {
|
|
126
97
|
height: 1,
|
|
127
98
|
background: 'transparent',
|
|
128
99
|
width: rowWidth
|
|
129
100
|
}
|
|
130
|
-
}), typeAssertion.isArrayNonEmpty(transitionData) ? /*#__PURE__*/
|
|
101
|
+
}), typeAssertion.isArrayNonEmpty(transitionData) ? /*#__PURE__*/React.createElement("div", {
|
|
131
102
|
style: {
|
|
132
103
|
width: '100%',
|
|
133
104
|
position: 'sticky',
|
|
134
105
|
left: 0
|
|
135
106
|
}
|
|
136
|
-
}, /*#__PURE__*/
|
|
107
|
+
}, /*#__PURE__*/React.createElement(List["default"], {
|
|
137
108
|
data: transitionData,
|
|
138
109
|
height: vMaxHeight,
|
|
139
110
|
itemHeight: 10,
|
|
140
111
|
itemKey: "id",
|
|
141
112
|
children: function children(row, index) {
|
|
142
|
-
return /*#__PURE__*/
|
|
113
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
143
114
|
style: {
|
|
144
115
|
position: 'relative',
|
|
145
116
|
left: -scrollLeft
|
|
146
117
|
}
|
|
147
|
-
}, /*#__PURE__*/
|
|
118
|
+
}, /*#__PURE__*/React.createElement(TableRow.TableRow
|
|
119
|
+
// key={depth + index}
|
|
148
120
|
, Object.assign({
|
|
149
121
|
// key={depth + index}
|
|
150
122
|
key: row.id,
|
|
@@ -160,28 +132,25 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
160
132
|
}, scrollBodyElementRef.current ? {
|
|
161
133
|
scrollBodyWidth: window.getComputedStyle(scrollBodyElementRef.current).getPropertyValue('width')
|
|
162
134
|
} : {})));
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
135
|
+
}
|
|
136
|
+
var bodyContent = /*#__PURE__*/React.createElement("table", {
|
|
137
|
+
ref: bodyTableRef,
|
|
138
|
+
style: {
|
|
139
|
+
width: canScroll && scrollWidth !== undefined ? scrollWidth : '100%'
|
|
140
|
+
}
|
|
141
|
+
}, /*#__PURE__*/React.createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React.createElement(TbodyContent.TbodyContent, null));
|
|
142
|
+
var scrollBodyProps = {
|
|
167
143
|
ref: scrollBodyElementRef,
|
|
168
144
|
className: cls,
|
|
169
145
|
onScroll: onTableBodyScroll,
|
|
170
146
|
style: {
|
|
171
|
-
maxHeight: maxHeight
|
|
172
|
-
// 表格宽度大于div宽度才出现横向滚动条
|
|
173
|
-
overflowX: canScroll ? 'scroll' : undefined
|
|
147
|
+
maxHeight: maxHeight
|
|
174
148
|
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
width: canScroll && scrollWidth !== undefined ? scrollWidth : '100%'
|
|
179
|
-
}
|
|
180
|
-
}, /*#__PURE__*/React__default["default"].createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React__default["default"].createElement(TbodyContent.TbodyContent, null)));
|
|
149
|
+
};
|
|
150
|
+
// 外层增加 div 作为滚动容器
|
|
151
|
+
return !scrollbar ? /*#__PURE__*/React.createElement("div", Object.assign({}, scrollBodyProps), bodyContent) : /*#__PURE__*/React.createElement(Scrollbar.Scrollbar, Object.assign({}, scrollBodyProps, typeAssertion.isObject(scrollbar) ? scrollbar : null), bodyContent);
|
|
181
152
|
});
|
|
182
|
-
|
|
183
153
|
if (env.__DEV__) {
|
|
184
154
|
TableBody.displayName = 'TableBody';
|
|
185
155
|
}
|
|
186
|
-
|
|
187
156
|
exports.TableBody = TableBody;
|
package/lib/cjs/TableCell.js
CHANGED
|
@@ -9,106 +9,74 @@
|
|
|
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 arrayUtils = require('@hi-ui/array-utils');
|
|
25
|
-
|
|
26
16
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
27
|
-
|
|
28
17
|
var iconButton = require('@hi-ui/icon-button');
|
|
29
|
-
|
|
30
18
|
var context = require('./context.js');
|
|
31
|
-
|
|
32
19
|
var index = require('./icons/index.js');
|
|
33
|
-
|
|
34
20
|
var BaseTable = require('./BaseTable.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-cell');
|
|
45
22
|
/**
|
|
46
23
|
* 表格 body 单元格渲染
|
|
47
24
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
25
|
var TableCell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
51
26
|
var _ref$prefixCls = _ref.prefixCls,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
27
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
28
|
+
className = _ref.className,
|
|
29
|
+
column = _ref.column,
|
|
30
|
+
rowData = _ref.rowData,
|
|
31
|
+
rowIndex = _ref.rowIndex,
|
|
32
|
+
colIndex = _ref.colIndex,
|
|
33
|
+
_ref$isSwitcherCol = _ref.isSwitcherCol,
|
|
34
|
+
isSwitcherCol = _ref$isSwitcherCol === void 0 ? false : _ref$isSwitcherCol,
|
|
35
|
+
_ref$expandedTree = _ref.expandedTree,
|
|
36
|
+
expandedTree = _ref$expandedTree === void 0 ? false : _ref$expandedTree,
|
|
37
|
+
_ref$expandedIcon = _ref.expandedIcon,
|
|
38
|
+
expandedIcon = _ref$expandedIcon === void 0 ? index.defaultExpandIcon : _ref$expandedIcon,
|
|
39
|
+
_ref$collapsedIcon = _ref.collapsedIcon,
|
|
40
|
+
collapsedIcon = _ref$collapsedIcon === void 0 ? index.defaultCollapseIcon : _ref$collapsedIcon,
|
|
41
|
+
_ref$leafIcon = _ref.leafIcon,
|
|
42
|
+
leafIcon = _ref$leafIcon === void 0 ? index.defaultLeafIcon : _ref$leafIcon;
|
|
69
43
|
var _useTableContext = context.useTableContext(),
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
44
|
+
isHighlightedCol = _useTableContext.isHighlightedCol,
|
|
45
|
+
onLoadChildren = _useTableContext.onLoadChildren,
|
|
46
|
+
isHoveredHighlightCol = _useTableContext.isHoveredHighlightCol,
|
|
47
|
+
showColHighlight = _useTableContext.showColHighlight,
|
|
48
|
+
onHoveredColChange = _useTableContext.onHoveredColChange,
|
|
49
|
+
onTreeNodeSwitch = _useTableContext.onTreeNodeSwitch,
|
|
50
|
+
getStickyColProps = _useTableContext.getStickyColProps,
|
|
51
|
+
canScroll = _useTableContext.canScroll,
|
|
52
|
+
isTree = _useTableContext.isTree,
|
|
53
|
+
cellRender = _useTableContext.cellRender,
|
|
54
|
+
isLoadingTreeNodeId = _useTableContext.isLoadingTreeNodeId,
|
|
55
|
+
colWidths = _useTableContext.colWidths,
|
|
56
|
+
virtual = _useTableContext.virtual;
|
|
84
57
|
var dataKey = column.id,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
58
|
+
leftStickyWidth = column.leftStickyWidth,
|
|
59
|
+
rightStickyWidth = column.rightStickyWidth,
|
|
60
|
+
rawRender = column.render,
|
|
61
|
+
raw = column.raw;
|
|
89
62
|
var depth = rowData.depth,
|
|
90
|
-
|
|
63
|
+
rowId = rowData.id;
|
|
91
64
|
/**
|
|
92
65
|
* normalize 单元格渲染内容,支持自定义 render
|
|
93
66
|
*/
|
|
94
|
-
|
|
95
|
-
var cellContent = React__default["default"].useMemo(function () {
|
|
67
|
+
var cellContent = React.useMemo(function () {
|
|
96
68
|
var row = rowData.raw;
|
|
97
69
|
var content = row[dataKey];
|
|
98
|
-
|
|
99
70
|
if (typeAssertion.isFunction(rawRender)) {
|
|
100
71
|
content = rawRender(content, BaseTable.EMBED_DATA_KEY === dataKey ? rowData : row, rowIndex, dataKey);
|
|
101
72
|
} else if (typeAssertion.isFunction(cellRender)) {
|
|
102
73
|
content = cellRender(content);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
var childrenMaybePropsReturn = typeAssertion.isObject(content) && ! /*#__PURE__*/React__default["default"].isValidElement(content);
|
|
107
|
-
|
|
74
|
+
}
|
|
75
|
+
// 处理单元格内容,重载支持配置式合并单元格
|
|
76
|
+
var childrenMaybePropsReturn = typeAssertion.isObject(content) && ! /*#__PURE__*/React.isValidElement(content);
|
|
108
77
|
if (childrenMaybePropsReturn) {
|
|
109
78
|
return content;
|
|
110
79
|
}
|
|
111
|
-
|
|
112
80
|
return {
|
|
113
81
|
children: content,
|
|
114
82
|
props: {
|
|
@@ -116,20 +84,18 @@ var TableCell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
116
84
|
rowSpan: undefined
|
|
117
85
|
}
|
|
118
86
|
};
|
|
119
|
-
}, [rawRender, dataKey, rowData, rowIndex, cellRender]);
|
|
120
|
-
|
|
87
|
+
}, [rawRender, dataKey, rowData, rowIndex, cellRender]);
|
|
88
|
+
// 将被其它单元格(用户配置)合并,不进行渲染
|
|
121
89
|
if (cellContent.props.colSpan === 0 || cellContent.props.rowSpan === 0) {
|
|
122
90
|
return null;
|
|
123
91
|
}
|
|
124
|
-
|
|
125
92
|
var loading = isLoadingTreeNodeId(rowId);
|
|
126
93
|
var sticky = typeof rightStickyWidth !== 'undefined' || typeof leftStickyWidth !== 'undefined';
|
|
127
94
|
var cls = classname.cx(prefixCls, className, raw.className, canScroll && sticky && prefixCls + "__col--sticky", isHighlightedCol(dataKey) && prefixCls + "__col--highlight", isHoveredHighlightCol(dataKey) && prefixCls + "__col--hovered-highlight");
|
|
128
|
-
|
|
129
95
|
if (virtual) {
|
|
130
96
|
var width = colWidths[colIndex];
|
|
131
97
|
var colProps = getStickyColProps(column);
|
|
132
|
-
return /*#__PURE__*/
|
|
98
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
133
99
|
ref: ref,
|
|
134
100
|
key: dataKey,
|
|
135
101
|
className: cls
|
|
@@ -162,8 +128,7 @@ var TableCell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
162
128
|
}
|
|
163
129
|
}) : null, cellContent.children);
|
|
164
130
|
}
|
|
165
|
-
|
|
166
|
-
return /*#__PURE__*/React__default["default"].createElement("td", Object.assign({
|
|
131
|
+
return /*#__PURE__*/React.createElement("td", Object.assign({
|
|
167
132
|
ref: ref,
|
|
168
133
|
key: dataKey,
|
|
169
134
|
className: cls
|
|
@@ -195,20 +160,17 @@ var TableCell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
195
160
|
}
|
|
196
161
|
}) : null, cellContent.children);
|
|
197
162
|
});
|
|
198
|
-
|
|
199
163
|
if (env.__DEV__) {
|
|
200
164
|
TableCell.displayName = 'TableCell';
|
|
201
165
|
}
|
|
202
166
|
/**
|
|
203
167
|
* 渲染空白占位
|
|
204
168
|
*/
|
|
205
|
-
|
|
206
|
-
|
|
207
169
|
var renderIndent = function renderIndent(_ref2) {
|
|
208
170
|
var prefixCls = _ref2.prefixCls,
|
|
209
|
-
|
|
171
|
+
depth = _ref2.depth;
|
|
210
172
|
return arrayUtils.times(depth, function (index) {
|
|
211
|
-
return /*#__PURE__*/
|
|
173
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
212
174
|
className: prefixCls + "__indent",
|
|
213
175
|
key: index
|
|
214
176
|
});
|
|
@@ -217,32 +179,27 @@ var renderIndent = function renderIndent(_ref2) {
|
|
|
217
179
|
/**
|
|
218
180
|
* 渲染子树折叠切换器
|
|
219
181
|
*/
|
|
220
|
-
|
|
221
|
-
|
|
222
182
|
var renderSwitcher = function renderSwitcher(_ref3) {
|
|
223
183
|
var prefixCls = _ref3.prefixCls,
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
184
|
+
node = _ref3.node,
|
|
185
|
+
loading = _ref3.loading,
|
|
186
|
+
expanded = _ref3.expanded,
|
|
187
|
+
expandedIcon = _ref3.expandedIcon,
|
|
188
|
+
collapsedIcon = _ref3.collapsedIcon,
|
|
189
|
+
leafIcon = _ref3.leafIcon,
|
|
190
|
+
onNodeExpand = _ref3.onNodeExpand,
|
|
191
|
+
onLoadChildren = _ref3.onLoadChildren,
|
|
192
|
+
isTree = _ref3.isTree;
|
|
234
193
|
if (loading) {
|
|
235
|
-
return /*#__PURE__*/
|
|
194
|
+
return /*#__PURE__*/React.createElement(iconButton.IconButton, {
|
|
236
195
|
className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--loading"),
|
|
237
196
|
icon: index.defaultLoadingIcon
|
|
238
197
|
});
|
|
239
198
|
}
|
|
240
|
-
|
|
241
199
|
var hasChildren = node.children && node.children.length > 0;
|
|
242
200
|
var canLoadChildren = onLoadChildren && !node.children && !node.isLeaf;
|
|
243
|
-
|
|
244
201
|
if (hasChildren || canLoadChildren) {
|
|
245
|
-
return /*#__PURE__*/
|
|
202
|
+
return /*#__PURE__*/React.createElement(iconButton.IconButton, {
|
|
246
203
|
tabIndex: -1,
|
|
247
204
|
className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--" + (expanded ? 'expanded' : 'collapse')),
|
|
248
205
|
icon: expanded ? expandedIcon : collapsedIcon,
|
|
@@ -252,16 +209,13 @@ var renderSwitcher = function renderSwitcher(_ref3) {
|
|
|
252
209
|
}
|
|
253
210
|
});
|
|
254
211
|
}
|
|
255
|
-
|
|
256
212
|
if (isTree) {
|
|
257
|
-
return /*#__PURE__*/
|
|
213
|
+
return /*#__PURE__*/React.createElement(iconButton.IconButton, {
|
|
258
214
|
tabIndex: -1,
|
|
259
215
|
className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--noop"),
|
|
260
216
|
icon: leafIcon
|
|
261
217
|
});
|
|
262
218
|
}
|
|
263
|
-
|
|
264
219
|
return null;
|
|
265
220
|
};
|
|
266
|
-
|
|
267
221
|
exports.TableCell = TableCell;
|