@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/TableBody.js
CHANGED
|
@@ -9,88 +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
|
-
|
|
30
18
|
require('./packages/ui/scrollbar/lib/esm/styles/index.scss.js');
|
|
31
|
-
|
|
32
19
|
var Scrollbar = require('./packages/ui/scrollbar/lib/esm/Scrollbar.js');
|
|
33
|
-
|
|
34
20
|
var TableRow = require('./TableRow.js');
|
|
35
|
-
|
|
36
21
|
var context = require('./context.js');
|
|
37
|
-
|
|
38
22
|
var ColGroupContent = require('./ColGroupContent.js');
|
|
39
|
-
|
|
40
23
|
var TbodyContent = require('./TbodyContent.js');
|
|
41
|
-
|
|
42
|
-
function _interopDefaultLegacy(e) {
|
|
43
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
44
|
-
'default': e
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
49
|
-
|
|
50
24
|
var _role = 'table';
|
|
51
|
-
|
|
52
25
|
var _prefix = classname.getPrefixCls(_role);
|
|
53
|
-
|
|
54
26
|
var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
55
27
|
var _ref$prefixCls = _ref.prefixCls,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
28
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
29
|
+
emptyContent = _ref.emptyContent;
|
|
59
30
|
var _a;
|
|
60
|
-
|
|
61
31
|
var _useTableContext = context.useTableContext(),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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;
|
|
77
46
|
var cls = classname.cx(prefixCls + "-body");
|
|
78
47
|
var getRequiredProps = useLatest.useLatestCallback(function (id) {
|
|
79
48
|
return {
|
|
80
49
|
// @ts-ignore
|
|
81
|
-
expandedTree: isExpandTreeRows(id)
|
|
50
|
+
expandedTree: isExpandTreeRows(id)
|
|
51
|
+
// checked: isCheckedId(id),
|
|
82
52
|
// semiChecked: isSemiCheckedId(id),
|
|
83
53
|
// selected: selectedId === id,
|
|
84
54
|
// loading: isLoadingId(id),
|
|
85
55
|
// focused: focusedId === id,
|
|
86
|
-
|
|
87
56
|
};
|
|
88
57
|
});
|
|
89
58
|
|
|
90
59
|
var _useState = React.useState(0),
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
60
|
+
scrollLeft = _useState[0],
|
|
61
|
+
setScrollLeft = _useState[1];
|
|
94
62
|
var rowWidth = React.useMemo(function () {
|
|
95
63
|
var tmpWidth = 0;
|
|
96
64
|
colWidths.forEach(function (width) {
|
|
@@ -100,16 +68,14 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
100
68
|
}, [colWidths]);
|
|
101
69
|
var onVirtualContainerScroll = React.useCallback(function (evt) {
|
|
102
70
|
var _a;
|
|
103
|
-
|
|
104
71
|
setScrollLeft(((_a = scrollBodyElementRef === null || scrollBodyElementRef === void 0 ? void 0 : scrollBodyElementRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) || 0);
|
|
105
72
|
onTableBodyScroll(evt);
|
|
106
73
|
}, [scrollBodyElementRef, onTableBodyScroll]);
|
|
107
|
-
|
|
108
74
|
if (virtual) {
|
|
109
75
|
// TODO: avg和summay row的逻辑
|
|
110
76
|
var realHeight = (_a = scrollBodyElementRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height;
|
|
111
77
|
var vMaxHeight = maxHeight ? !isNaN(Number(String(maxHeight).replace(/px/, ''))) ? Number(maxHeight) : realHeight : 300;
|
|
112
|
-
return /*#__PURE__*/
|
|
78
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
113
79
|
ref: scrollBodyElementRef,
|
|
114
80
|
className: cls,
|
|
115
81
|
onScroll: onVirtualContainerScroll,
|
|
@@ -119,37 +85,38 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
119
85
|
// 表格宽度大于div宽度才出现横向滚动条
|
|
120
86
|
overflowX: canScroll ? 'scroll' : undefined
|
|
121
87
|
}
|
|
122
|
-
}, /*#__PURE__*/
|
|
88
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
123
89
|
ref: measureRowElementRef,
|
|
124
90
|
style: {
|
|
125
91
|
height: 1,
|
|
126
92
|
background: 'transparent'
|
|
127
93
|
}
|
|
128
|
-
}), /*#__PURE__*/
|
|
94
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
129
95
|
ref: bodyTableRef,
|
|
130
96
|
style: {
|
|
131
97
|
height: 1,
|
|
132
98
|
background: 'transparent',
|
|
133
99
|
width: rowWidth
|
|
134
100
|
}
|
|
135
|
-
}), typeAssertion.isArrayNonEmpty(transitionData) ? /*#__PURE__*/
|
|
101
|
+
}), typeAssertion.isArrayNonEmpty(transitionData) ? /*#__PURE__*/React.createElement("div", {
|
|
136
102
|
style: {
|
|
137
103
|
width: '100%',
|
|
138
104
|
position: 'sticky',
|
|
139
105
|
left: 0
|
|
140
106
|
}
|
|
141
|
-
}, /*#__PURE__*/
|
|
107
|
+
}, /*#__PURE__*/React.createElement(List["default"], {
|
|
142
108
|
data: transitionData,
|
|
143
109
|
height: vMaxHeight,
|
|
144
110
|
itemHeight: 10,
|
|
145
111
|
itemKey: "id",
|
|
146
112
|
children: function children(row, index) {
|
|
147
|
-
return /*#__PURE__*/
|
|
113
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
148
114
|
style: {
|
|
149
115
|
position: 'relative',
|
|
150
116
|
left: -scrollLeft
|
|
151
117
|
}
|
|
152
|
-
}, /*#__PURE__*/
|
|
118
|
+
}, /*#__PURE__*/React.createElement(TableRow.TableRow
|
|
119
|
+
// key={depth + index}
|
|
153
120
|
, Object.assign({
|
|
154
121
|
// key={depth + index}
|
|
155
122
|
key: row.id,
|
|
@@ -166,13 +133,12 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
166
133
|
scrollBodyWidth: window.getComputedStyle(scrollBodyElementRef.current).getPropertyValue('width')
|
|
167
134
|
} : {})));
|
|
168
135
|
}
|
|
169
|
-
|
|
170
|
-
var bodyContent = /*#__PURE__*/React__default["default"].createElement("table", {
|
|
136
|
+
var bodyContent = /*#__PURE__*/React.createElement("table", {
|
|
171
137
|
ref: bodyTableRef,
|
|
172
138
|
style: {
|
|
173
139
|
width: canScroll && scrollWidth !== undefined ? scrollWidth : '100%'
|
|
174
140
|
}
|
|
175
|
-
}, /*#__PURE__*/
|
|
141
|
+
}, /*#__PURE__*/React.createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React.createElement(TbodyContent.TbodyContent, null));
|
|
176
142
|
var scrollBodyProps = {
|
|
177
143
|
ref: scrollBodyElementRef,
|
|
178
144
|
className: cls,
|
|
@@ -180,13 +146,11 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
180
146
|
style: {
|
|
181
147
|
maxHeight: maxHeight
|
|
182
148
|
}
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
return !scrollbar ? /*#__PURE__*/
|
|
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);
|
|
186
152
|
});
|
|
187
|
-
|
|
188
153
|
if (env.__DEV__) {
|
|
189
154
|
TableBody.displayName = 'TableBody';
|
|
190
155
|
}
|
|
191
|
-
|
|
192
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;
|
|
@@ -9,98 +9,66 @@
|
|
|
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 icons = require('@hi-ui/icons');
|
|
25
|
-
|
|
26
16
|
var iconButton = require('@hi-ui/icon-button');
|
|
27
|
-
|
|
28
17
|
var Popper = require('@hi-ui/popper');
|
|
29
|
-
|
|
30
18
|
var useToggle = require('@hi-ui/use-toggle');
|
|
31
|
-
|
|
32
19
|
var context = require('./context.js');
|
|
33
|
-
|
|
34
20
|
var core = require('@hi-ui/core');
|
|
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
|
-
var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
|
|
45
|
-
|
|
46
21
|
var _prefix = classname.getPrefixCls('table-column-menu');
|
|
47
22
|
/**
|
|
48
23
|
* 表头每列下拉式菜单,包含冻结、高亮、递增、递减操作
|
|
49
24
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
25
|
var TableColumnMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
53
26
|
var _ref$prefixCls = _ref.prefixCls,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
27
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
28
|
+
column = _ref.column,
|
|
29
|
+
onOpen = _ref.onOpen,
|
|
30
|
+
onClose = _ref.onClose;
|
|
58
31
|
var i18n = core.useLocaleContext();
|
|
59
|
-
|
|
60
32
|
var _useTableContext = context.useTableContext(),
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
33
|
+
activeSorterType = _useTableContext.activeSorterType,
|
|
34
|
+
activeSorterColumn = _useTableContext.activeSorterColumn,
|
|
35
|
+
setActiveSorterType = _useTableContext.setActiveSorterType,
|
|
36
|
+
setActiveSorterColumn = _useTableContext.setActiveSorterColumn,
|
|
37
|
+
leftFreezeColumn = _useTableContext.leftFreezeColumn,
|
|
38
|
+
setLeftFreezeColumn = _useTableContext.setLeftFreezeColumn,
|
|
39
|
+
isHighlightedCol = _useTableContext.isHighlightedCol,
|
|
40
|
+
onHighlightedColChange = _useTableContext.onHighlightedColChange;
|
|
70
41
|
var dataKey = column.id,
|
|
71
|
-
|
|
42
|
+
columnRaw = column.raw;
|
|
72
43
|
var canSort = !!columnRaw.sorter;
|
|
73
|
-
|
|
74
44
|
var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(iconButton.IconButton, {
|
|
45
|
+
onOpen: onOpen,
|
|
46
|
+
onClose: onClose
|
|
47
|
+
}),
|
|
48
|
+
menuVisible = _useUncontrolledToggl[0],
|
|
49
|
+
menuVisibleAction = _useUncontrolledToggl[1];
|
|
50
|
+
var _React$useState = React.useState(null),
|
|
51
|
+
menuTrigger = _React$useState[0],
|
|
52
|
+
setMenuTrigger = _React$useState[1];
|
|
53
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(iconButton.IconButton, {
|
|
86
54
|
className: prefixCls + "__trigger",
|
|
87
55
|
ref: setMenuTrigger,
|
|
88
56
|
onClick: menuVisibleAction.not,
|
|
89
|
-
icon: /*#__PURE__*/
|
|
90
|
-
}), /*#__PURE__*/
|
|
57
|
+
icon: /*#__PURE__*/React.createElement(icons.DownOutlined, null)
|
|
58
|
+
}), /*#__PURE__*/React.createElement(Popper, {
|
|
91
59
|
className: prefixCls + "__popper",
|
|
92
60
|
visible: menuVisible,
|
|
93
61
|
attachEl: menuTrigger,
|
|
94
62
|
onClose: menuVisibleAction.off,
|
|
95
63
|
// @DesignToken zIndex: `overlay`
|
|
96
64
|
zIndex: 1050
|
|
97
|
-
}, /*#__PURE__*/
|
|
65
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
98
66
|
className: prefixCls + "__content"
|
|
99
|
-
}, canSort ? /*#__PURE__*/
|
|
67
|
+
}, canSort ? /*#__PURE__*/React.createElement(TableColumnMenuItem, {
|
|
100
68
|
prefixCls: prefixCls,
|
|
101
69
|
active: activeSorterType === 'ascend' && activeSorterColumn === dataKey,
|
|
102
70
|
content: i18n.get('table.ascend'),
|
|
103
|
-
icon: /*#__PURE__*/
|
|
71
|
+
icon: /*#__PURE__*/React.createElement(icons.SortAscendingOutlined, null),
|
|
104
72
|
onSwitch: function onSwitch(shouldActive) {
|
|
105
73
|
if (shouldActive) {
|
|
106
74
|
setActiveSorterType('ascend');
|
|
@@ -109,14 +77,13 @@ var TableColumnMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
109
77
|
setActiveSorterType(null);
|
|
110
78
|
setActiveSorterColumn(null);
|
|
111
79
|
}
|
|
112
|
-
|
|
113
80
|
menuVisibleAction.off();
|
|
114
81
|
}
|
|
115
|
-
}) : null, canSort ? /*#__PURE__*/
|
|
82
|
+
}) : null, canSort ? /*#__PURE__*/React.createElement(TableColumnMenuItem, {
|
|
116
83
|
prefixCls: prefixCls,
|
|
117
84
|
active: activeSorterType === 'descend' && activeSorterColumn === dataKey,
|
|
118
85
|
content: i18n.get('table.descend'),
|
|
119
|
-
icon: /*#__PURE__*/
|
|
86
|
+
icon: /*#__PURE__*/React.createElement(icons.SortDescendingOutlined, null),
|
|
120
87
|
onSwitch: function onSwitch(shouldActive) {
|
|
121
88
|
if (shouldActive) {
|
|
122
89
|
setActiveSorterType('descend');
|
|
@@ -125,52 +92,47 @@ var TableColumnMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
125
92
|
setActiveSorterType(null);
|
|
126
93
|
setActiveSorterColumn(null);
|
|
127
94
|
}
|
|
128
|
-
|
|
129
95
|
menuVisibleAction.off();
|
|
130
96
|
}
|
|
131
|
-
}) : null, /*#__PURE__*/
|
|
97
|
+
}) : null, /*#__PURE__*/React.createElement(TableColumnMenuItem, {
|
|
132
98
|
prefixCls: prefixCls,
|
|
133
99
|
active: isHighlightedCol(dataKey),
|
|
134
100
|
content: i18n.get('table.highlight'),
|
|
135
|
-
icon: /*#__PURE__*/
|
|
101
|
+
icon: /*#__PURE__*/React.createElement(icons.ColumnHeightOutlined, null),
|
|
136
102
|
onSwitch: function onSwitch(shouldActive) {
|
|
137
103
|
onHighlightedColChange(column, shouldActive);
|
|
138
104
|
menuVisibleAction.off();
|
|
139
105
|
}
|
|
140
|
-
}), /*#__PURE__*/
|
|
106
|
+
}), /*#__PURE__*/React.createElement(TableColumnMenuItem, {
|
|
141
107
|
prefixCls: prefixCls,
|
|
142
108
|
active: leftFreezeColumn === dataKey,
|
|
143
109
|
content: i18n.get('table.freeze'),
|
|
144
|
-
icon: /*#__PURE__*/
|
|
110
|
+
icon: /*#__PURE__*/React.createElement(icons.LockOutlined, null),
|
|
145
111
|
onSwitch: function onSwitch(shouldActive) {
|
|
146
112
|
if (shouldActive) {
|
|
147
113
|
setLeftFreezeColumn(dataKey);
|
|
148
114
|
} else {
|
|
149
115
|
setLeftFreezeColumn('');
|
|
150
116
|
}
|
|
151
|
-
|
|
152
117
|
menuVisibleAction.off();
|
|
153
118
|
}
|
|
154
119
|
}))));
|
|
155
120
|
});
|
|
156
|
-
|
|
157
121
|
if (env.__DEV__) {
|
|
158
122
|
TableColumnMenu.displayName = 'TableColumnMenu';
|
|
159
123
|
}
|
|
160
|
-
|
|
161
124
|
var TableColumnMenuItem = function TableColumnMenuItem(_ref2) {
|
|
162
125
|
var prefixCls = _ref2.prefixCls,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
return /*#__PURE__*/
|
|
126
|
+
active = _ref2.active,
|
|
127
|
+
onSwitch = _ref2.onSwitch,
|
|
128
|
+
content = _ref2.content,
|
|
129
|
+
icon = _ref2.icon;
|
|
130
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
168
131
|
className: classname.cx(prefixCls + "__item", active && prefixCls + "__item--active"),
|
|
169
132
|
onClick: function onClick() {
|
|
170
133
|
return onSwitch(!active);
|
|
171
134
|
}
|
|
172
|
-
}, /*#__PURE__*/
|
|
135
|
+
}, /*#__PURE__*/React.createElement("span", null, content), icon);
|
|
173
136
|
};
|
|
174
|
-
|
|
175
137
|
exports.TableColumnMenu = TableColumnMenu;
|
|
176
138
|
exports.TableColumnMenuItem = TableColumnMenuItem;
|