@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
@@ -19,49 +19,43 @@ import { SELECTION_DATA_KEY } from './Table.js';
19
19
  import { EMBED_DATA_KEY } from './BaseTable.js';
20
20
  import { isFunction } from '@hi-ui/type-assertion';
21
21
  var _role = 'table';
22
-
23
22
  var _prefix = getPrefixCls(_role);
24
-
25
23
  var EMBED_ON_ROW_PROPS = {};
26
24
  var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
27
25
  var _ref$prefixCls = _ref.prefixCls,
28
- prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
29
- rowDataProp = _ref.rowData,
30
- rowIndex = _ref.rowIndex,
31
- expandedTree = _ref.expandedTree,
32
- isSumRow = _ref.isSumRow,
33
- isAvgRow = _ref.isAvgRow;
34
-
26
+ prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
27
+ rowDataProp = _ref.rowData,
28
+ rowIndex = _ref.rowIndex,
29
+ expandedTree = _ref.expandedTree,
30
+ isSumRow = _ref.isSumRow,
31
+ isAvgRow = _ref.isAvgRow;
35
32
  var _useTableContext = useTableContext(),
36
- striped = _useTableContext.striped,
37
- showRowHighlight = _useTableContext.showRowHighlight,
38
- onHighlightedRowChange = _useTableContext.onHighlightedRowChange,
39
- isHighlightedRow = _useTableContext.isHighlightedRow,
40
- flattedColumnsWithoutChildren = _useTableContext.flattedColumnsWithoutChildren,
41
- isErrorRow = _useTableContext.isErrorRow,
42
- columns = _useTableContext.columns,
43
- embedExpandable = _useTableContext.embedExpandable,
44
- draggable = _useTableContext.draggable,
45
- onDragStartContext = _useTableContext.onDragStart,
46
- onDragLeaveContext = _useTableContext.onDragLeave,
47
- onDragEndContext = _useTableContext.onDragEnd,
48
- onDropContext = _useTableContext.onDrop,
49
- dragRowRef = _useTableContext.dragRowRef,
50
- onRow = _useTableContext.onRow,
51
- colWidths = _useTableContext.colWidths,
52
- virtual = _useTableContext.virtual;
53
-
33
+ striped = _useTableContext.striped,
34
+ showRowHighlight = _useTableContext.showRowHighlight,
35
+ onHighlightedRowChange = _useTableContext.onHighlightedRowChange,
36
+ isHighlightedRow = _useTableContext.isHighlightedRow,
37
+ flattedColumnsWithoutChildren = _useTableContext.flattedColumnsWithoutChildren,
38
+ isErrorRow = _useTableContext.isErrorRow,
39
+ columns = _useTableContext.columns,
40
+ embedExpandable = _useTableContext.embedExpandable,
41
+ draggable = _useTableContext.draggable,
42
+ onDragStartContext = _useTableContext.onDragStart,
43
+ onDragLeaveContext = _useTableContext.onDragLeave,
44
+ onDragEndContext = _useTableContext.onDragEnd,
45
+ onDropContext = _useTableContext.onDrop,
46
+ dragRowRef = _useTableContext.dragRowRef,
47
+ onRow = _useTableContext.onRow,
48
+ colWidths = _useTableContext.colWidths,
49
+ virtual = _useTableContext.virtual;
54
50
  var rowData = rowDataProp.raw,
55
- rowId = rowDataProp.id; // ** ************** 拖拽管理 *************** *//
56
-
51
+ rowId = rowDataProp.id;
52
+ // ** ************** 拖拽管理 *************** *//
57
53
  var _React$useState = React__default.useState(false),
58
- dragging = _React$useState[0],
59
- setDragging = _React$useState[1];
60
-
54
+ dragging = _React$useState[0],
55
+ setDragging = _React$useState[1];
61
56
  var _React$useState2 = React__default.useState(),
62
- dragDirection = _React$useState2[0],
63
- setDragDirection = _React$useState2[1];
64
-
57
+ dragDirection = _React$useState2[0],
58
+ setDragDirection = _React$useState2[1];
65
59
  var onDragStartContextLatest = useLatestCallback(onDragStartContext);
