@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.
Files changed (137) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/lib/cjs/BaseTable.js +136 -189
  3. package/lib/cjs/ColGroupContent.js +5 -28
  4. package/lib/cjs/SettingDrawer.js +76 -127
  5. package/lib/cjs/Table.js +107 -171
  6. package/lib/cjs/TableAdvancedFilter.js +49 -85
  7. package/lib/cjs/TableBody.js +33 -69
  8. package/lib/cjs/TableCell.js +56 -102
  9. package/lib/cjs/TableColumnMenu.js +39 -77
  10. package/lib/cjs/TableEmbedRow.js +11 -38
  11. package/lib/cjs/TableHeader.js +8 -33
  12. package/lib/cjs/TableRow.js +48 -88
  13. package/lib/cjs/TableSettingMenu.js +48 -94
  14. package/lib/cjs/TbodyContent.js +28 -56
  15. package/lib/cjs/TheadContent.js +20 -49
  16. package/lib/cjs/_virtual/index.js +0 -3
  17. package/lib/cjs/_virtual/index2.js +0 -3
  18. package/lib/cjs/_virtual/react-is.development.js +0 -3
  19. package/lib/cjs/_virtual/react-is.production.min.js +0 -3
  20. package/lib/cjs/context.js +0 -9
  21. package/lib/cjs/hooks/use-async-switch.js +13 -51
  22. package/lib/cjs/hooks/use-check.js +47 -77
  23. package/lib/cjs/hooks/use-col-hidden.js +16 -28
  24. package/lib/cjs/hooks/use-col-set.js +5 -18
  25. package/lib/cjs/hooks/use-col-sorter.js +18 -32
  26. package/lib/cjs/hooks/use-col-width.js +21 -57
  27. package/lib/cjs/hooks/use-colgroup.js +63 -85
  28. package/lib/cjs/hooks/use-drag.js +10 -31
  29. package/lib/cjs/hooks/use-embed-expand.js +23 -68
  30. package/lib/cjs/hooks/use-expand.js +32 -64
  31. package/lib/cjs/hooks/use-pagination.js +19 -50
  32. package/lib/cjs/hooks/use-queue.js +2 -14
  33. package/lib/cjs/icons/index.js +4 -21
  34. package/lib/cjs/index.js +0 -4
  35. package/lib/cjs/node_modules/classnames/index.js +2 -11
  36. package/lib/cjs/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js +31 -227
  37. package/lib/cjs/node_modules/rc-resize-observer/es/index.js +10 -68
  38. package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +1 -17
  39. package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +1 -14
  40. package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +1 -25
  41. package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +1 -5
  42. package/lib/cjs/node_modules/rc-util/es/Dom/canUseDom.js +0 -2
  43. package/lib/cjs/node_modules/rc-util/es/Dom/findDOMNode.js +1 -14
  44. package/lib/cjs/node_modules/rc-util/es/hooks/useLayoutEffect.js +2 -9
  45. package/lib/cjs/node_modules/rc-util/es/raf.js +0 -11
  46. package/lib/cjs/node_modules/rc-virtual-list/es/Filler.js +6 -25
  47. package/lib/cjs/node_modules/rc-virtual-list/es/Item.js +3 -14
  48. package/lib/cjs/node_modules/rc-virtual-list/es/List.js +103 -194
  49. package/lib/cjs/node_modules/rc-virtual-list/es/ScrollBar.js +16 -96
  50. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useChildren.js +2 -11
  51. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +8 -34
  52. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +0 -10
  53. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useHeights.js +6 -39
  54. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +0 -16
  55. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +4 -9
  56. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +3 -28
  57. package/lib/cjs/node_modules/rc-virtual-list/es/index.js +0 -2
  58. package/lib/cjs/node_modules/rc-virtual-list/es/utils/CacheMap.js +2 -9
  59. package/lib/cjs/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +0 -15
  60. package/lib/cjs/node_modules/rc-virtual-list/es/utils/isFirefox.js +0 -2
  61. package/lib/cjs/node_modules/react-is/cjs/react-is.development.js +3 -29
  62. package/lib/cjs/node_modules/react-is/cjs/react-is.production.min.js +19 -45
  63. package/lib/cjs/node_modules/react-is/index.js +0 -5
  64. package/lib/cjs/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +83 -248
  65. package/lib/cjs/packages/hooks/use-merge-refs/lib/esm/index.js +3 -14
  66. package/lib/cjs/packages/ui/scrollbar/lib/esm/Scrollbar.js +48 -86
  67. package/lib/cjs/packages/ui/scrollbar/lib/esm/styles/index.scss.js +1 -15
  68. package/lib/cjs/packages/ui/scrollbar/lib/esm/utils/index.js +0 -13
  69. package/lib/cjs/styles/index.scss.js +1 -4
  70. package/lib/cjs/use-table.js +268 -355
  71. package/lib/cjs/utils/index.js +11 -45
  72. package/lib/esm/BaseTable.js +117 -138
  73. package/lib/esm/ColGroupContent.js +3 -9
  74. package/lib/esm/SettingDrawer.js +64 -83
  75. package/lib/esm/Table.js +97 -124
  76. package/lib/esm/TableAdvancedFilter.js +37 -47
  77. package/lib/esm/TableBody.js +24 -34
  78. package/lib/esm/TableCell.js +48 -72
  79. package/lib/esm/TableColumnMenu.js +24 -38
  80. package/lib/esm/TableEmbedRow.js +8 -15
  81. package/lib/esm/TableHeader.js +5 -11
  82. package/lib/esm/TableRow.js +36 -51
  83. package/lib/esm/TableSettingMenu.js +33 -49
  84. package/lib/esm/TbodyContent.js +20 -27
  85. package/lib/esm/TheadContent.js +14 -21
  86. package/lib/esm/context.js +0 -4
  87. package/lib/esm/hooks/use-async-switch.js +9 -28
  88. package/lib/esm/hooks/use-check.js +42 -55
  89. package/lib/esm/hooks/use-col-hidden.js +16 -21
  90. package/lib/esm/hooks/use-col-set.js +5 -13
  91. package/lib/esm/hooks/use-col-sorter.js +18 -23
  92. package/lib/esm/hooks/use-col-width.js +14 -34
  93. package/lib/esm/hooks/use-colgroup.js +60 -66
  94. package/lib/esm/hooks/use-drag.js +9 -13
  95. package/lib/esm/hooks/use-embed-expand.js +20 -42
  96. package/lib/esm/hooks/use-expand.js +32 -56
  97. package/lib/esm/hooks/use-pagination.js +13 -25
  98. package/lib/esm/hooks/use-queue.js +2 -10
  99. package/lib/esm/node_modules/classnames/index.js +2 -9
  100. package/lib/esm/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js +31 -228
  101. package/lib/esm/node_modules/rc-resize-observer/es/index.js +3 -26
  102. package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +0 -3
  103. package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +1 -2
  104. package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +0 -8
  105. package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +0 -5
  106. package/lib/esm/node_modules/rc-util/es/Dom/canUseDom.js +0 -1
  107. package/lib/esm/node_modules/rc-util/es/Dom/findDOMNode.js +1 -2
  108. package/lib/esm/node_modules/rc-util/es/hooks/useLayoutEffect.js +1 -0
  109. package/lib/esm/node_modules/rc-util/es/raf.js +0 -10
  110. package/lib/esm/node_modules/rc-virtual-list/es/Filler.js +4 -15
  111. package/lib/esm/node_modules/rc-virtual-list/es/Item.js +1 -3
  112. package/lib/esm/node_modules/rc-virtual-list/es/List.js +101 -174
  113. package/lib/esm/node_modules/rc-virtual-list/es/ScrollBar.js +14 -86
  114. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useChildren.js +0 -2
  115. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +6 -25
  116. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +0 -6
  117. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useHeights.js +4 -28
  118. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +0 -13
  119. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +4 -8
  120. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +1 -19
  121. package/lib/esm/node_modules/rc-virtual-list/es/index.js +1 -1
  122. package/lib/esm/node_modules/rc-virtual-list/es/utils/CacheMap.js +2 -8
  123. package/lib/esm/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +1 -12
  124. package/lib/esm/node_modules/rc-virtual-list/es/utils/isFirefox.js +0 -1
  125. package/lib/esm/node_modules/react-is/cjs/react-is.development.js +4 -27
  126. package/lib/esm/node_modules/react-is/cjs/react-is.production.min.js +20 -44
  127. package/lib/esm/node_modules/react-is/index.js +0 -1
  128. package/lib/esm/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +82 -248
  129. package/lib/esm/packages/hooks/use-merge-refs/lib/esm/index.js +3 -9
  130. package/lib/esm/packages/ui/scrollbar/lib/esm/Scrollbar.js +47 -64
  131. package/lib/esm/packages/ui/scrollbar/lib/esm/styles/index.scss.js +1 -3
  132. package/lib/esm/packages/ui/scrollbar/lib/esm/utils/index.js +0 -10
  133. package/lib/esm/styles/index.scss.js +1 -3
  134. package/lib/esm/use-table.js +261 -318
  135. package/lib/esm/utils/index.js +11 -41
  136. package/lib/types/BaseTable.d.ts +2 -2
  137. package/package.json +33 -33
