@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
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { __rest } from 'tslib';
11
11
  import React__default, { useMemo, useState, useRef, useCallback, useEffect } from 'react';
12
- import { cloneTree, flattenTree, getLeafChildren, getNodeRootParent, flattedTreeSort } from '@hi-ui/tree-utils';
12
+ import { cloneTree, flattenTree, getNodeRootParent, flattedTreeSort, getLeafChildren } from '@hi-ui/tree-utils';
13
13
  import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
14
14
  import { isNullish, isArrayNonEmpty } from '@hi-ui/type-assertion';
15
15
  import { useCheck, useSelect } from '@hi-ui/use-check';
@@ -30,75 +30,69 @@ var DEFAULT_HIGHLIGHTED_ROW_KEYS = [];
30
30
  var DEFAULT_HIGHLIGHTED_COL_KEYS = [];
31
31
  var DEFAULT_EXPAND_ROW_KEYS = [];
32
32
  var DEFAULT_FIXED_TO_COLUMN = {};
33
-
34
33
  var useTable = function useTable(_a) {
35
34
  var _a$data = _a.data,
36
- data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
37
- _a$columns = _a.columns,
38
- columnsProp = _a$columns === void 0 ? DEFAULT_COLUMNS : _a$columns,
39
- _a$defaultFixedToColu = _a.defaultFixedToColumn,
40
- defaultFixedToColumn = _a$defaultFixedToColu === void 0 ? DEFAULT_FIXED_TO_COLUMN : _a$defaultFixedToColu,
41
- fixedToColumnProp = _a.fixedToColumn,
42
- onFixedToColumn = _a.onFixedToColumn,
43
- scrollWidth = _a.scrollWidth,
44
- _a$resizable = _a.resizable,
45
- resizable = _a$resizable === void 0 ? false : _a$resizable,
46
- _a$errorRowKeys = _a.errorRowKeys,
47
- errorRowKeys = _a$errorRowKeys === void 0 ? DEFAULT_ERROR_ROW_KEYS : _a$errorRowKeys,
48
- highlightedColKeysProp = _a.highlightedColKeys,
49
- highlightedRowKeysProp = _a.highlightedRowKeys,
50
- _a$showColHighlight = _a.showColHighlight,
51
- showColHighlight = _a$showColHighlight === void 0 ? false : _a$showColHighlight,
52
- _a$showRowHighlight = _a.showRowHighlight,
53
- showRowHighlight = _a$showRowHighlight === void 0 ? true : _a$showRowHighlight,
54
- _a$highlightRowOnDoub = _a.highlightRowOnDoubleClick,
55
- highlightRowOnDoubleClick = _a$highlightRowOnDoub === void 0 ? true : _a$highlightRowOnDoub,
56
- _a$defaultExpandedRow = _a.defaultExpandedRowKeys,
57
- defaultExpandedRowKeys = _a$defaultExpandedRow === void 0 ? DEFAULT_EXPAND_ROW_KEYS : _a$defaultExpandedRow,
58
- expandRowKeysProp = _a.expandedRowKeys,
59
- onExpand = _a.onExpand,
60
- _a$defaultExpandAll = _a.defaultExpandAll,
61
- defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
62
- onLoadChildren = _a.onLoadChildren,
63
- maxHeight = _a.maxHeight,
64
- sticky = _a.sticky,
65
- _a$stickyTop = _a.stickyTop,
66
- stickyTop = _a$stickyTop === void 0 ? 0 : _a$stickyTop,
67
- _a$draggable = _a.draggable,
68
- draggable = _a$draggable === void 0 ? false : _a$draggable,
69
- onDropProp = _a.onDrop,
70
- onDropEnd = _a.onDropEnd,
71
- showColMenu = _a.showColMenu,
72
- rowSelection = _a.rowSelection,
73
- cellRender = _a.cellRender,
74
- footerRender = _a.footerRender,
75
- _a$fieldKey = _a.fieldKey,
76
- fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
77
- virtual = _a.virtual,
78
- scrollbar = _a.scrollbar,
79
- rootProps = __rest(_a, ["data", "columns", "defaultFixedToColumn", "fixedToColumn", "onFixedToColumn", "scrollWidth", "resizable", "errorRowKeys", "highlightedColKeys", "highlightedRowKeys", "showColHighlight", "showRowHighlight", "highlightRowOnDoubleClick", "defaultExpandedRowKeys", "expandedRowKeys", "onExpand", "defaultExpandAll", "onLoadChildren", "maxHeight", "sticky", "stickyTop", "draggable", "onDragStart", "onDrop", "onDropEnd", "showColMenu", "rowSelection", "cellRender", "footerRender", "fieldKey", "virtual", "scrollbar"]);
35
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
36
+ _a$columns = _a.columns,
37
+ columnsProp = _a$columns === void 0 ? DEFAULT_COLUMNS : _a$columns,
38
+ _a$defaultFixedToColu = _a.defaultFixedToColumn,
39
+ defaultFixedToColumn = _a$defaultFixedToColu === void 0 ? DEFAULT_FIXED_TO_COLUMN : _a$defaultFixedToColu,
40
+ fixedToColumnProp = _a.fixedToColumn,
41
+ onFixedToColumn = _a.onFixedToColumn,
42
+ scrollWidth = _a.scrollWidth,
43
+ _a$resizable = _a.resizable,
44
+ resizable = _a$resizable === void 0 ? false : _a$resizable,
45
+ _a$errorRowKeys = _a.errorRowKeys,
46
+ errorRowKeys = _a$errorRowKeys === void 0 ? DEFAULT_ERROR_ROW_KEYS : _a$errorRowKeys,
47
+ highlightedColKeysProp = _a.highlightedColKeys,
48
+ highlightedRowKeysProp = _a.highlightedRowKeys,
49
+ _a$showColHighlight = _a.showColHighlight,
50
+ showColHighlight = _a$showColHighlight === void 0 ? false : _a$showColHighlight,
51
+ _a$showRowHighlight = _a.showRowHighlight,
52
+ showRowHighlight = _a$showRowHighlight === void 0 ? true : _a$showRowHighlight,
53
+ _a$highlightRowOnDoub = _a.highlightRowOnDoubleClick,
54
+ highlightRowOnDoubleClick = _a$highlightRowOnDoub === void 0 ? true : _a$highlightRowOnDoub,
55
+ _a$defaultExpandedRow = _a.defaultExpandedRowKeys,
56
+ defaultExpandedRowKeys = _a$defaultExpandedRow === void 0 ? DEFAULT_EXPAND_ROW_KEYS : _a$defaultExpandedRow,
57
+ expandRowKeysProp = _a.expandedRowKeys,
58
+ onExpand = _a.onExpand,
59
+ _a$defaultExpandAll = _a.defaultExpandAll,
60
+ defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
61
+ onLoadChildren = _a.onLoadChildren,
62
+ maxHeight = _a.maxHeight,
63
+ sticky = _a.sticky,
64
+ _a$stickyTop = _a.stickyTop,
65
+ stickyTop = _a$stickyTop === void 0 ? 0 : _a$stickyTop,
66
+ _a$draggable = _a.draggable,
67
+ draggable = _a$draggable === void 0 ? false : _a$draggable,
68
+ onDropProp = _a.onDrop,
69
+ onDropEnd = _a.onDropEnd,
70
+ showColMenu = _a.showColMenu,
71
+ rowSelection = _a.rowSelection,
72
+ cellRender = _a.cellRender,
73
+ footerRender = _a.footerRender,
74
+ _a$fieldKey = _a.fieldKey,
75
+ fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
76
+ virtual = _a.virtual,
77
+ scrollbar = _a.scrollbar,
78
+ rootProps = __rest(_a, ["data", "columns", "defaultFixedToColumn", "fixedToColumn", "onFixedToColumn", "scrollWidth", "resizable", "errorRowKeys", "highlightedColKeys", "highlightedRowKeys", "showColHighlight", "showRowHighlight", "highlightRowOnDoubleClick", "defaultExpandedRowKeys", "expandedRowKeys", "onExpand", "defaultExpandAll", "onLoadChildren", "maxHeight", "sticky", "stickyTop", "draggable", "onDragStart", "onDrop", "onDropEnd", "showColMenu", "rowSelection", "cellRender", "footerRender", "fieldKey", "virtual", "scrollbar"]);
80
79
  /**
81
80
  * 获取 key 字段值
82
81
  */
83
-
84
-
85
82
  var getRowKeyField = React__default.useCallback(function (item) {
86
83
  var val = item[fieldKey];
87
84
  invariant(!isNullish(val), 'Not found for the unique %s attribute in each row of data prop.', fieldKey);
88
85
  return val;
89
- }, [fieldKey]); // ********************** cache *********************** //
90
-
86
+ }, [fieldKey]);
87
+ // ********************** cache *********************** //
91
88
  var _useCache = useCache(data),