66
60
  var onDragStart = React__default.useCallback(function (evt) {
67
61
  if (!draggable) return;
@@ -86,11 +80,10 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
86
80
  evt.stopPropagation();
87
81
  if (!dragRowRef.current) return;
88
82
  var _dragRowRef$current = dragRowRef.current,
89
- startClientY = _dragRowRef$current.startClientY,
90
- dragId = _dragRowRef$current.dragId;
83
+ startClientY = _dragRowRef$current.startClientY,
84
+ dragId = _dragRowRef$current.dragId;
91
85
  if (dragId === rowId) return;
92
86
  var hoverClientY = evt.clientY;
93
-
94
87
  if (hoverClientY < startClientY) {
95
88
  setDragDirection('top');
96
89
  } else {
@@ -116,8 +109,8 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
116
109
  setDragging(false);
117
110
  onDragEndContextLatest(evt);
118
111
  }, [draggable, dragRowRef, onDragEndContextLatest]);
119
- var onDropContextLatest = useLatestCallback(onDropContext); // 放置目标元素时触发事件
120
-
112
+ var onDropContextLatest = useLatestCallback(onDropContext);
113
+ // 放置目标元素时触发事件
121
114
  var onDrop = React__default.useCallback(function (evt) {
122
115
  if (!draggable) return;
123
116
  if (!dragRowRef.current) return;
@@ -128,17 +121,15 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
128
121
  dragRowRef.current = null;
129
122
  var targetId = rowId;
130
123
  if (dragId === targetId) return;
131
-
132
124
  try {
133
125
  var _JSON$parse = JSON.parse(evt.dataTransfer.getData('tableRow')),
134
- sourceId = _JSON$parse.sourceId;
135
-
126
+ sourceId = _JSON$parse.sourceId;
136
127
  onDropContextLatest(evt, sourceId, targetId, dragDirection);
137
128
  } catch (error) {
138
129
  console.error(error);
139
130
  }
140
- }, [draggable, dragRowRef, onDropContextLatest, dragDirection, rowId]); // ** ************** 行状态管理 *************** *//
141
-
131
+ }, [draggable, dragRowRef, onDropContextLatest, dragDirection, rowId]);
132
+ // ** ************** 行状态管理 *************** *//
142
133
  var highlighted = isHighlightedRow(rowId);
143
134
  var hasError = isErrorRow(rowId);
144
135
  var cls = cx(prefixCls + "-row", showRowHighlight && prefixCls + "-row--hover", striped && (rowIndex & 1) === 1 && prefixCls + "-row--striped", hasError && prefixCls + "-row--error", highlighted && prefixCls + "-row--highlight", draggable && prefixCls + "-row--draggable", draggable && dragging && prefixCls + "-row--dragging", draggable && dragDirection && prefixCls + "-row--drag-" + dragDirection, isSumRow && prefixCls + "-row--total", isAvgRow && prefixCls + "-row--avg", virtual && prefixCls + "-row--virtual");
@@ -153,7 +144,6 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
153
144
  });
154
145
  return tmpWidth;
155
146
  }, [colWidths]);
156
-
157
147
  if (virtual) {
158
148
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", Object.assign({
159
149
  ref: ref,
@@ -164,7 +154,6 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
164
154
  if (rowExtraProps.onDoubleClick) {
165
155
  rowExtraProps.onDoubleClick(evt);
166
156
  }
167
-
168
157
  onHighlightedRowChange(rowDataProp, !highlighted);
169
158
  },
170
159
  style: Object.assign(Object.assign({}, rowExtraProps.style), {
@@ -182,7 +171,6 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
182
171
  });
183
172
  })));
184
173
  }
185
-
186
174
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("tr", Object.assign({
187
175
  ref: ref,
188
176
  className: cls,
@@ -192,7 +180,6 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
192
180
  if (rowExtraProps.onDoubleClick) {
193
181
  rowExtraProps.onDoubleClick(evt);
194
182
  }
195
-
196
183
  onHighlightedRowChange(rowDataProp, !highlighted);
197
184
  },
198
185
  draggable: setAttrAria(draggable),
@@ -217,9 +204,7 @@ var TableRow = /*#__PURE__*/forwardRef(function (_ref, ref) {
217
204
  rowIndex: rowIndex
218
205
  }) : null);
219
206
  });
220
-
221
207
  if (__DEV__) {
222
208
  TableRow.displayName = 'TableRow';
223
209
  }