@@ -24,62 +24,56 @@ import { Drawer } from '@hi-ui/drawer';
24
24
  import { Button } from '@hi-ui/button';
25
25
  import { Checkbox } from '@hi-ui/checkbox';
26
26
  import { useColSet } from './hooks/use-col-set.js';
27
-
28
27
  var _prefix = getPrefixCls('setting');
29
28
  /**
30
29
  * 设置抽屉
31
30
  */
32
-
33
-
34
31
  var SettingDrawer = /*#__PURE__*/forwardRef(function (_ref, ref) {
35
32
  var _ref$prefixCls = _ref.prefixCls,
36
- prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
37
- className = _ref.className,
38
- visibleProp = _ref.visible,
39
- _onClose = _ref.onClose,
40
- _ref$columns = _ref.columns,
41
- columnsProp = _ref$columns === void 0 ? [] : _ref$columns,
42
- hiddenColKeysPropBeforeVerify = _ref.hiddenColKeys,
43
- onHiddenColKeysChange = _ref.onHiddenColKeysChange,
44
- sortedColKeysPropBeforeVerify = _ref.sortedColKeys,
45
- onSortedColKeysChange = _ref.onSortedColKeysChange,
46
- onSetColKeysChange = _ref.onSetColKeysChange,
47
- _ref$checkDisabledCol = _ref.checkDisabledColKeys,
48
- checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol,
49
- drawerProps = _ref.drawerProps;
50
- var i18n = useLocaleContext(); // 根据列字段合并 sortedColKeys、hiddenColKeys
51
-
33
+ prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
34
+ className = _ref.className,
35
+ visibleProp = _ref.visible,
36
+ _onClose = _ref.onClose,
37
+ _ref$columns = _ref.columns,
38
+ columnsProp = _ref$columns === void 0 ? [] : _ref$columns,
39
+ hiddenColKeysPropBeforeVerify = _ref.hiddenColKeys,
40
+ onHiddenColKeysChange = _ref.onHiddenColKeysChange,
41
+ sortedColKeysPropBeforeVerify = _ref.sortedColKeys,
42
+ onSortedColKeysChange = _ref.onSortedColKeysChange,
43
+ onSetColKeysChange = _ref.onSetColKeysChange,
44
+ _ref$checkDisabledCol = _ref.checkDisabledColKeys,
45
+ checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol,
46
+ drawerProps = _ref.drawerProps;
47
+ var i18n = useLocaleContext();
48
+ // 根据列字段合并 sortedColKeys、hiddenColKeys
52
49
  var _useColSet = useColSet({
53
- columns: columnsProp,
54
- sortedColKeys: sortedColKeysPropBeforeVerify,
55
- hiddenColKeys: hiddenColKeysPropBeforeVerify
56
- }),
57
- sortedColKeysProp = _useColSet.sortedColKeys,
58
- hiddenColKeysProp = _useColSet.hiddenColKeys; // 列排序
59
-
60
-
50
+ columns: columnsProp,
51
+ sortedColKeys: sortedColKeysPropBeforeVerify,
52
+ hiddenColKeys: hiddenColKeysPropBeforeVerify
53
+ }),
54
+ sortedColKeysProp = _useColSet.sortedColKeys,
55
+ hiddenColKeysProp = _useColSet.hiddenColKeys;
56
+ // 列排序
61
57
  var _useColSorter = useColSorter({
62
- columns: columnsProp,
63
- sortedColKeys: sortedColKeysProp,
64
- onSortedColKeysChange: onSortedColKeysChange
65
- }),
66
- sortedCols = _useColSorter.sortedCols,
67
- setSortColKeys = _useColSorter.setSortColKeys,
68
- cacheSortedCols = _useColSorter.cacheSortedCols,
69
- setCacheSortedCols = _useColSorter.setCacheSortedCols; // 列隐藏
70
-
71
-
58
+ columns: columnsProp,
59
+ sortedColKeys: sortedColKeysProp,
60
+ onSortedColKeysChange: onSortedColKeysChange
61
+ }),
62
+ sortedCols = _useColSorter.sortedCols,
63
+ setSortColKeys = _useColSorter.setSortColKeys,
64
+ cacheSortedCols = _useColSorter.cacheSortedCols,
65
+ setCacheSortedCols = _useColSorter.setCacheSortedCols;
66
+ // 列隐藏
72
67
  var _useColHidden = useColHidden({
73
- // 基于排序的 columns,隐藏的也能排序
74
- columns: sortedCols,
75
- hiddenColKeys: hiddenColKeysProp,
76
- onHiddenColKeysChange: onHiddenColKeysChange
77
- }),
78
- hiddenColKeys = _useColHidden.hiddenColKeys,
79
- setHiddenColKeys = _useColHidden.setHiddenColKeys,
80
- cacheHiddenColKeys = _useColHidden.cacheHiddenColKeys,
81
- setCacheHiddenColKeys = _useColHidden.setCacheHiddenColKeys;
82
-
68
+ // 基于排序的 columns,隐藏的也能排序
69
+ columns: sortedCols,
70
+ hiddenColKeys: hiddenColKeysProp,
71
+ onHiddenColKeysChange: onHiddenColKeysChange
72
+ }),
73
+ hiddenColKeys = _useColHidden.hiddenColKeys,
74
+ setHiddenColKeys = _useColHidden.setHiddenColKeys,
75
+ cacheHiddenColKeys = _useColHidden.cacheHiddenColKeys,
76
+ setCacheHiddenColKeys = _useColHidden.setCacheHiddenColKeys;
83
77
  var dropProps = useDrop({
84
78
  draggable: true,
85
79
  idFieldName: 'dataKey',
@@ -91,15 +85,12 @@ var SettingDrawer = /*#__PURE__*/forwardRef(function (_ref, ref) {
91
85
  case 0:
92
86
  setCacheSortedCols(function (prev) {
93
87
  var nextCacheSortCols = [].concat(prev);
94
-
95
88
  var _nextCacheSortCols$sp = nextCacheSortCols.splice(info.dragIndex, 1),
96
- removed = _nextCacheSortCols$sp[0];
97
-
89
+ removed = _nextCacheSortCols$sp[0];
98
90
  nextCacheSortCols.splice(info.dropIndex, 0, removed);
99
91
  return nextCacheSortCols;
100
92
  });
101
93
  return _context.abrupt("return", true);
102
-
103
94
  case 2:
104
95
  case "end":
105
96
  return _context.stop();
@@ -109,39 +100,34 @@ var SettingDrawer = /*#__PURE__*/forwardRef(function (_ref, ref) {
109
100
  }));
110
101
  }
111
102
  });