92
- cacheData = _useCache[0],
93
- setCacheData = _useCache[1];
94
-
89
+ cacheData = _useCache[0],
90
+ setCacheData = _useCache[1];
95
91
  var _useCache2 = useCache(columnsProp),
96
- columns = _useCache2[0];
92
+ columns = _useCache2[0];
97
93
  /**
98
94
  * 扁平化数据,支持树形 table
99
95
  */
100
-
101
-
102
96
  var flattedData = useMemo(function () {
103
97
  var clonedData = cloneTree(cacheData);
104
98
  return flattenTree(clonedData, function (node) {
@@ -106,92 +100,81 @@ var useTable = function useTable(_a) {
106
100
  id: getRowKeyField(node.raw)
107
101
  });
108
102
  });
109
- }, [cacheData, getRowKeyField]); // ********************** 树形表格 *********************** //
110
-
103
+ }, [cacheData, getRowKeyField]);
104
+ // ********************** 树形表格 *********************** //
111
105
  var _useExpand = useExpand(flattedData, defaultExpandedRowKeys, expandRowKeysProp, onExpand, defaultExpandAll),
112
- transitionData = _useExpand[0],
113
- onExpandTreeRowsChange = _useExpand[1],
114
- isExpandTreeRows = _useExpand[2]; // 异步展开子树
115
-
116
-
106
+ transitionData = _useExpand[0],
107
+ onExpandTreeRowsChange = _useExpand[1],
108
+ isExpandTreeRows = _useExpand[2];
109
+ // 异步展开子树
117
110
  var _useAsyncSwitch = useAsyncSwitch({
118
- setCascaderData: setCacheData,
119
- onExpand: onExpandTreeRowsChange,
120
- onLoadChildren: onLoadChildren,
121
- fieldKey: fieldKey
122
- }),
123
- isLoadingTreeNodeId = _useAsyncSwitch[0],
124
- onTreeNodeSwitch = _useAsyncSwitch[1]; // ************************ 拖拽 ************************ //
125
-
126
-
111
+ setCascaderData: setCacheData,
112
+ onExpand: onExpandTreeRowsChange,
113
+ onLoadChildren: onLoadChildren,
114
+ fieldKey: fieldKey
115
+ }),
116
+ isLoadingTreeNodeId = _useAsyncSwitch[0],
117
+ onTreeNodeSwitch = _useAsyncSwitch[1];
118
+ // ************************ 拖拽 ************************ //
127
119
  var _useTableDrag = useTableDrag({
128
- cacheData: cacheData,
129
- setCacheData: setCacheData,
130
- draggable: draggable,
131
- flattedData: flattedData,
132
- onDropEnd: onDropEnd,
133
- onDrop: onDropProp,
134
- fieldKey: fieldKey
135
- }),
136
- onDrop = _useTableDrag.onDrop,
137
- dragRowRef = _useTableDrag.dragRowRef; // ************************ colgroup ************************ //
138
-
139
-
120
+ cacheData: cacheData,
121
+ setCacheData: setCacheData,
122
+ draggable: draggable,
123
+ flattedData: flattedData,
124
+ onDropEnd: onDropEnd,
125
+ onDrop: onDropProp,
126
+ fieldKey: fieldKey
127
+ }),
128
+ onDrop = _useTableDrag.onDrop,
129
+ dragRowRef = _useTableDrag.dragRowRef;
130
+ // ************************ colgroup ************************ //
140
131
  var _useColumns = useColumns({
141
- columns: columns
142
- }),
143
- flattedColumns = _useColumns.flattedColumns,
144
- mergedColumns2 = _useColumns.mergedColumns,
145
- leafColumns = _useColumns.leafColumns; // ************************ 列高亮 ************************ //
146
-
132
+ columns: columns
133
+ }),
134
+ flattedColumns = _useColumns.flattedColumns,
135
+ mergedColumns2 = _useColumns.mergedColumns,
136
+ leafColumns = _useColumns.leafColumns;
137
+ // ************************ 列高亮 ************************ //
147
138
  /**
148
139
  * 控制列高亮,依据 column 中的 dataKey 控制
149
140
  */