224
-
225
210
  export { TableRow };
@@ -22,27 +22,24 @@ import { useDrop, useDrag } from '@hi-ui/use-drag-sorter';
22
22
  import { Drawer } from '@hi-ui/drawer';
23
23
  import { Button } from '@hi-ui/button';
24
24
  import { Checkbox } from '@hi-ui/checkbox';
25
-
26
25
  var _prefix = getPrefixCls('table-setting');
27
26
  /**
28
27
  * 表头右侧高级设置菜单(抽屉式)
29
28
  */
30
-
31
-
32
29
  var TableSettingMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
33
30
  var _ref$prefixCls = _ref.prefixCls,
34
- prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
35
- sortedCols = _ref.sortedCols,
36
- setSortColKeys = _ref.setSortColKeys,
37
- cacheSortedCols = _ref.cacheSortedCols,
38
- setCacheSortedCols = _ref.setCacheSortedCols,
39
- hiddenColKeys = _ref.hiddenColKeys,
40
- setHiddenColKeys = _ref.setHiddenColKeys,
41
- cacheHiddenColKeys = _ref.cacheHiddenColKeys,
42
- setCacheHiddenColKeys = _ref.setCacheHiddenColKeys,
43
- onSetColKeysChange = _ref.onSetColKeysChange,
44
- _ref$checkDisabledCol = _ref.checkDisabledColKeys,
45
- checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol;
31
+ prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
32
+ sortedCols = _ref.sortedCols,
33
+ setSortColKeys = _ref.setSortColKeys,
34
+ cacheSortedCols = _ref.cacheSortedCols,
35
+ setCacheSortedCols = _ref.setCacheSortedCols,
36
+ hiddenColKeys = _ref.hiddenColKeys,
37
+ setHiddenColKeys = _ref.setHiddenColKeys,
38
+ cacheHiddenColKeys = _ref.cacheHiddenColKeys,
39
+ setCacheHiddenColKeys = _ref.setCacheHiddenColKeys,
40
+ onSetColKeysChange = _ref.onSetColKeysChange,
41
+ _ref$checkDisabledCol = _ref.checkDisabledColKeys,
42
+ checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol;
46
43
  var i18n = useLocaleContext();
47
44
  var dropProps = useDrop({
48
45
  draggable: true,
@@ -55,15 +52,12 @@ var TableSettingMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
55
52
  case 0:
56
53
  setCacheSortedCols(function (prev) {
57
54
  var nextCacheSortCols = [].concat(prev);
58
-
59
55
  var _nextCacheSortCols$sp = nextCacheSortCols.splice(info.dragIndex, 1),
60
- removed = _nextCacheSortCols$sp[0];
61
-
56
+ removed = _nextCacheSortCols$sp[0];
62
57
  nextCacheSortCols.splice(info.dropIndex, 0, removed);
63
58
  return nextCacheSortCols;
64
59
  });
65
60
  return _context.abrupt("return", true);
66
-
67
61
  case 2:
68
62
  case "end":
69
63
  return _context.stop();
@@ -73,25 +67,21 @@ var TableSettingMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
73
67
  }));
74
68
  }
75
69
  });
76
-
77
70
  var _useToggle = useToggle(),
78
- menuVisible = _useToggle[0],
79
- menuVisibleAction = _useToggle[1];
80
-
71
+ menuVisible = _useToggle[0],
72
+ menuVisibleAction = _useToggle[1];
81
73
  var resetLatest = useLatestCallback(function () {
82
74
  setCacheHiddenColKeys(hiddenColKeys);
83
75
  setCacheSortedCols(sortedCols);
84
- }); // 当 visible 由 false 变为 true 时触发
85
-
76
+ });
77
+ // 当 visible 由 false 变为 true 时触发
86
78
  var prevShowPopperRef = useRef(!menuVisible);
87
79
  useEffect(function () {
88
80
  if (!prevShowPopperRef.current && menuVisible) {
89
81
  resetLatest();
90
82
  }
91
-
92
83
  prevShowPopperRef.current = menuVisible;
93
84
  }, [menuVisible, resetLatest]);