112
-
113
103
  var _useUncontrolledState = useUncontrolledState(false, visibleProp, _onClose),
114
- visible = _useUncontrolledState[0],
115
- setVisible = _useUncontrolledState[1];
116
-
104
+ visible = _useUncontrolledState[0],
105
+ setVisible = _useUncontrolledState[1];
117
106
  var resetLatest = useLatestCallback(function () {
118
107
  setCacheHiddenColKeys(hiddenColKeys);
119
108
  setCacheSortedCols(sortedCols);
120
- }); // 当 visible 由 false 变为 true 时触发
121
-
109
+ });
110
+ // 当 visible 由 false 变为 true 时触发
122
111
  var prevShowPopperRef = useRef(!visible);
123
112
  useEffect(function () {
124
113
  if (!prevShowPopperRef.current && visible) {
125
114
  resetLatest();
126
115
  }
127
-
128
116
  prevShowPopperRef.current = visible;
129
117
  }, [visible, resetLatest]);
130
-
131
118
  var onConfirm = function onConfirm() {
132
119
  var newSortKeys = cacheSortedCols.map(function (col) {
133
120
  return col.dataKey;
134
121
  });
135
122
  var visibleCols = cacheSortedCols.filter(function (col) {
136
123
  return !cacheHiddenColKeys.includes(col.dataKey);
137
- }); // 触发 table 更新列显隐及排序
138
-
124
+ });
125
+ // 触发 table 更新列显隐及排序
139
126
  setHiddenColKeys(cacheHiddenColKeys);