150
-
151
-
152
141
  var _useUncontrolledState = useUncontrolledState(DEFAULT_HIGHLIGHTED_COL_KEYS, highlightedColKeysProp),
153
- highlightedColKeys = _useUncontrolledState[0],
154
- trySetHighlightedColKeys = _useUncontrolledState[1];
155
-
142
+ highlightedColKeys = _useUncontrolledState[0],
143
+ trySetHighlightedColKeys = _useUncontrolledState[1];
156
144
  var _useCheck = useCheck({
157
- checkedIds: highlightedColKeys,
158
- onCheck: trySetHighlightedColKeys,
159
- idFieldName: 'dataKey'
160
- }),
161
- onHighlightedColChange = _useCheck[0],
162
- isHighlightedCol = _useCheck[1];
145
+ checkedIds: highlightedColKeys,
146
+ onCheck: trySetHighlightedColKeys,
147
+ idFieldName: 'dataKey'
148
+ }),
149
+ onHighlightedColChange = _useCheck[0],
150
+ isHighlightedCol = _useCheck[1];
163
151
  /**
164
152
  * 设置列 hover 时高亮,依据 column 中的 dataKey 控制
165
153
  * 与 highlightedColKeys 互不影响
166
154
  */
167
-
168
-
169
155
  var _useState = useState(''),
170
- hoveredColKey = _useState[0],
171
- setHoveredColKey = _useState[1];
172
-
156
+ hoveredColKey = _useState[0],
157
+ setHoveredColKey = _useState[1];
173
158
  var _useSelect = useSelect({
174
- disabled: !showColHighlight,
175
- selectedId: hoveredColKey,
176
- onSelect: setHoveredColKey
177
- }),
178
- onHoveredColChange = _useSelect[0],
179
- isHoveredHighlightCol = _useSelect[1]; // ************************ 列宽 resizable ************************ //
180
-
181
-
159
+ disabled: !showColHighlight,
160
+ selectedId: hoveredColKey,
161
+ onSelect: setHoveredColKey
162
+ }),
163
+ onHoveredColChange = _useSelect[0],
164
+ isHoveredHighlightCol = _useSelect[1];
165
+ // ************************ 列宽 resizable ************************ //
182
166
  var _useColWidth = useColWidth({
183
- data: data,
184
- columns: columns,
185
- resizable: resizable,
186
- virtual: virtual
187
- }),
188
- measureRowElementRef = _useColWidth.measureRowElementRef,
189
- getColgroupProps = _useColWidth.getColgroupProps,
190
- onColumnResizable = _useColWidth.onColumnResizable,
191
- colWidths = _useColWidth.colWidths,
192
- setHeaderTableElement = _useColWidth.setHeaderTableElement; // ************************ 列冻结 ************************ //
193
-
194
-
167
+ data: data,
168
+ columns: columns,
169
+ resizable: resizable,
170
+ virtual: virtual
171
+ }),
172
+ measureRowElementRef = _useColWidth.measureRowElementRef,
173
+ getColgroupProps = _useColWidth.getColgroupProps,
174
+ onColumnResizable = _useColWidth.onColumnResizable,
175
+ colWidths = _useColWidth.colWidths,
176
+ setHeaderTableElement = _useColWidth.setHeaderTableElement;
177
+ // ************************ 列冻结 ************************ //
195
178
  var bodyTableRef = useRef(null);