94
-
95
85
  var onConfirm = function onConfirm() {
96
86
  // 触发 table 更新列显隐及排序
97
87
  setHiddenColKeys(cacheHiddenColKeys);
@@ -102,7 +92,6 @@ var TableSettingMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
102
92
  onSetColKeysChange && onSetColKeysChange(newSortKeys, cacheHiddenColKeys);
103
93
  menuVisibleAction.off();
104
94
  };
105
-
106
95
  var cls = cx(prefixCls);
107
96
  return /*#__PURE__*/React__default.createElement("div", {
108
97
  ref: ref,
@@ -143,33 +132,29 @@ var TableSettingMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
143
132
  });
144
133
  }))));
145
134
  });
146
-
147
135
  if (__DEV__) {
148
136
  TableSettingMenu.displayName = 'TableSettingMenu';
149
137
  }
150
-
151
138
  function TableSettingMenuItem(_ref2) {
152
139
  var prefixCls = _ref2.prefixCls,
153
- column = _ref2.column,
154
- cacheHiddenColKeys = _ref2.cacheHiddenColKeys,
155
- setCacheHiddenColKeys = _ref2.setCacheHiddenColKeys,
156
- dropProps = _ref2.dropProps,
157
- index = _ref2.index,
158
- checkDisabled = _ref2.checkDisabled;
140
+ column = _ref2.column,
141
+ cacheHiddenColKeys = _ref2.cacheHiddenColKeys,
142
+ setCacheHiddenColKeys = _ref2.setCacheHiddenColKeys,
143
+ dropProps = _ref2.dropProps,
144
+ index = _ref2.index,
145
+ checkDisabled = _ref2.checkDisabled;
159
146
  var dataKey = column.dataKey,
160
- title = column.title;
161
-
147
+ title = column.title;
162
148
  var _useDrag = useDrag(Object.assign(Object.assign({}, dropProps), {
163
- item: column,
164
- index: index,
165
- idFieldName: 'dataKey',
166
- dataTransferKey: 'table-setting-data'
167
- })),
168
- dragging = _useDrag.dragging,
169
- direction = _useDrag.direction,
170
- getDragTriggerProps = _useDrag.getDragTriggerProps,
171
- getDropTriggerProps = _useDrag.getDropTriggerProps;
172
-
149
+ item: column,
150
+ index: index,
151
+ idFieldName: 'dataKey',
152
+ dataTransferKey: 'table-setting-data'
153
+ })),
154
+ dragging = _useDrag.dragging,
155
+ direction = _useDrag.direction,
156
+ getDragTriggerProps = _useDrag.getDragTriggerProps,
157
+ getDropTriggerProps = _useDrag.getDropTriggerProps;
173
158
  return /*#__PURE__*/React__default.createElement("div", Object.assign({
174
159
  className: cx(prefixCls + "-item", dragging && prefixCls + "-item--dragging", direction && prefixCls + "-item--direction-" + direction)
175
160
  }, getDragTriggerProps(), getDropTriggerProps()), /*#__PURE__*/React__default.createElement("div", {
@@ -186,5 +171,4 @@ function TableSettingMenuItem(_ref2) {
186
171
  }
187
172
  }, /*#__PURE__*/React__default.createElement("span", null, runIfFunc(title))), /*#__PURE__*/React__default.createElement(MoveOutlined, null)));
188
173
  }
189
-
190
174
  export { TableSettingMenu };
@@ -15,37 +15,33 @@ import { isArrayNonEmpty } from '@hi-ui/type-assertion';
15
15
  import { EmptyState } from '@hi-ui/empty-state';
16
16
  import { TableRow } from './TableRow.js';
17
17
  import { useTableContext } from './context.js';
18
-
19
18
  var _prefix = getPrefixCls('table-body');