140
127
  setSortColKeys(newSortKeys);
141
128
  onSetColKeysChange === null || onSetColKeysChange === void 0 ? void 0 : onSetColKeysChange(newSortKeys, cacheHiddenColKeys, visibleCols);
142
129
  setVisible(false);
143
130
  };
144
-
145
131
  var cls = cx(prefixCls + "-drawer", className);
146
132
  return /*#__PURE__*/React__default.createElement(Drawer, Object.assign({
147
133
  ref: ref,
@@ -179,33 +165,29 @@ var SettingDrawer = /*#__PURE__*/forwardRef(function (_ref, ref) {
179
165
  });
180
166
  })));
181
167
  });
182
-
183
168
  if (__DEV__) {
184
169
  SettingDrawer.displayName = 'SettingDrawer';
185
170
  }
186
-
187
171
  function SettingItem(_ref2) {
188
172
  var prefixCls = _ref2.prefixCls,
189
- column = _ref2.column,
190
- cacheHiddenColKeys = _ref2.cacheHiddenColKeys,
191
- setCacheHiddenColKeys = _ref2.setCacheHiddenColKeys,
192
- dropProps = _ref2.dropProps,
193
- index = _ref2.index,
194
- checkDisabled = _ref2.checkDisabled;
173
+ column = _ref2.column,
174
+ cacheHiddenColKeys = _ref2.cacheHiddenColKeys,
175
+ setCacheHiddenColKeys = _ref2.setCacheHiddenColKeys,
176
+ dropProps = _ref2.dropProps,
177
+ index = _ref2.index,
178
+ checkDisabled = _ref2.checkDisabled;
195
179
  var dataKey = column.dataKey,
196
- title = column.title;
197
-
180
+ title = column.title;
198
181
  var _useDrag = useDrag(Object.assign(Object.assign({}, dropProps), {
199
- item: column,
200
- index: index,
201
- idFieldName: 'dataKey',
202
- dataTransferKey: 'table-setting-data'
203
- })),
204
- dragging = _useDrag.dragging,
205
- direction = _useDrag.direction,
206
- getDragTriggerProps = _useDrag.getDragTriggerProps,
207
- getDropTriggerProps = _useDrag.getDropTriggerProps;
208
-
182
+ item: column,
183
+ index: index,
184
+ idFieldName: 'dataKey',
185
+ dataTransferKey: 'table-setting-data'
186
+ })),
187
+ dragging = _useDrag.dragging,
188
+ direction = _useDrag.direction,
189
+ getDragTriggerProps = _useDrag.getDragTriggerProps,
190
+ getDropTriggerProps = _useDrag.getDropTriggerProps;
209
191
  return /*#__PURE__*/React__default.createElement("div", Object.assign({
210
192
  className: cx(prefixCls + "-item", dragging && prefixCls + "-item--dragging", direction && prefixCls + "-item--direction-" + direction)
211
193
  }, getDragTriggerProps(), getDropTriggerProps()), /*#__PURE__*/React__default.createElement("div", {
@@ -222,5 +204,4 @@ function SettingItem(_ref2) {
222
204
  }
223
205
  }, /*#__PURE__*/React__default.createElement("span", null, runIfFunc(title))), /*#__PURE__*/React__default.createElement(MoveOutlined, null)));