196
179
  var scrollBodyElementRef = useRef(null);
197
180
  /**
@@ -199,173 +182,155 @@ var useTable = function useTable(_a) {
199
182
  *
200
183
  * TODO: 支持 2 种模式:从左往右冻结到指定列、只抽离并冻结指定列
201
184
  */
202
-
203
185
  var _useUncontrolledState2 = useUncontrolledState(defaultFixedToColumn, fixedToColumnProp, onFixedToColumn),
204
- fixedToColumn = _useUncontrolledState2[0],
205
- setFixedToColumn = _useUncontrolledState2[1];
206
-
186
+ fixedToColumn = _useUncontrolledState2[0],
187
+ setFixedToColumn = _useUncontrolledState2[1];
207
188
  var leftFreezeColumn = fixedToColumn.left;
208
189
  var rightFreezeColumn = fixedToColumn.right;
209
190
  var setLeftFreezeColumn = useCallback(function (columnKey) {
210
191
  setFixedToColumn(function (prev) {
211
192
  var next = Object.assign({}, prev);
212
193
  next.left = columnKey;
213
-
214
194
  if (next.right === columnKey) {
215
195
  next.right = '';
216
196
  }
217
-
218
197
  return next;
219
198
  });
220
199
  }, [setFixedToColumn]);