20
-
21
19
  var TbodyContent = /*#__PURE__*/forwardRef(function (_ref, ref) {
22
20
  var _ref$prefixCls = _ref.prefixCls,
23
- prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
24
- emptyContent = _ref.emptyContent;
25
-
21
+ prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
22
+ emptyContent = _ref.emptyContent;
26
23
  var _useTableContext = useTableContext(),
27
- columns = _useTableContext.columns,
28
- isExpandTreeRows = _useTableContext.isExpandTreeRows,
29
- transitionData = _useTableContext.transitionData,
30
- scrollBodyElementRef = _useTableContext.scrollBodyElementRef,
31
- hasAvgColumn = _useTableContext.hasAvgColumn,
32
- avgRow = _useTableContext.avgRow,
33
- hasSumColumn = _useTableContext.hasSumColumn,
34
- sumRow = _useTableContext.sumRow,
35
- measureRowElementRef = _useTableContext.measureRowElementRef;
36
-
24
+ columns = _useTableContext.columns,
25
+ isExpandTreeRows = _useTableContext.isExpandTreeRows,
26
+ transitionData = _useTableContext.transitionData,
27
+ scrollBodyElementRef = _useTableContext.scrollBodyElementRef,
28
+ hasAvgColumn = _useTableContext.hasAvgColumn,
29
+ avgRow = _useTableContext.avgRow,
30
+ hasSumColumn = _useTableContext.hasSumColumn,
31
+ sumRow = _useTableContext.sumRow,
32
+ measureRowElementRef = _useTableContext.measureRowElementRef;
37
33
  var getRequiredProps = useLatestCallback(function (id) {
38
34
  return {
39
35
  // @ts-ignore
40
- expandedTree: isExpandTreeRows(id) // checked: isCheckedId(id),
36
+ expandedTree: isExpandTreeRows(id)
37
+ // checked: isCheckedId(id),
41
38
  // semiChecked: isSemiCheckedId(id),
42
39
  // selected: selectedId === id,
43
40
  // loading: isLoadingId(id),
44
41
  // focused: focusedId === id,
45
-
46
42
  };
47
- }); // 外层增加 div 作为滚动容器
48
-
43
+ });
44
+ // 外层增加 div 作为滚动容器
49
45
  return /*#__PURE__*/React__default.createElement("tbody", null, isArrayNonEmpty(transitionData) ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, transitionData.map(function (row, index) {
50
46
  return /*#__PURE__*/React__default.createElement(TableRow, Object.assign({
51
47
  ref: index === 0 ? measureRowElementRef : null,
@@ -65,7 +61,8 @@ var TbodyContent = /*#__PURE__*/forwardRef(function (_ref, ref) {
65
61
  rowIndex: transitionData.length + 1,
66
62
  rowData: avgRow,
67
63
  isAvgRow: true
68
- }) : null) : // 空状态,colSpan 占满表格整行
64
+ }) : null) :
65
+ // 空状态,colSpan 占满表格整行
69
66
  renderEmptyContent(Object.assign({
70
67
  className: prefixCls + "-empty-content",
71
68
  colSpan: columns.length,
@@ -74,20 +71,17 @@ var TbodyContent = /*#__PURE__*/forwardRef(function (_ref, ref) {
74
71
  scrollBodyWidth: window.getComputedStyle(scrollBodyElementRef.current).getPropertyValue('width')
75
72
  } : {})));
76
73
  });
77
-
78
74
  if (__DEV__) {
79
75
  TbodyContent.displayName = 'TbodyContent';
80
76
  }
81
77
  /**
82
78
  * 负责空状态渲染
83
79
  */
84
-
85
-
86
80
  var renderEmptyContent = function renderEmptyContent(_ref2) {
87
81
  var className = _ref2.className,
88
- colSpan = _ref2.colSpan,
89
- emptyContent = _ref2.emptyContent,
90
- scrollBodyWidth = _ref2.scrollBodyWidth;
82
+ colSpan = _ref2.colSpan,
83
+ emptyContent = _ref2.emptyContent,
84
+ scrollBodyWidth = _ref2.scrollBodyWidth;
91
85
  return /*#__PURE__*/React__default.createElement("tr", {
92
86
  className: className
93
87
  }, /*#__PURE__*/React__default.createElement("td", {
@@ -101,5 +95,4 @@ var renderEmptyContent = function renderEmptyContent(_ref2) {
101
95
  }
102
96
  }, emptyContent || /*#__PURE__*/React__default.createElement(EmptyState, null))));
103
97
  };
104
-
105
98
  export { TbodyContent, renderEmptyContent };
@@ -16,25 +16,21 @@ import { isFunction } from '@hi-ui/type-assertion';
16
16
  import { useCheckState } from '@hi-ui/use-check-state';
17
17
  import { useTableContext } from './context.js';
18
18
  import { renderFilter } from './TableAdvancedFilter.js';
19
-
20
19
  var _prefix = getPrefixCls('table-header');