224
206
  }
225
-
226
207
  export { SettingDrawer };
package/lib/esm/Table.js CHANGED
@@ -25,14 +25,11 @@ import { cloneTree, flattenTree } from '@hi-ui/tree-utils';
25
25
  import { BaseTable } from './BaseTable.js';
26
26
  import { uuid } from './utils/index.js';
27
27
  import { useColSet } from './hooks/use-col-set.js';
28
-
29
28
  var _prefix = getPrefixCls('table');
30
29
  /**
31
30
  * 需要使用双表格的场景对应的 API
32
31
  * 这些场景下的功能无法通过单表格实现,故而设计成双表格,即表头和表体分别用一个 table 实现
33
32
  */
34
-
35
-
36
33
  var DOUBLE_TABLE_SCENE = ['maxHeight', 'sticky', 'stickyTop', 'setting', 'virtual'];
37
34
  var STANDARD_PRESET = {
38
35
  striped: true,
@@ -50,114 +47,104 @@ var DEFAULT_PAGINATION = {
50
47
  /**
51
48
  * 表格
52
49
  */
53
-
54
50
  var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
55
51
  var _a$prefixCls = _a.prefixCls,
56
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
57
- _a$standard = _a.standard,
58
- standard = _a$standard === void 0 ? false : _a$standard,
59
- _a$loading = _a.loading,
60
- loadingProp = _a$loading === void 0 ? false : _a$loading,
61
- dataSource = _a.dataSource,
62
- paginationProp = _a.pagination,
63
- uniqueId = _a.uniqueId,
64
- columnsProp = _a.columns,
65
- hiddenColKeysPropBeforeVerify = _a.hiddenColKeys,
66
- onHiddenColKeysChange = _a.onHiddenColKeysChange,
67
- sortedColKeysPropBeforeVerify = _a.sortedColKeys,
68
- onSortedColKeysChange = _a.onSortedColKeysChange,
69
- checkDisabledColKeys = _a.checkDisabledColKeys,
70
- onSetColKeysChange = _a.onSetColKeysChange,
71
- rowSelection = _a.rowSelection,
72
- _a$fieldKey = _a.fieldKey,
73
- fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
74
- extra = _a.extra,
75
- _a$data = _a.data,
76
- data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
77
- rest = __rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "sortedColKeys", "onSortedColKeysChange", "checkDisabledColKeys", "onSetColKeysChange", "rowSelection", "fieldKey", "extra", "data"]); // 是否需要双表格
78
-
79
-
52
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
53
+ _a$standard = _a.standard,
54
+ standard = _a$standard === void 0 ? false : _a$standard,
55
+ _a$loading = _a.loading,
56
+ loadingProp = _a$loading === void 0 ? false : _a$loading,
57
+ dataSource = _a.dataSource,
58
+ paginationProp = _a.pagination,
59
+ uniqueId = _a.uniqueId,
60
+ columnsProp = _a.columns,
61
+ hiddenColKeysPropBeforeVerify = _a.hiddenColKeys,
62
+ onHiddenColKeysChange = _a.onHiddenColKeysChange,
63
+ sortedColKeysPropBeforeVerify = _a.sortedColKeys,
64
+ onSortedColKeysChange = _a.onSortedColKeysChange,
65
+ checkDisabledColKeys = _a.checkDisabledColKeys,
66
+ onSetColKeysChange = _a.onSetColKeysChange,
67
+ rowSelection = _a.rowSelection,
68
+ _a$fieldKey = _a.fieldKey,
69
+ fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
70
+ extra = _a.extra,
71
+ _a$data = _a.data,
72
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
73
+ rest = __rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "sortedColKeys", "onSortedColKeysChange", "checkDisabledColKeys", "onSetColKeysChange", "rowSelection", "fieldKey", "extra", "data"]);
74
+ // 是否需要双表格
80
75
  var needDoubleTable = DOUBLE_TABLE_SCENE.some(function (prop) {
81
76
  return !!rest[prop];
82
77
  });
