@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
@@ -18,22 +18,20 @@ var DEFAULT_EXPAND_EMBED_ROW_KEYS = [];
18
18
  /**
19
19
  * 行内嵌面板展开
20
20
  */
21
-
22
21
  var useEmbedExpand = function useEmbedExpand(_ref) {
23
22
  var _ref$rowExpandable = _ref.rowExpandable,
24
- rowExpandable = _ref$rowExpandable === void 0 ? true : _ref$rowExpandable,
25
- _ref$defaultExpandedE = _ref.defaultExpandedEmbedRowKeys,
26
- defaultExpandedEmbedRowKeys = _ref$defaultExpandedE === void 0 ? DEFAULT_EXPAND_EMBED_ROW_KEYS : _ref$defaultExpandedE,
27
- expandEmbedRowKeysProp = _ref.expandedEmbedRowKeys,
28
- onEmbedExpand = _ref.onEmbedExpand,
29
- expandedRender = _ref.expandedRender;
23
+ rowExpandable = _ref$rowExpandable === void 0 ? true : _ref$rowExpandable,
24
+ _ref$defaultExpandedE = _ref.defaultExpandedEmbedRowKeys,
25
+ defaultExpandedEmbedRowKeys = _ref$defaultExpandedE === void 0 ? DEFAULT_EXPAND_EMBED_ROW_KEYS : _ref$defaultExpandedE,
26
+ expandEmbedRowKeysProp = _ref.expandedEmbedRowKeys,
27
+ onEmbedExpand = _ref.onEmbedExpand,
28
+ expandedRender = _ref.expandedRender;
30
29
  /**
31
30
  * 收敛行内嵌面板配置开关
32
31
  */
33
-
34
32
  var embedExpandable = useMemo(function () {
35
- if (!rowExpandable) return false; // 不传入 render 方法,则不开启内嵌面板
36
-
33
+ if (!rowExpandable) return false;
34
+ // 不传入 render 方法,则不开启内嵌面板
37
35
  if (!isFunction(expandedRender)) return false;
38
36
  return {
39
37
  rowExpandable: rowExpandable,
@@ -43,43 +41,35 @@ var useEmbedExpand = function useEmbedExpand(_ref) {
43
41
  /**
44
42
  * 是否展开状态控制
45
43
  */
46
-
47
44
  var _useUncontrolledState = useUncontrolledState(defaultExpandedEmbedRowKeys, expandEmbedRowKeysProp, onEmbedExpand),
48
- expandEmbedRows = _useUncontrolledState[0],
49
- trySetExpandEmbedRows = _useUncontrolledState[1];
50
-
45
+ expandEmbedRows = _useUncontrolledState[0],
46
+ trySetExpandEmbedRows = _useUncontrolledState[1];
51
47
  var _useCheck = useCheck({
52
- checkedIds: expandEmbedRows,
53
- onCheck: trySetExpandEmbedRows
54
- }),
55
- onExpandEmbedRowsChange = _useCheck[0],
56
- isExpandEmbedRows = _useCheck[1];
48
+ checkedIds: expandEmbedRows,
49
+ onCheck: trySetExpandEmbedRows
50
+ }),
51
+ onExpandEmbedRowsChange = _useCheck[0],
52
+ isExpandEmbedRows = _useCheck[1];
57
53
  /**
58
54
  * 异步展开中状态控制
59
55
  */
60
-
61
-
62
56
  var _useCheckState = useCheckState(),
63
- addLoadingIds = _useCheckState.add,
64
- removeLoadingIds = _useCheckState.remove,
65
- isLoadingId = _useCheckState.has;
57
+ addLoadingIds = _useCheckState.add,
58
+ removeLoadingIds = _useCheckState.remove,
59
+ isLoadingId = _useCheckState.has;
66
60
  /**
67
61
  * 内嵌面板数据
68
62
  * 结构:{ [id]: 内嵌数据 }
69
63
  */
70
-
71
-
72
64
  var _React$useState = React__default.useState({}),
73
- embedPanelRecord = _React$useState[0],
74
- setEmbedPanelRecord = _React$useState[1];
75
-
65
+ embedPanelRecord = _React$useState[0],
66
+ setEmbedPanelRecord = _React$useState[1];
76
67
  var getEmbedPanelById = useCallback(function (id) {
77
68
  return embedPanelRecord[id] || null;
78
69
  }, [embedPanelRecord]);
79
70
  /**
80
71
  * 异步展开逻辑处理
81
72
  */
82
-
83
73
  var onEmbedSwitch = useCallback(function (node, rowIndex) {
84
74
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
85
75
  var embedContentMaybePromise;
@@ -91,24 +81,19 @@ var useEmbedExpand = function useEmbedExpand(_ref) {
91
81
  _context.next = 2;
92
82
  break;
93
83
  }
94
-
95
84
  return _context.abrupt("return");
96
-
97
85
  case 2:
98
86
  embedContentMaybePromise = embedExpandable.expandedRender(node.raw, rowIndex); // TODO: 复用 use-dataSource 逻辑
99
-
100
87
  if (!isPromise(embedContentMaybePromise)) {
101
88
  _context.next = 8;
102
89
  break;
103
90
  }
104
-
105
91
  addLoadingIds(node.id);
106
92
  embedContentMaybePromise.then(function (jsxElement) {
107
93
  removeLoadingIds(node.id);
108
94
  if (typeof jsxElement === 'undefined') return;
109
95
  setEmbedPanelRecord(function (prev) {
110
96
  var _Object$assign;
111
-
112
97
  return Object.assign(Object.assign({}, prev), (_Object$assign = {}, _Object$assign[node.id] = jsxElement, _Object$assign));
113
98
  });
114
99
  })["catch"](function (jsxElement) {
@@ -116,28 +101,22 @@ var useEmbedExpand = function useEmbedExpand(_ref) {
116
101
  if (typeof jsxElement === 'undefined') return;
117
102
  setEmbedPanelRecord(function (prev) {
118
103
  var _Object$assign2;
119
-
120
104
  return Object.assign(Object.assign({}, prev), (_Object$assign2 = {}, _Object$assign2[node.id] = jsxElement, _Object$assign2));
121
105
  });
122
106
  });
123
107
  _context.next = 11;
124
108
  break;
125
-
126
109
  case 8:
127
110
  if (!(typeof embedContentMaybePromise === 'undefined')) {
128
111
  _context.next = 10;
129
112
  break;
130
113
  }
131
-
132
114
  return _context.abrupt("return");
133
-
134
115
  case 10:
135
116
  setEmbedPanelRecord(function (prev) {
136
117
  var _Object$assign3;
137
-
138
118
  return Object.assign(Object.assign({}, prev), (_Object$assign3 = {}, _Object$assign3[node.id] = embedContentMaybePromise, _Object$assign3));
139
119
  });
140
-
141
120
  case 11:
142
121
  case "end":
143
122
  return _context.stop();
@@ -155,5 +134,4 @@ var useEmbedExpand = function useEmbedExpand(_ref) {
155
134
  onExpandEmbedRowsChange: onExpandEmbedRowsChange
156
135
  };
157
136
  };
158
-
159
137
  export { useEmbedExpand };
@@ -13,6 +13,7 @@ import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
13
13
  import { fFindNestedChildNodesById, cloneTree } from '@hi-ui/tree-utils';
14
14
  import { useLatestRef, useLatestCallback } from '@hi-ui/use-latest';
15
15
 
16
+ // TODO: 抽离成 useDefaultExpandAll
16
17
  var useExpandProps = function useExpandProps(flattedData, defaultExpandedIds, expandedIdsProp, onExpand, defaultExpandAll) {
17
18
  return useUncontrolledState(function getDefaultExpandedIds() {
18
19
  // 开启默认展开全部
@@ -21,91 +22,76 @@ var useExpandProps = function useExpandProps(flattedData, defaultExpandedIds, ex
21
22
  return node.id;
22
23
  });
23
24
  }
24
-
25
25
  return defaultExpandedIds;
26
26
  }, expandedIdsProp, onExpand);
27
27
  };
28
28
  /**
29
29
  * 树形节点展开
30
30
  */
31
-
32
-
33
31
  var useExpand = function useExpand(flattedData, defaultExpandedIds, expandedIdsProp, onExpand, defaultExpandAll) {
34
32
  var _useExpandProps = useExpandProps(flattedData, defaultExpandedIds, expandedIdsProp, onExpand, defaultExpandAll),
35
- expandedIds = _useExpandProps[0],
36
- tryToggleExpandedIds = _useExpandProps[1]; // const [onExpandTreeRowsChange, isExpandTreeRows] = useCheck({
33
+ expandedIds = _useExpandProps[0],
34
+ tryToggleExpandedIds = _useExpandProps[1];
35
+ // const [onExpandTreeRowsChange, isExpandTreeRows] = useCheck({
37
36
  // checkedIds: expandTreeRows,
38
37
  // onCheck: trySetExpandTreeRows as any,
39
38
  // idFieldName: 'key',
40
39
  // })
41
-
42
-
43
40
  var expandedNodeIdSet = useMemo(function () {
44
41
  return new Set(expandedIds);
45
42
  }, [expandedIds]);
46
-
47
43
  var isExpandedId = function isExpandedId(id) {
48
44
  return expandedNodeIdSet.has(id);
49
45
  };
50
-
51
- var expandedIdsRef = useLatestRef(expandedIds); // 更新展示数据,只展示被展开的所有节点
52
-
46
+ var expandedIdsRef = useLatestRef(expandedIds);
47
+ // 更新展示数据,只展示被展开的所有节点
53
48
  var _useState = useState(flattedData),
54
- transitionData = _useState[0],
55
- setTransitionData = _useState[1];
56
-
49
+ transitionData = _useState[0],
50
+ setTransitionData = _useState[1];
57
51
  var transitionDataRef = useLatestRef(transitionData);
58
52
  var trySetTransitionData = useCallback(function (data, expandedIds) {
59
- var nextData = data; // 当有 children 时,在构造新的数据,防止重复刷新组件
60
-
53
+ var nextData = data;
54
+ // 当有 children 时,在构造新的数据,防止重复刷新组件
61
55
  if (data.some(function (item) {
62
56
  return !!item.children && item.children.length > 0;
63
57
  })) {
64
58
  nextData = flattenTreeDataWithExpand(data, expandedIds);
65
59
  }
66
-
67
60
  setTransitionData(nextData);
68
- }, []); // 用来确保一次折叠动画是一次加锁的单元任务
61
+ }, []);
62
+ // 用来确保一次折叠动画是一次加锁的单元任务
69
63
  // 防止用户频繁折叠展开导致动画渲染(存在 DOM 操作)异常
70
-
71
64
  var _useState2 = useState(false),
72
- isExpanding = _useState2[0],
73
- setIsExpanding = _useState2[1];
74
-
65
+ isExpanding = _useState2[0],
66
+ setIsExpanding = _useState2[1];
75
67
  var isExpandingRef = useRef(false);
76
-
77
68
  var _useQueue = useQueue([]),
78
- enqueue = _useQueue.enqueue,
79
- top = _useQueue.top,
80
- dequeue = _useQueue.dequeue; // 用户传入 data 或 expandedIds 被改变时,同步更新要展示的所有节点
81
-
82
-
69
+ enqueue = _useQueue.enqueue,
70
+ top = _useQueue.top,
71
+ dequeue = _useQueue.dequeue;
72
+ // 用户传入 data 或 expandedIds 被改变时,同步更新要展示的所有节点
83
73
  useEffect(function () {
84
74
  trySetTransitionData(flattedData, expandedIds);
85
75
  }, [flattedData, trySetTransitionData, expandedIds]);
86
76
  var onNodeToggleStart = useCallback(function (expandedNode, shouldExpanded) {
87
77
  if (isExpandingRef.current) return;
88
78
  var expanded = expandedIdsRef.current.indexOf(expandedNode.id) !== -1;
89
-
90
79
  if (shouldExpanded === expanded) {
91
80
  dequeue();
92
81
  return;
93
- } // isExpandingRef.current = true
94
-
95
-
82
+ }
83
+ // isExpandingRef.current = true
96
84
  setIsExpanding(true);
97
85
  var expandedIds = expandedIdsRef.current;
98
86
  var transitionData = transitionDataRef.current;
99
87
  var expandedNodeIdSet = new Set(expandedIds);
100
88
  var expandedNodeId = expandedNode.id;
101
-
102
89
  if (shouldExpanded) {
103
- expandedNodeIdSet.add(expandedNodeId); // 设置展开的子节点集合用一个容器节点包裹,用来实现动画展开效果
90
+ expandedNodeIdSet.add(expandedNodeId);
91
+ // 设置展开的子节点集合用一个容器节点包裹,用来实现动画展开效果
104
92
  // @ts-ignore
105
-
106
93
  var _fFindNestedChildNode = fFindNestedChildNodesById(flattedData, expandedNodeId),
107
- rangeData = _fFindNestedChildNode[0];
108
-
94
+ rangeData = _fFindNestedChildNode[0];
109
95
  var expandedNodeIndex = transitionData.findIndex(function (node) {
110
96
  return node.id === expandedNodeId;
111
97
  });
@@ -114,22 +100,18 @@ var useExpand = function useExpand(flattedData, defaultExpandedIds, expandedIdsP
114
100
  newTransitionData.splice.apply(newTransitionData, [childrenStartIndex, 0].concat(flattenTreeDataWithExpand(rangeData, expandedIds)));
115
101
  trySetTransitionData(newTransitionData, Array.from(expandedNodeIdSet));
116
102
  } else {
117
- expandedNodeIdSet["delete"](expandedNodeId); // 设置隐藏的子节点集合用一个 节点 包裹,用来实现动画隐藏效果
118
-
119
- var _fFindNestedChildNode2 = fFindNestedChildNodesById( // @ts-ignore
120
- transitionData, expandedNodeId),
121
- _rangeData = _fFindNestedChildNode2[0],
122
- _expandedNodeIndex = _fFindNestedChildNode2[1];
123
-
103
+ expandedNodeIdSet["delete"](expandedNodeId);
104
+ // 设置隐藏的子节点集合用一个 节点 包裹,用来实现动画隐藏效果
105
+ var _fFindNestedChildNode2 = fFindNestedChildNodesById(
106
+ // @ts-ignore
107
+ transitionData, expandedNodeId),
108
+ _rangeData = _fFindNestedChildNode2[0],
109
+ _expandedNodeIndex = _fFindNestedChildNode2[1];
124
110
  var _childrenStartIndex = _expandedNodeIndex + 1;
125
-
126
111
  var _newTransitionData = cloneTree(transitionData);
127
-
128
112
  _newTransitionData.splice.apply(_newTransitionData, [_childrenStartIndex, _rangeData.length].concat(_rangeData));
129
-
130
113
  trySetTransitionData(_newTransitionData, Array.from(expandedNodeIdSet));
131
114
  }
132
-
133
115
  tryToggleExpandedIds(Array.from(expandedNodeIdSet), expandedNode, shouldExpanded);
134
116
  }, [tryToggleExpandedIds, flattedData, trySetTransitionData, dequeue, expandedIdsRef, transitionDataRef]);
135
117
  var onNodeToggleStartLatest = useLatestCallback(onNodeToggleStart);
@@ -139,7 +121,6 @@ var useExpand = function useExpand(flattedData, defaultExpandedIds, expandedIdsP
139
121
  useEffect(function () {
140
122
  window.requestAnimationFrame(function () {
141
123
  if (isExpanding) return;
142
-
143
124
  if (top) {
144
125
  onNodeToggleStartLatest(top[0], top[1]);
145
126
  dequeue();
@@ -149,28 +130,23 @@ var useExpand = function useExpand(flattedData, defaultExpandedIds, expandedIdsP
149
130
  }, [isExpanding, top, onNodeToggleStartLatest, dequeue]);
150
131
  return [transitionData, onNodeExpand, isExpandedId];
151
132
  };
152
-
153
133
  function flattenTreeDataWithExpand(flattedTreeData, expandedIds) {
154
134
  var expandedKeySet = new Set(expandedIds);
155
135
  var length = flattedTreeData.length;
156
- var nextData = []; // 处理只展示未折叠的节点或动画节点
157
-
136
+ var nextData = [];
137
+ // 处理只展示未折叠的节点或动画节点
158
138
  for (var i = 0; i < length;) {
159
139
  var node = flattedTreeData[i];
160
140
  nextData.push(node);
161
-
162
141
  if (expandedKeySet.has(node.id)) {
163
142
  i++;
164
143
  } else {
165
144
  var child = flattedTreeData[++i];
166
-
167
145
  while (child && child.depth > node.depth) {
168
146
  child = flattedTreeData[++i];
169
147
  }
170
148
  }
171
149
  }
172
-
173
150
  return nextData;
174
151
  }
175
-
176
152
  export { useExpand, useExpandProps };
@@ -11,44 +11,33 @@ import React__default from 'react';
11
11
  import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
12
12
  import { useLatestCallback } from '@hi-ui/use-latest';
13
13
  import axios from 'axios';
14
-
15
14
  var useTablePagination = function useTablePagination(_ref) {
16
15
  var pagination = _ref.pagination,
17
- loadingProp = _ref.loadingProp,
18
- dataProp = _ref.data,
19
- dataSource = _ref.dataSource;
20
-
16
+ loadingProp = _ref.loadingProp,
17
+ dataProp = _ref.data,
18
+ dataSource = _ref.dataSource;
21
19
  var _a, _b;
22
-
23
20
  var _useUncontrolledState = useUncontrolledState(1, pagination.current, pagination.onChange),
24
- currentPage = _useUncontrolledState[0],
25
- trySetCurrentPage = _useUncontrolledState[1];
26
-
21
+ currentPage = _useUncontrolledState[0],
22
+ trySetCurrentPage = _useUncontrolledState[1];
27
23
  var _useUncontrolledState2 = useUncontrolledState((_b = (_a = pagination === null || pagination === void 0 ? void 0 : pagination.pageSizeOptions) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 10, pagination.pageSize, pagination.onPageSizeChange),
28
- pageSize = _useUncontrolledState2[0],
29
- trySetPageSize = _useUncontrolledState2[1];
30
-
24
+ pageSize = _useUncontrolledState2[0],
25
+ trySetPageSize = _useUncontrolledState2[1];
31
26
  var _React$useState = React__default.useState(false),
32
- internalLoading = _React$useState[0],
33
- setInternalLoading = _React$useState[1];
34
-
27
+ internalLoading = _React$useState[0],
28
+ setInternalLoading = _React$useState[1];
35
29
  var loading = dataSource ? internalLoading : loadingProp;
36
-
37
30
  var _React$useState2 = React__default.useState(0),
38
- internalTotal = _React$useState2[0],
39
- setInternalTotal = _React$useState2[1];
40
-
31
+ internalTotal = _React$useState2[0],
32
+ setInternalTotal = _React$useState2[1];
41
33
  var total = dataSource ? internalTotal : pagination.total;
42
-
43
34
  var _React$useState3 = React__default.useState([]),
44
- remoteTableData = _React$useState3[0],
45
- setRemoteTableData = _React$useState3[1];
46
-
35
+ remoteTableData = _React$useState3[0],
36
+ setRemoteTableData = _React$useState3[1];
47
37
  var mergedData = dataSource ? remoteTableData : dataProp;
48
38
  /**
49
39
  * 当设置 dataSource 后,则自动获取数据
50
40
  */
51
-
52
41
  var getData = useLatestCallback(function () {
53
42
  if (dataSource) {
54
43
  var requestConfig = dataSource(currentPage, pageSize);
@@ -82,5 +71,4 @@ var useTablePagination = function useTablePagination(_ref) {
82
71
  total: total
83
72
  };
84
73
  };
85
-
86
74
  export { useTablePagination };
@@ -8,16 +8,13 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import { useState, useCallback } from 'react';
11
-
12
11
  var useQueue = function useQueue(initialValue) {
13
12
  if (initialValue === void 0) {
14
13
  initialValue = [];
15
14
  }
16
-
17
15
  var _useState = useState(initialValue),
18
- queue = _useState[0],
19
- setQueue = _useState[1];
20
-
16
+ queue = _useState[0],
17
+ setQueue = _useState[1];
21
18
  var enqueue = useCallback(function (value) {
22
19
  setQueue(function (prevQueue) {
23
20
  return [].concat(prevQueue, [value]);
@@ -26,23 +23,18 @@ var useQueue = function useQueue(initialValue) {
26
23
  var dequeue = useCallback(function () {
27
24
  setQueue(function (_ref) {
28
25
  var nextQueue = _ref.slice(1);
29
-
30
26
  return nextQueue;
31
27
  });
32
28
  }, []);
33
29
  return {
34
30
  enqueue: enqueue,
35
31
  dequeue: dequeue,
36
-
37
32
  get top() {
38
33
  return queue[0];
39
34
  },
40
-
41
35
  get empty() {
42
36
  return queue.length === 0;
43
37
  }
44
-
45
38
  };
46
39
  };
47
-
48
40
  export { useQueue };
@@ -1,5 +1,4 @@
1
1
  import _typeof from "@babel/runtime/helpers/esm/typeof";
2
-
3
2
  /** @LICENSE
4
3
  * @hi-ui/table
5
4
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
@@ -10,6 +9,7 @@ import _typeof from "@babel/runtime/helpers/esm/typeof";
10
9
  * LICENSE file in the root directory of this source tree.
11
10
  */
12
11
  import { c as classnames } from '../../_virtual/index.js';
12
+
13
13
  /*!
14
14
  Copyright (c) 2018 Jed Watson.
15
15
  Licensed under the MIT License (MIT), see
@@ -18,24 +18,20 @@ import { c as classnames } from '../../_virtual/index.js';
18
18
 
19
19
  (function (module) {
20
20
  /* global define */
21
+
21
22
  (function () {
22
23
  var hasOwn = {}.hasOwnProperty;
23
-
24
24
  function classNames() {
25
25
  var classes = [];
26
-
27
26
  for (var i = 0; i < arguments.length; i++) {
28
27
  var arg = arguments[i];
29
28
  if (!arg) continue;
30
-
31
29
  var argType = _typeof(arg);
32
-
33
30
  if (argType === 'string' || argType === 'number') {
34
31
  classes.push(arg);
35
32
  } else if (Array.isArray(arg)) {
36
33
  if (arg.length) {
37
34
  var inner = classNames.apply(null, arg);
38
-
39
35
  if (inner) {
40
36
  classes.push(inner);
41
37
  }
@@ -52,10 +48,8 @@ import { c as classnames } from '../../_virtual/index.js';
52
48
  }
53
49
  }
54
50
  }
55
-
56
51
  return classes.join(' ');
57
52
  }
58
-
59
53
  if (module.exports) {
60
54
  classNames["default"] = classNames;
61
55
  module.exports = classNames;
@@ -64,6 +58,5 @@ import { c as classnames } from '../../_virtual/index.js';
64
58
  }
65
59
  })();
66
60
  })(classnames);
67
-
68
61
  var classNames = classnames.exports;
69
62
  export { classNames as default };