21
-
22
20
  var TheadContent = /*#__PURE__*/forwardRef(function (_a, ref) {
23
21
  var _a$prefixCls = _a.prefixCls,
24
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
25
- rest = __rest(_a, ["prefixCls"]);
26
-
22
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
23
+ rest = __rest(_a, ["prefixCls"]);
27
24
  var _useTableContext = useTableContext(),
28
- groupedColumns = _useTableContext.groupedColumns,
29
- resizable = _useTableContext.resizable,
30
- colWidths = _useTableContext.colWidths,
31
- isHoveredHighlightCol = _useTableContext.isHoveredHighlightCol,
32
- isHighlightedCol = _useTableContext.isHighlightedCol,
33
- onColumnResizable = _useTableContext.onColumnResizable,
34
- getStickyColProps = _useTableContext.getStickyColProps,
35
- showColMenu = _useTableContext.showColMenu,
36
- setHeaderTableElement = _useTableContext.setHeaderTableElement;
37
-
25
+ groupedColumns = _useTableContext.groupedColumns,
26
+ resizable = _useTableContext.resizable,
27
+ colWidths = _useTableContext.colWidths,
28
+ isHoveredHighlightCol = _useTableContext.isHoveredHighlightCol,
29
+ isHighlightedCol = _useTableContext.isHighlightedCol,
30
+ onColumnResizable = _useTableContext.onColumnResizable,
31
+ getStickyColProps = _useTableContext.getStickyColProps,
32
+ showColMenu = _useTableContext.showColMenu,
33
+ setHeaderTableElement = _useTableContext.setHeaderTableElement;
38
34
  var activeColumnKeysAction = useCheckState();
39
35
  return /*#__PURE__*/React__default.createElement("thead", Object.assign({}, rest), groupedColumns.map(function (cols, colsIndex) {
40
36
  return /*#__PURE__*/React__default.createElement("tr", {
@@ -42,10 +38,9 @@ var TheadContent = /*#__PURE__*/forwardRef(function (_a, ref) {
42
38
  ref: setHeaderTableElement
43
39
  }, cols.map(function (col, colIndex) {
44
40
  var _ref = col || {},
45
- dataKey = _ref.dataKey,
46
- title = _ref.title,
47
- raw = _ref.raw;
48
-
41
+ dataKey = _ref.dataKey,
42
+ title = _ref.title,
43
+ raw = _ref.raw;
49
44
  var titleContent = isFunction(title) ? title(col) : title;
50
45
  titleContent = resizable ? /*#__PURE__*/React__default.createElement("span", {
51
46
  className: prefixCls + "-header__title"
@@ -88,9 +83,7 @@ var TheadContent = /*#__PURE__*/forwardRef(function (_a, ref) {
88
83
  }));
89
84
  }));
90
85
  });
91
-
92
86
  if (__DEV__) {
93
87
  TheadContent.displayName = 'TheadContent';
94
88
  }
95
-
96
89
  export { TheadContent };
@@ -10,15 +10,11 @@
10
10
  import { useContext, createContext } from 'react';
11
11
  var TableContext = /*#__PURE__*/createContext(null);
12
12
  var TableProvider = TableContext.Provider;
13
-
14
13
  var useTableContext = function useTableContext() {
15
14
  var context = useContext(TableContext);
16
-
17
15
  if (!context) {
18
16
  throw new Error('The TableContext context should using in Table.');
19
17
  }
20
-
21
18
  return context;
22
19
  };
23
-
24
20
  export { TableProvider, useTableContext };
@@ -13,15 +13,14 @@ import { useCallback } from 'react';
13
13
  import { useLatestCallback } from '@hi-ui/use-latest';
14
14
  import { cloneTree, addChildrenById } from '@hi-ui/tree-utils';
15
15
  import { useCheckState } from '@hi-ui/use-check-state';
16
-
17
16
  var useAsyncSwitch = function useAsyncSwitch(_ref) {
18
17
  var setCascaderData = _ref.setCascaderData,
19
- onExpand = _ref.onExpand,
20
- onLoadChildren = _ref.onLoadChildren,
21
- _ref$fieldKey = _ref.fieldKey,
22
- fieldKey = _ref$fieldKey === void 0 ? 'key' : _ref$fieldKey;
23
- var onLoadChildrenLatest = useLatestCallback(onLoadChildren); // 加载节点
24
-
18
+ onExpand = _ref.onExpand,
19
+ onLoadChildren = _ref.onLoadChildren,
20
+ _ref$fieldKey = _ref.fieldKey,
21
+ fieldKey = _ref$fieldKey === void 0 ? 'key' : _ref$fieldKey;
22
+ var onLoadChildrenLatest = useLatestCallback(onLoadChildren);
23
+ // 加载节点
25
24
  var loadChildren = useCallback(function (node) {
26
25
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
27
26
  var childrenNodes;
@@ -31,10 +30,8 @@ var useAsyncSwitch = function useAsyncSwitch(_ref) {
31
30
  case 0:
32
31
  _context.next = 2;
33
32
  return onLoadChildrenLatest(node);
34
-
35
33
  case 2:
36
34
  childrenNodes = _context.sent;
37
-
38
35
  if (Array.isArray(childrenNodes)) {
39
36
  setCascaderData(function (prev) {
40
37
  var nextTreeData = cloneTree(prev);
@@ -42,7 +39,6 @@ var useAsyncSwitch = function useAsyncSwitch(_ref) {
42
39
  return nextTreeData;
43
40
  });
44
41
  }
45
-
46
42
  case 4:
47
43
  case "end":
48
44
  return _context.stop();
@@ -51,18 +47,15 @@ var useAsyncSwitch = function useAsyncSwitch(_ref) {
51
47
  }, _callee);
52
48
  }));
53
49
  }, [fieldKey, onLoadChildrenLatest, setCascaderData]);
54
-
55
50
  var _useCheckState = useCheckState(),
56
- loadingIds = _useCheckState.state,
57
- addLoadingIds = _useCheckState.add,
58
- removeLoadingIds = _useCheckState.remove;
59
-
51
+ loadingIds = _useCheckState.state,
52
+ addLoadingIds = _useCheckState.add,
53
+ removeLoadingIds = _useCheckState.remove;
60
54
  var onExpandLatest = useLatestCallback(onExpand);
61
55
  var onNodeSwitch = useCallback(function (node, onlyExpand) {
62
56
  if (onlyExpand === void 0) {
63
57
  onlyExpand = false;
64
58
  }
65
-
66
59
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
67
60
  var id, children, isLeaf;
68
61
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
@@ -72,43 +65,34 @@ var useAsyncSwitch = function useAsyncSwitch(_ref) {
72
65
  // 直接触发选中该节点
73
66
  onExpandLatest(node, onlyExpand);
74
67
  id = node.id, children = node.children, isLeaf = node.isLeaf;
75
-
76
68
  if (!children) {
77
69
  _context2.next = 4;
78
70
  break;
79
71
  }
80
-
81
72
  return _context2.abrupt("return");
82
-
83
73
  case 4:
84
74
  if (!isLeaf) {
85
75
  _context2.next = 6;
86
76
  break;
87
77
  }
88
-
89
78
  return _context2.abrupt("return");
90
-
91
79
  case 6:
92
80
  if (!onLoadChildren) {
93
81
  _context2.next = 17;
94
82
  break;
95
83
  }
96
-
97
84
  addLoadingIds(id);
98
85
  _context2.prev = 8;
99
86
  _context2.next = 11;
100
87
  return loadChildren(node);
101
-
102
88
  case 11:
103
89
  removeLoadingIds(id);
104
90
  _context2.next = 17;
105
91
  break;
106
-
107
92
  case 14:
108
93
  _context2.prev = 14;
109
94
  _context2.t0 = _context2["catch"](8);
110
95
  removeLoadingIds(id);
111
-
112
96
  case 17:
113
97
  case "end":
114
98
  return _context2.stop();
@@ -117,12 +101,9 @@ var useAsyncSwitch = function useAsyncSwitch(_ref) {
117
101
  }, _callee2, null, [[8, 14]]);
118
102
  }));
119
103
  }, [loadChildren, onLoadChildren, onExpandLatest, addLoadingIds, removeLoadingIds]);
120
-
121
104
  var isLoadingId = function isLoadingId(id) {
122
105
  return loadingIds.indexOf(id) !== -1;
123
106
  };
124
-
125
107
  return [isLoadingId, onNodeSwitch];
126
108
  };
127
-
128
109
  export { useAsyncSwitch };