83
- var virtual = rest.virtual; // ************************ 预置标准模式 ************************ //
84
-
78
+ var virtual = rest.virtual;
79
+ // ************************ 预置标准模式 ************************ //
85
80
  var tableProps = withDefaultProps(rest, standard ? STANDARD_PRESET : undefined);
86
-
87
81
  var _tableProps$setting = tableProps.setting,
88
- setting = _tableProps$setting === void 0 ? false : _tableProps$setting,
89
- baseTableProps = __rest(tableProps // ************************ 高级功能 ************************ //
82
+ setting = _tableProps$setting === void 0 ? false : _tableProps$setting,
83
+ baseTableProps = __rest(tableProps
84
+ // ************************ 高级功能 ************************ //
85
+ // ***根据列字段合并sortedColKeysProp,和hiddenColKeys
86
+ , ["setting"]);
87
+ // ************************ 高级功能 ************************ //
90
88
  // ***根据列字段合并sortedColKeysProp,和hiddenColKeys
91
- , ["setting"]); // ************************ 高级功能 ************************ //
92
- // ***根据列字段合并sortedColKeysProp,和hiddenColKeys
93
-
94
-
95
89
  var _useColSet = useColSet({
96
- columns: columnsProp,
97
- sortedColKeys: sortedColKeysPropBeforeVerify,
98
- hiddenColKeys: hiddenColKeysPropBeforeVerify
99
- }),
100
- sortedColKeysProp = _useColSet.sortedColKeys,
101
- hiddenColKeysProp = _useColSet.hiddenColKeys;
90
+ columns: columnsProp,
91
+ sortedColKeys: sortedColKeysPropBeforeVerify,
92
+ hiddenColKeys: hiddenColKeysPropBeforeVerify
93
+ }),
94
+ sortedColKeysProp = _useColSet.sortedColKeys,
95
+ hiddenColKeysProp = _useColSet.hiddenColKeys;
102
96
  /**
103
97
  * 列排序
104
98
  */
105
-
106
-
107
99
  var _useColSorter = useColSorter({
108
- uniqueId: uniqueId,
109
- columns: columnsProp,
110
- sortedColKeys: sortedColKeysProp,
111
- onSortedColKeysChange: onSortedColKeysChange
112
- }),
113
- sortedCols = _useColSorter.sortedCols,
114
- setSortColKeys = _useColSorter.setSortColKeys,
115
- cacheSortedCols = _useColSorter.cacheSortedCols,
116
- setCacheSortedCols = _useColSorter.setCacheSortedCols;
100
+ uniqueId: uniqueId,
101
+ columns: columnsProp,
102
+ sortedColKeys: sortedColKeysProp,
103
+ onSortedColKeysChange: onSortedColKeysChange
104
+ }),
105
+ sortedCols = _useColSorter.sortedCols,
106
+ setSortColKeys = _useColSorter.setSortColKeys,
107
+ cacheSortedCols = _useColSorter.cacheSortedCols,
108
+ setCacheSortedCols = _useColSorter.setCacheSortedCols;
117
109
  /**
118
110
  * 列隐藏
119
111
  */