221
-
222
200
  var _React$useMemo = React__default.useMemo(function () {
223
- if (!leftFreezeColumn && !rightFreezeColumn) {
224
- return {
225
- leftFrozenColKeys: [],
226
- rightFrozenColKeys: [],
227
- columns: mergedColumns2
228
- };
229
- }
230
-
231
- var leftFrozenColKey = leftFreezeColumn;
232
- var rightFrozenKey = rightFreezeColumn; // 获取左右冻结列的下标
233
- // 获取左右冻结列的下标
234
-
235
- var leftFrozenColIndex;
236
- var rightFrozenColIndex;
237
- mergedColumns2.some(function (column, index) {
238
- if (typeof leftFrozenColKey === 'string' && leftFrozenColKey === column.dataKey) {
239
- leftFrozenColIndex = index;
240
- }
241
-
242
- if (typeof rightFrozenKey === 'string' && rightFrozenKey === column.dataKey) {
243
- rightFrozenColIndex = index;
201
+ if (!leftFreezeColumn && !rightFreezeColumn) {
202
+ return {
203
+ leftFrozenColKeys: [],
204
+ rightFrozenColKeys: [],
205
+ columns: mergedColumns2
206
+ };
244
207
  }
245
-
246
- return leftFrozenColIndex !== undefined && rightFrozenColIndex !== undefined;
247
- }); // 保持内部循环引用关系,如果 cloneTree,将破坏关系
248
- // 保持内部循环引用关系,如果 cloneTree,将破坏关系
249
-
250
- var nextColumns = [].concat(mergedColumns2);
251
-
252
- if (typeof leftFrozenColIndex === 'number' || typeof rightFrozenColIndex === 'number' || scrollWidth) {
253
- var lastColumns = mergedColumns2;
254
- nextColumns = setColumnsDefaultWidth(nextColumns, scrollWidth ? scrollWidth / lastColumns.length : 100);
255
-
256
- if (colWidths) {
257
- // colWidths 记录的是最新的列宽,当它有值时,重置一下列宽,否则会导致冻结列动态调整宽度后定位不准
258
- nextColumns = nextColumns.map(function (item, index) {
259
- return Object.assign(Object.assign({}, item), {
260
- width: colWidths[index]
208
+ var leftFrozenColKey = leftFreezeColumn;
209
+ var rightFrozenKey = rightFreezeColumn;
210
+ // 获取左右冻结列的下标
211
+ // 获取左右冻结列的下标
212
+ var leftFrozenColIndex;
213
+ var rightFrozenColIndex;
214
+ mergedColumns2.some(function (column, index) {
215
+ if (typeof leftFrozenColKey === 'string' && leftFrozenColKey === column.dataKey) {
216
+ leftFrozenColIndex = index;
217
+ }
218
+ if (typeof rightFrozenKey === 'string' && rightFrozenKey === column.dataKey) {
219
+ rightFrozenColIndex = index;
220
+ }
221
+ return leftFrozenColIndex !== undefined && rightFrozenColIndex !== undefined;
222
+ });
223
+ // 保持内部循环引用关系,如果 cloneTree,将破坏关系
224
+ // 保持内部循环引用关系,如果 cloneTree,将破坏关系
225
+ var nextColumns = [].concat(mergedColumns2);
226
+ if (typeof leftFrozenColIndex === 'number' || typeof rightFrozenColIndex === 'number' || scrollWidth) {
227
+ var lastColumns = mergedColumns2;
228
+ nextColumns = setColumnsDefaultWidth(nextColumns, scrollWidth ? scrollWidth / lastColumns.length : 100);
229
+ if (colWidths) {
230
+ // colWidths 记录的是最新的列宽,当它有值时,重置一下列宽,否则会导致冻结列动态调整宽度后定位不准
231
+ nextColumns = nextColumns.map(function (item, index) {
232
+ return Object.assign(Object.assign({}, item), {
233
+ width: colWidths[index]
234
+ });
261
235
  });
236
+ }
237
+ }
238
+ var leftColumns = [];
239
+ // 左侧
240
+ // 左侧
241
+ if (typeof leftFrozenColIndex === 'number') {
242
+ // TODO: 支持嵌套冻结列
243
+ // const targetColumn = nextColumns[leftFrozenColIndex]
244
+ // const beforeColumns = nextColumns.filter((_, idx) => idx < leftFrozenColIndex!)
245
+ // // @ts-ignore
246
+ // const afterColumns = fFindNestedChildNodesByIndex(nextColumns, leftFrozenColIndex)
247
+ // // @ts-ignore
248
+ // leftColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
249
+ leftColumns = nextColumns.filter(function (item, index) {
250
+ return index <= leftFrozenColIndex && item.depth === 0;
251
+ });
252
+ leftColumns.forEach(function (currentItem, index) {
253
+ var item = parseFixedColumns(currentItem, index, nextColumns, leftColumns, 'leftStickyWidth');
254
+ leftColumns[index] = item;
255
+ nextColumns[item.index] = item;
262
256
  });
263
257
  }
264
- }
265
-
266
- var leftColumns = []; // 左侧
267
- // 左侧
268
-
269
- if (typeof leftFrozenColIndex === 'number') {
270
- // TODO: 支持嵌套冻结列
271
- // const targetColumn = nextColumns[leftFrozenColIndex]
272
- // const beforeColumns = nextColumns.filter((_, idx) => idx < leftFrozenColIndex!)
273
- // // @ts-ignore
274
- // const afterColumns = fFindNestedChildNodesByIndex(nextColumns, leftFrozenColIndex)
275
- // // @ts-ignore
276
- // leftColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
277
- leftColumns = nextColumns.filter(function (item, index) {
278
- return index <= leftFrozenColIndex && item.depth === 0;
279
- });
280
- leftColumns.forEach(function (currentItem, index) {
281
- var item = parseFixedColumns(currentItem, index, nextColumns, leftColumns, 'leftStickyWidth');
282
- leftColumns[index] = item;
283
- nextColumns[item.index] = item;
284
- });
285
- } // @TODO: resizable 和 列冻结宽兼容,统一宽度设置来源
286
- // const leftFixedColumnsWidth = colWidths.reduce(
287
- // (acc, width, index) => (acc += index <= leftFrozenColIndex! ? width : 0),
288
- // 0
289
- // )
290
- // @TODO: resizable 列冻结宽兼容,统一宽度设置来源
291
- // const leftFixedColumnsWidth = colWidths.reduce(
292
- // (acc, width, index) => (acc += index <= leftFrozenColIndex! ? width : 0),
293
- // 0
294
- // )
295
-
296
-
297
- var getLeafNodes = function getLeafNodes(columns) {
298
- return columns.reduce(function (acc, column) {
299
- return acc.concat(getLeafChildren(column));
300
- }, []);
301
- };
302
-
303
- var leftLeafNodes = getLeafNodes(leftColumns);
304
- var leftColIndex = leftLeafNodes.length;
305
- var leftFixedColumnsWidth = colWidths.reduce(function (acc, width, index) {
306
- return acc += index < leftColIndex ? width : 0;
307
- }, 0); // 右侧
308
- // 右侧
309
-
310
- var rightColumns = [];
311
-
312
- if (typeof rightFrozenColIndex === 'number') {
313
- var targetColumn = nextColumns[rightFrozenColIndex]; // const beforeColumns = getNodeAncestors(targetColumn)
314
- // const afterColumns = nextColumns.filter((_, idx) => idx > rightFrozenColIndex!)
315
- // // @ts-ignore
316
- // rightColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
317
- // const beforeColumns = getNodeAncestors(targetColumn)
318
- // const afterColumns = nextColumns.filter((_, idx) => idx > rightFrozenColIndex!)
319
- // // @ts-ignore
320
- // rightColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
321
-
322
- var root = getNodeRootParent(targetColumn);
323
- rightColumns = [root].concat(nextColumns.filter(function (item, index) {
324
- return index > rightFrozenColIndex && item.depth === 0;
325
- })).reverse();
326
- rightColumns.forEach(function (currentItem, index) {
327
- var item = parseFixedColumns(currentItem, index, nextColumns, rightColumns, 'rightStickyWidth');
328
- rightColumns[index] = item;
329
- nextColumns[item.index] = item;
330
- });
331
- }
332
-
333
- var rightLeafNodes = getLeafNodes(rightColumns);
334
- var rightColIndex = rightLeafNodes.length;
335
- var rightFixedColumnsWidth = [].concat(colWidths).reverse().reduce(function (acc, width, index) {
336
- return acc += index < rightColIndex ? width : 0;
337
- }, 0);
338
- return {
339
- leftFrozenColKeys: leftColumns,
340
- rightFrozenColKeys: rightColumns,
341
- columns: nextColumns,
342
- leftFixedColumnsWidth: leftFixedColumnsWidth,
343
- rightFixedColumnsWidth: rightFixedColumnsWidth
344
- };
345
- }, [mergedColumns2, scrollWidth, colWidths, leftFreezeColumn, rightFreezeColumn]),
346
- leftFrozenColKeys = _React$useMemo.leftFrozenColKeys,
347
- rightFrozenColKeys = _React$useMemo.rightFrozenColKeys,
348
- mergedColumns1 = _React$useMemo.columns,
349
- leftFixedColumnsWidth = _React$useMemo.leftFixedColumnsWidth,
350
- rightFixedColumnsWidth = _React$useMemo.rightFixedColumnsWidth;
351
-
258
+ // @TODO: resizable 和 列冻结宽兼容,统一宽度设置来源
259
+ // const leftFixedColumnsWidth = colWidths.reduce(
260
+ // (acc, width, index) => (acc += index <= leftFrozenColIndex! ? width : 0),
261
+ // 0
262
+ // )
263
+ // @TODO: resizable 列冻结宽兼容,统一宽度设置来源
264
+ // const leftFixedColumnsWidth = colWidths.reduce(
265
+ // (acc, width, index) => (acc += index <= leftFrozenColIndex! ? width : 0),
266
+ // 0
267
+ // )
268
+ var getLeafNodes = function getLeafNodes(columns) {
269
+ return columns.reduce(function (acc, column) {
270
+ return acc.concat(getLeafChildren(column));
271
+ }, []);
272
+ };
273
+ var leftLeafNodes = getLeafNodes(leftColumns);
274
+ var leftColIndex = leftLeafNodes.length;
275
+ var leftFixedColumnsWidth = colWidths.reduce(function (acc, width, index) {
276
+ return acc += index < leftColIndex ? width : 0;
277
+ }, 0);
278
+ // 右侧
279
+ // 右侧
280
+ var rightColumns = [];
281
+ if (typeof rightFrozenColIndex === 'number') {
282
+ var targetColumn = nextColumns[rightFrozenColIndex];
283
+ // const beforeColumns = getNodeAncestors(targetColumn)
284
+ // const afterColumns = nextColumns.filter((_, idx) => idx > rightFrozenColIndex!)
285
+ // // @ts-ignore
286
+ // rightColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
287
+ // const beforeColumns = getNodeAncestors(targetColumn)
288
+ // const afterColumns = nextColumns.filter((_, idx) => idx > rightFrozenColIndex!)
289
+ // // @ts-ignore
290
+ // rightColumns = beforeColumns.concat(targetColumn).concat(afterColumns)
291
+ var root = getNodeRootParent(targetColumn);
292
+ rightColumns = [root].concat(nextColumns.filter(function (item, index) {
293
+ return index > rightFrozenColIndex && item.depth === 0;
294
+ })).reverse();
295
+ rightColumns.forEach(function (currentItem, index) {
296
+ var item = parseFixedColumns(currentItem, index, nextColumns, rightColumns, 'rightStickyWidth');
297
+ rightColumns[index] = item;
298
+ nextColumns[item.index] = item;
299
+ });
300
+ }
301
+ var rightLeafNodes = getLeafNodes(rightColumns);
302
+ var rightColIndex = rightLeafNodes.length;
303
+ var rightFixedColumnsWidth = [].concat(colWidths).reverse().reduce(function (acc, width, index) {
304
+ return acc += index < rightColIndex ? width : 0;
305
+ }, 0);
306
+ return {
307
+ leftFrozenColKeys: leftColumns,
308
+ rightFrozenColKeys: rightColumns,
309
+ columns: nextColumns,
310
+ leftFixedColumnsWidth: leftFixedColumnsWidth,
311
+ rightFixedColumnsWidth: rightFixedColumnsWidth
312
+ };
313
+ }, [mergedColumns2, scrollWidth, colWidths, leftFreezeColumn, rightFreezeColumn]),
314
+ leftFrozenColKeys = _React$useMemo.leftFrozenColKeys,
315
+ rightFrozenColKeys = _React$useMemo.rightFrozenColKeys,
316
+ mergedColumns1 = _React$useMemo.columns,
317
+ leftFixedColumnsWidth = _React$useMemo.leftFixedColumnsWidth,
318
+ rightFixedColumnsWidth = _React$useMemo.rightFixedColumnsWidth;
352
319
  var _useState2 = useState({
353
- scrollLeft: 0,
354
- scrollRight: 1
355
- }),
356
- scrollSize = _useState2[0],
357
- setScrollSize = _useState2[1];
358
-
320
+ scrollLeft: 0,
321
+ scrollRight: 1
322
+ }),
323
+ scrollSize = _useState2[0],
324
+ setScrollSize = _useState2[1];
359
325
  useEffect(function () {
360
326
  var _a, _b, _c, _d, _e, _f;
361
-
362
327
  if (leftFrozenColKeys.length > 0 || rightFrozenColKeys.length > 0) {
363
328
  // 计算冻结列的宽度
364
329
  // mutationObserver
365
330
  var tableWidth = (_c = (_b = (_a = bodyTableRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect) === null || _b === void 0 ? void 0 : _b.call(_a).width) !== null && _c !== void 0 ? _c : 0;
366
331
  var tableBodyWidth = (_f = (_e = (_d = scrollBodyElementRef.current) === null || _d === void 0 ? void 0 : _d.getBoundingClientRect) === null || _e === void 0 ? void 0 : _e.call(_d).width) !== null && _f !== void 0 ? _f : 0;
367
- var scrollRight = tableWidth - tableBodyWidth; // const scrollLeft = 0
368
-
332
+ var scrollRight = tableWidth - tableBodyWidth;
333
+ // const scrollLeft = 0
369
334
  setScrollSize(function (prev) {
370
335
  return {
371
336
  scrollLeft: prev.scrollLeft,
@@ -373,31 +338,25 @@ var useTable = function useTable(_a) {
373
338
  };
374
339
  });
375
340
  }
376
- }, [leftFrozenColKeys, rightFrozenColKeys]); // const canScroll = scrollSize.scrollRight > 0
341
+ }, [leftFrozenColKeys, rightFrozenColKeys]);
342
+ // const canScroll = scrollSize.scrollRight > 0
377
343
  // 实时计算
378
-
379
344
  var canScroll = bodyTableRef.current && scrollBodyElementRef.current ? scrollBodyElementRef.current.clientWidth < bodyTableRef.current.clientWidth : false;
380
345
  /**
381
346
  * 同步 双 table 左右滚动偏移
382
347
  */
383
-
384
348
  var syncScrollLeft = React__default.useCallback(function (scrollLeft, syncTarget) {
385
349
  var scrollRight = scrollSize.scrollRight;
386
-
387
350
  if (syncTarget && syncTarget.scrollLeft !== scrollLeft) {
388
351
  syncTarget.scrollLeft = scrollLeft;
389
352
  }
390
-
391
353
  if (bodyTableRef && bodyTableRef.current && scrollBodyElementRef && scrollBodyElementRef.current && isArrayNonEmpty(rightFrozenColKeys)) {
392
354
  var _bodyTableRef$current = bodyTableRef.current.getBoundingClientRect(),
393
- tableTefRight = _bodyTableRef$current.right;
394
-
355
+ tableTefRight = _bodyTableRef$current.right;
395
356
  var _scrollBodyElementRef = scrollBodyElementRef.current.getBoundingClientRect(),
396
- right = _scrollBodyElementRef.right;
397
-
357
+ right = _scrollBodyElementRef.right;
398
358
  scrollRight = tableTefRight - right;
399
359
  }
400
-
401
360
  setScrollSize({
402
361
  scrollLeft: scrollLeft,
403
362
  scrollRight: scrollRight
@@ -406,41 +365,37 @@ var useTable = function useTable(_a) {
406
365
  var scrollHeaderElementRef = useRef(null);
407
366
  var onTableBodyScroll = React__default.useCallback(function (evt) {
408
367
  evt.stopPropagation();
409
-
410
368
  if (scrollBodyElementRef.current) {
411
369
  syncScrollLeft(scrollBodyElementRef.current.scrollLeft, scrollHeaderElementRef.current);
412
370
  }
413
- }, [syncScrollLeft]); // 1. 对于 sticky 的元素,触发滚轮滚动,需要模拟 onScroll 触发,比如 tableHeader 固定吸顶时
371
+ }, [syncScrollLeft]);
372
+ // 1. 对于 sticky 的元素,触发滚轮滚动,需要模拟 onScroll 触发,比如 tableHeader 固定吸顶时
414
373
  // 2. 同时不允许其出现滚动条
415
-
416
374
  var onTableBodyScrollMock = React__default.useCallback(function (evt) {
417
375
  if (!scrollHeaderElementRef.current) return;
418
376
  evt.stopPropagation();
419
377
  var deltaX = evt.deltaX;
420
378
  scrollHeaderElementRef.current.scrollLeft = scrollHeaderElementRef.current.scrollLeft + deltaX;
421
379
  syncScrollLeft(scrollHeaderElementRef.current.scrollLeft, scrollBodyElementRef.current);
422
- }, [syncScrollLeft]); // ************************ 行高亮 ************************ //
423
-
380
+ }, [syncScrollLeft]);
381
+ // ************************ 行高亮 ************************ //
424
382
  /**
425
383
  * 控制行高亮,依据 data 中的 key 控制
426
384
  */
427
-
428
385
  var _useUncontrolledState3 = useUncontrolledState(DEFAULT_HIGHLIGHTED_ROW_KEYS, highlightedRowKeysProp),
429
- highlightedRowKeys = _useUncontrolledState3[0],
430
- trySetHighlightedRowKeys = _useUncontrolledState3[1];
431
-
386
+ highlightedRowKeys = _useUncontrolledState3[0],
387
+ trySetHighlightedRowKeys = _useUncontrolledState3[1];
432
388
  var _useCheck2 = useCheck({
433
- disabled: !highlightRowOnDoubleClick,
434
- checkedIds: highlightedRowKeys,
435
- onCheck: trySetHighlightedRowKeys
436
- }),
437
- onHighlightedRowChange = _useCheck2[0],
438
- isHighlightedRow = _useCheck2[1];
439
-
389
+ disabled: !highlightRowOnDoubleClick,
390
+ checkedIds: highlightedRowKeys,
391
+ onCheck: trySetHighlightedRowKeys
392
+ }),
393
+ onHighlightedRowChange = _useCheck2[0],
394
+ isHighlightedRow = _useCheck2[1];
440
395
  var isErrorRow = useCallback(function (key) {
441
396
  return errorRowKeys.includes(key);
442
- }, [errorRowKeys]); // 末级 column
443
-
397
+ }, [errorRowKeys]);
398
+ // 末级 column
444
399
  var flattedColumnsWithoutChildren = React__default.useMemo(function () {
445
400
  return mergedColumns1.filter(function (col) {
446
401
  return !isArrayNonEmpty(col.children);
@@ -449,32 +404,28 @@ var useTable = function useTable(_a) {
449
404
  var groupedColumns = React__default.useMemo(function () {
450
405
  return mergedColumns1.reduce(function (acc, cur) {
451
406
  var depth = cur.depth;
452
-
453
407
  if (!acc[depth]) {
454
408
  acc[depth] = [];
455
409
  }
456
-
457
410
  acc[depth].push(cur);
458
411
  return acc;
459
412
  }, []);
460
413
  }, [mergedColumns1]);
461
414
  var getStickyColProps = useLatestCallback(function (column) {
462
415
  var rightStickyWidth = column.rightStickyWidth,
463
- leftStickyWidth = column.leftStickyWidth,
464
- align = column.align;
416
+ leftStickyWidth = column.leftStickyWidth,
417
+ align = column.align;
465
418
  var sticky = canScroll && (typeof rightStickyWidth !== 'undefined' || typeof leftStickyWidth !== 'undefined');
466
419
  var style = {
467
420
  textAlign: align
468
421
  };
469
-
470
422
  if (sticky) {
471
423
  style.position = 'sticky';
472
424
  style.right = rightStickyWidth + 'px';
473
- style.left = leftStickyWidth + 'px'; // the value is same with v3
474
-
425
+ style.left = leftStickyWidth + 'px';
426
+ // the value is same with v3
475
427
  style.zIndex = 5;
476
428
  }
477
-
478
429
  return {
479
430
  style: style,
480
431
  'data-sticky': setAttrStatus(sticky)
@@ -499,29 +450,23 @@ var useTable = function useTable(_a) {
499
450
  return row.children && row.children.length || onLoadChildren && !row.isLeaf;
500
451
  }) : false;
501
452
  }, [data, onLoadChildren]);
502
-
503
453
  var _useState3 = useState(null),
504
- activeSorterColumn = _useState3[0],
505
- setActiveSorterColumn = _useState3[1];
506
-
454
+ activeSorterColumn = _useState3[0],
455
+ setActiveSorterColumn = _useState3[1];
507
456
  var _useState4 = useState(null),
508
- activeSorterType = _useState4[0],
509
- setActiveSorterType = _useState4[1]; //* *************** 根据排序列处理数据 ************** *//
510
-
511
-
457
+ activeSorterType = _useState4[0],
458
+ setActiveSorterType = _useState4[1];
459
+ //* *************** 根据排序列处理数据 ************** *//
512
460
  var showData = useMemo(function () {
513
461
  var _a;
514
-
515
462
  var _data = [].concat(transitionData);
516
-
517
463
  if (activeSorterColumn) {
518
464
  var sorter = (_a = columns.filter(function (d) {
519
465
  return d.dataKey === activeSorterColumn;
520
466
  })[0]) === null || _a === void 0 ? void 0 : _a.sorter;
521
-
522
467
  if (sorter) {
523
- activeSorterType === 'ascend' ? _data.sort(sorter) : _data.sort(sorter).reverse(); // 平铺的树形结构排序
524
-
468
+ activeSorterType === 'ascend' ? _data.sort(sorter) : _data.sort(sorter).reverse();
469
+ // 平铺的树形结构排序
525
470
  if (_data.some(function (d) {
526
471
  return d.depth !== 0;
527
472
  })) {
@@ -529,7 +474,6 @@ var useTable = function useTable(_a) {
529
474
  }
530
475
  }
531
476
  }
532
-
533
477
  return _data;
534
478
  }, [activeSorterColumn, activeSorterType, transitionData, columns]);
535
479
  return Object.assign(Object.assign({
@@ -613,5 +557,4 @@ var useTable = function useTable(_a) {
613
557
  scrollbar: scrollbar
614
558
  });
615
559
  };
616
-
617
560
  export { useTable };