120
-
121
-
122
112
  var _useColHidden = useColHidden({
123
- uniqueId: uniqueId,
124
- // 基于排序的 columns,隐藏的也能排序
125
- columns: sortedCols,
126
- hiddenColKeys: hiddenColKeysProp,
127
- onHiddenColKeysChange: onHiddenColKeysChange
128
- }),
129
- visibleCols = _useColHidden.visibleCols,
130
- hiddenColKeys = _useColHidden.hiddenColKeys,
131
- setHiddenColKeys = _useColHidden.setHiddenColKeys,
132
- cacheHiddenColKeys = _useColHidden.cacheHiddenColKeys,
133
- setCacheHiddenColKeys = _useColHidden.setCacheHiddenColKeys;
134
-
113
+ uniqueId: uniqueId,
114
+ // 基于排序的 columns,隐藏的也能排序
115
+ columns: sortedCols,
116
+ hiddenColKeys: hiddenColKeysProp,
117
+ onHiddenColKeysChange: onHiddenColKeysChange
118
+ }),
119
+ visibleCols = _useColHidden.visibleCols,
120
+ hiddenColKeys = _useColHidden.hiddenColKeys,
121
+ setHiddenColKeys = _useColHidden.setHiddenColKeys,
122
+ cacheHiddenColKeys = _useColHidden.cacheHiddenColKeys,
123
+ setCacheHiddenColKeys = _useColHidden.setCacheHiddenColKeys;
135
124
  var pagination = withDefaultProps(paginationProp, DEFAULT_PAGINATION);
136
125
  /**
137
126
  * 数据分页
138
127
  */
139
-
140
128
  var _useTablePagination = useTablePagination({
141
- loadingProp: loadingProp,
142
- pagination: pagination,
143
- data: data,
144
- dataSource: dataSource
145
- }),
146
- loading = _useTablePagination.loading,
147
- mergedData = _useTablePagination.mergedData,
148
- currentPage = _useTablePagination.currentPage,
149
- trySetCurrentPage = _useTablePagination.trySetCurrentPage,
150
- pageSize = _useTablePagination.pageSize,
151
- trySetPageSize = _useTablePagination.trySetPageSize,
152
- total = _useTablePagination.total; // 可能是从 dataSource 中拿到的 total 值,在此更新该值
153
-
154
-
129
+ loadingProp: loadingProp,
130
+ pagination: pagination,
131
+ data: data,
132
+ dataSource: dataSource
133
+ }),
134
+ loading = _useTablePagination.loading,
135
+ mergedData = _useTablePagination.mergedData,
136
+ currentPage = _useTablePagination.currentPage,
137
+ trySetCurrentPage = _useTablePagination.trySetCurrentPage,
138
+ pageSize = _useTablePagination.pageSize,
139
+ trySetPageSize = _useTablePagination.trySetPageSize,
140
+ total = _useTablePagination.total;
141
+ // 可能是从 dataSource 中拿到的 total 值,在此更新该值
155
142
  pagination = Object.assign(Object.assign({}, pagination), {
156
143
  total: total
157
- }); // 优化数据在第一页且数据一页内时,不展示 pagination 配置项
158
-
159
- var hiddenPagination = !paginationProp || pagination.autoHide && currentPage === 1 && typeof pagination.pageSize === 'number' && typeof pagination.total === 'number' && pagination.total <= pagination.pageSize && data.length <= pagination.pageSize; // 获取 key 字段值
160
-
144
+ });
145
+ // 优化数据在第一页且数据一页内时,不展示 pagination 配置项
146
+ var hiddenPagination = !paginationProp || pagination.autoHide && currentPage === 1 && typeof pagination.pageSize === 'number' && typeof pagination.total === 'number' && pagination.total <= pagination.pageSize && data.length <= pagination.pageSize;
147
+ // 获取 key 字段值
161
148
  var getRowKeyField = useCallback(function (item) {
162
149
  var val = item[fieldKey];
163
150
  invariant(!isNullish(val), 'Not found for the unique %s attribute in each row of data prop.', fieldKey);
@@ -166,7 +153,6 @@ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
166
153
  /**
167
154
  * 扁平化数据,支持树形 table
168
155
  */
169
-
170
156
  var flattedData = useMemo(function () {
171
157
  // 对于分页来讲,flattedData 应该是当前页的数据
172
158
  var clonedData = cloneTree(mergedData);
@@ -176,26 +162,25 @@ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
176
162
  id: getRowKeyField(node.raw)
177
163
  });
178
164
  });
179
- }, [mergedData, getRowKeyField]); // ************************ 行多选 ************************ //
165
+ }, [mergedData, getRowKeyField]);
166
+ // ************************ 行多选 ************************ //
180
167
  // 自定义设置 checkbox 列宽度
181
-
182
168
  var checkboxColWidth = React__default.useMemo(function () {
183
169
  return rowSelection && typeof rowSelection.checkboxColWidth === 'number' ? rowSelection.checkboxColWidth : 38;
184
- }, [rowSelection]); // 预处理 column 支持 多选渲染
185
-
170
+ }, [rowSelection]);
171
+ // 预处理 column 支持 多选渲染
186
172
  var _useTableCheck = useTableCheck({
187
- rowSelection: rowSelection,
188
- flattedData: flattedData,
189
- fieldKey: fieldKey
190
- }),
191
- checkedAll = _useTableCheck.checkedAll,
192
- semiChecked = _useTableCheck.semiChecked,
193
- tryCheckAllRow = _useTableCheck.tryCheckAllRow,
194
- isCheckedRowKey = _useTableCheck.isCheckedRowKey,
195
- onCheckedRowKeysChange = _useTableCheck.onCheckedRowKeysChange,
196
- checkRowIsDisabledCheckbox = _useTableCheck.checkRowIsDisabledCheckbox; // 表格列多选操作区
197
-
198
-
173
+ rowSelection: rowSelection,
174
+ flattedData: flattedData,
175
+ fieldKey: fieldKey
176
+ }),
177
+ checkedAll = _useTableCheck.checkedAll,
178
+ semiChecked = _useTableCheck.semiChecked,
179
+ tryCheckAllRow = _useTableCheck.tryCheckAllRow,
180
+ isCheckedRowKey = _useTableCheck.isCheckedRowKey,
181
+ onCheckedRowKeysChange = _useTableCheck.onCheckedRowKeysChange,
182
+ checkRowIsDisabledCheckbox = _useTableCheck.checkRowIsDisabledCheckbox;
183
+ // 表格列多选操作区
199
184
  var getSelectionColumn = React__default.useCallback(function (rowSelection) {
200
185
  var renderCell = function renderCell(_, rowItem, rowIndex) {
201
186
  var rowKey = getRowKeyField(rowItem);
@@ -214,16 +199,14 @@ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
214
199
  }),
215
200
  checked: checked
216
201
  };
217
- }; // TODO: && isFixed !== 'right' && !isSumRow && !isAvgRow
218
-
219
-
202
+ };
203
+ // TODO: && isFixed !== 'right' && !isSumRow && !isAvgRow
220
204
  var renderSelectionCell = function renderSelectionCell(_, rowItem, rowIndex, dataKey) {
221
205
  var _renderCell = renderCell(_, rowItem),
222
- node = _renderCell.node,
223
- checked = _renderCell.checked; // 自定义渲染
206
+ node = _renderCell.node,
207
+ checked = _renderCell.checked;
208
+ // 自定义渲染
224
209
  // @ts-ignore
225
-
226
-
227
210
  if (rowSelection.render) {
228
211
  // TODO: 获取 requiredProps 方法
229
212
  // @ts-ignore
@@ -231,10 +214,8 @@ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
231
214
  checked: checked
232
215
  }), rowIndex, dataKey);
233
216
  }
234
-
235
217
  return node;
236
218
  };
237
-
238
219
  var renderTitleCell = function renderTitleCell() {
239
220
  return {
240
221
  node: /*#__PURE__*/React__default.createElement(Checkbox, {
@@ -246,24 +227,19 @@ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
246
227
  semiChecked: semiChecked
247
228
  };
248
229
  };
249
-
250
230
  var renderSelectionTitleCell = function renderSelectionTitleCell() {
251
231
  var _renderTitleCell = renderTitleCell(),
252
- node = _renderTitleCell.node;
253
-
232
+ node = _renderTitleCell.node;
254
233
  if (rowSelection.checkAllOptions) {
255
234
  if (rowSelection.checkAllOptions.render) {
256
235
  return rowSelection.checkAllOptions.render(node);
257
236
  }
258
-
259
237
  if (rowSelection.checkAllOptions.filterIcon) {
260
238
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, node, rowSelection.checkAllOptions.filterIcon);
261
239
  }
262
240
  }
263
-
264
241
  return node;
265
242
  };
266
-
267
243
  var selectionColumn = {
268
244
  dataKey: SELECTION_DATA_KEY,
269
245
  width: checkboxColWidth,
@@ -279,10 +255,9 @@ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
279
255
  var selectionColumn = getSelectionColumn(rowSelection);
280
256
  return [selectionColumn].concat(visibleCols);
281
257
  }
282
-
283
258
  return visibleCols;
284
- }, [rowSelection, getSelectionColumn, visibleCols]); // ************************ loading ************************ //
285
-
259
+ }, [rowSelection, getSelectionColumn, visibleCols]);
260
+ // ************************ loading ************************ //
286
261
  var TableWrapper = loading ? Loading : Fragment;
287
262
  return /*#__PURE__*/React__default.createElement(TableWrapper, null, /*#__PURE__*/React__default.createElement(BaseTable, Object.assign({
288
263
  ref: ref
@@ -320,9 +295,7 @@ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
320
295
  }, extra)
321
296
  })));
322
297
  });
323
-
324
298
  if (__DEV__) {
325
299
  Table.displayName = 'Table';
326
300
  }
327
-
328
301
  export { SELECTION_DATA_KEY, Table };