@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
package/lib/cjs/Table.js CHANGED
@@ -9,69 +9,29 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
12
  var tslib = require('tslib');
19
-
20
13
  var React = require('react');
21
-
22
14
  var classname = require('@hi-ui/classname');
23
-
24
15
  var env = require('@hi-ui/env');
25
-
26
16
  var Pagination = require('@hi-ui/pagination');
27
-
28
17
  var useColHidden = require('./hooks/use-col-hidden.js');
29
-
30
18
  var useColSorter = require('./hooks/use-col-sorter.js');
31
-
32
19
  var usePagination = require('./hooks/use-pagination.js');
33
-
34
20
  var reactUtils = require('@hi-ui/react-utils');
35
-
36
21
  var TableSettingMenu = require('./TableSettingMenu.js');
37
-
38
22
  var Loading = require('@hi-ui/loading');
39
-
40
23
  var Checkbox = require('@hi-ui/checkbox');
41
-
42
24
  var useCheck = require('./hooks/use-check.js');
43
-
44
25
  var typeAssertion = require('@hi-ui/type-assertion');
45
-
46
26
  var treeUtils = require('@hi-ui/tree-utils');
47
-
48
27
  var BaseTable = require('./BaseTable.js');
49
-
50
28
  var index = require('./utils/index.js');
51
-
52
29
  var useColSet = require('./hooks/use-col-set.js');
53
-
54
- function _interopDefaultLegacy(e) {
55
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
56
- 'default': e
57
- };
58
- }
59
-
60
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
61
-
62
- var Pagination__default = /*#__PURE__*/_interopDefaultLegacy(Pagination);
63
-
64
- var Loading__default = /*#__PURE__*/_interopDefaultLegacy(Loading);
65
-
66
- var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
67
-
68
30
  var _prefix = classname.getPrefixCls('table');
69
31
  /**
70
32
  * 需要使用双表格的场景对应的 API
71
33
  * 这些场景下的功能无法通过单表格实现,故而设计成双表格,即表头和表体分别用一个 table 实现
72
34
  */
73
-
74
-
75
35
  var DOUBLE_TABLE_SCENE = ['maxHeight', 'sticky', 'stickyTop', 'setting', 'virtual'];
76
36
  var STANDARD_PRESET = {
77
37
  striped: true,
@@ -89,114 +49,104 @@ var DEFAULT_PAGINATION = {
89
49
  /**
90
50
  * 表格
91
51
  */
92
-
93
52
  var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
94
53
  var _a$prefixCls = _a.prefixCls,
95
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
96
- _a$standard = _a.standard,
97
- standard = _a$standard === void 0 ? false : _a$standard,
98
- _a$loading = _a.loading,
99
- loadingProp = _a$loading === void 0 ? false : _a$loading,
100
- dataSource = _a.dataSource,
101
- paginationProp = _a.pagination,
102
- uniqueId = _a.uniqueId,
103
- columnsProp = _a.columns,
104
- hiddenColKeysPropBeforeVerify = _a.hiddenColKeys,
105
- onHiddenColKeysChange = _a.onHiddenColKeysChange,
106
- sortedColKeysPropBeforeVerify = _a.sortedColKeys,
107
- onSortedColKeysChange = _a.onSortedColKeysChange,
108
- checkDisabledColKeys = _a.checkDisabledColKeys,
109
- onSetColKeysChange = _a.onSetColKeysChange,
110
- rowSelection = _a.rowSelection,
111
- _a$fieldKey = _a.fieldKey,
112
- fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
113
- extra = _a.extra,
114
- _a$data = _a.data,
115
- data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
116
- rest = tslib.__rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "sortedColKeys", "onSortedColKeysChange", "checkDisabledColKeys", "onSetColKeysChange", "rowSelection", "fieldKey", "extra", "data"]); // 是否需要双表格
117
-
118
-
54
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
55
+ _a$standard = _a.standard,
56
+ standard = _a$standard === void 0 ? false : _a$standard,
57
+ _a$loading = _a.loading,
58
+ loadingProp = _a$loading === void 0 ? false : _a$loading,
59
+ dataSource = _a.dataSource,
60
+ paginationProp = _a.pagination,
61
+ uniqueId = _a.uniqueId,
62
+ columnsProp = _a.columns,
63
+ hiddenColKeysPropBeforeVerify = _a.hiddenColKeys,
64
+ onHiddenColKeysChange = _a.onHiddenColKeysChange,
65
+ sortedColKeysPropBeforeVerify = _a.sortedColKeys,
66
+ onSortedColKeysChange = _a.onSortedColKeysChange,
67
+ checkDisabledColKeys = _a.checkDisabledColKeys,
68
+ onSetColKeysChange = _a.onSetColKeysChange,
69
+ rowSelection = _a.rowSelection,
70
+ _a$fieldKey = _a.fieldKey,
71
+ fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
72
+ extra = _a.extra,
73
+ _a$data = _a.data,
74
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
75
+ rest = tslib.__rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "sortedColKeys", "onSortedColKeysChange", "checkDisabledColKeys", "onSetColKeysChange", "rowSelection", "fieldKey", "extra", "data"]);
76
+ // 是否需要双表格
119
77
  var needDoubleTable = DOUBLE_TABLE_SCENE.some(function (prop) {
120
78
  return !!rest[prop];
121
79
  });
122
- var virtual = rest.virtual; // ************************ 预置标准模式 ************************ //
123
-
80
+ var virtual = rest.virtual;
81
+ // ************************ 预置标准模式 ************************ //
124
82
  var tableProps = reactUtils.withDefaultProps(rest, standard ? STANDARD_PRESET : undefined);
125
-
126
83
  var _tableProps$setting = tableProps.setting,
127
- setting = _tableProps$setting === void 0 ? false : _tableProps$setting,
128
- baseTableProps = tslib.__rest(tableProps // ************************ 高级功能 ************************ //
129
- // ***根据列字段合并sortedColKeysProp,和hiddenColKeys
130
- , ["setting"]); // ************************ 高级功能 ************************ //
84
+ setting = _tableProps$setting === void 0 ? false : _tableProps$setting,
85
+ baseTableProps = tslib.__rest(tableProps
86
+ // ************************ 高级功能 ************************ //
87
+ // ***根据列字段合并sortedColKeysProp,和hiddenColKeys
88
+ , ["setting"]);
89
+ // ************************ 高级功能 ************************ //
131
90
  // ***根据列字段合并sortedColKeysProp,和hiddenColKeys
132
-
133
-
134
91
  var _useColSet = useColSet.useColSet({
135
- columns: columnsProp,
136
- sortedColKeys: sortedColKeysPropBeforeVerify,
137
- hiddenColKeys: hiddenColKeysPropBeforeVerify
138
- }),
139
- sortedColKeysProp = _useColSet.sortedColKeys,
140
- hiddenColKeysProp = _useColSet.hiddenColKeys;
92
+ columns: columnsProp,
93
+ sortedColKeys: sortedColKeysPropBeforeVerify,
94
+ hiddenColKeys: hiddenColKeysPropBeforeVerify
95
+ }),
96
+ sortedColKeysProp = _useColSet.sortedColKeys,
97
+ hiddenColKeysProp = _useColSet.hiddenColKeys;
141
98
  /**
142
99
  * 列排序
143
100
  */
144
-
145
-
146
101
  var _useColSorter = useColSorter.useColSorter({
147
- uniqueId: uniqueId,
148
- columns: columnsProp,
149
- sortedColKeys: sortedColKeysProp,
150
- onSortedColKeysChange: onSortedColKeysChange
151
- }),
152
- sortedCols = _useColSorter.sortedCols,
153
- setSortColKeys = _useColSorter.setSortColKeys,
154
- cacheSortedCols = _useColSorter.cacheSortedCols,
155
- setCacheSortedCols = _useColSorter.setCacheSortedCols;
102
+ uniqueId: uniqueId,
103
+ columns: columnsProp,
104
+ sortedColKeys: sortedColKeysProp,
105
+ onSortedColKeysChange: onSortedColKeysChange
106
+ }),
107
+ sortedCols = _useColSorter.sortedCols,
108
+ setSortColKeys = _useColSorter.setSortColKeys,
109
+ cacheSortedCols = _useColSorter.cacheSortedCols,
110
+ setCacheSortedCols = _useColSorter.setCacheSortedCols;
156
111
  /**
157
112
  * 列隐藏
158
113
  */
159
-
160
-
161
114
  var _useColHidden = useColHidden.useColHidden({
162
- uniqueId: uniqueId,
163
- // 基于排序的 columns,隐藏的也能排序
164
- columns: sortedCols,
165
- hiddenColKeys: hiddenColKeysProp,
166
- onHiddenColKeysChange: onHiddenColKeysChange
167
- }),
168
- visibleCols = _useColHidden.visibleCols,
169
- hiddenColKeys = _useColHidden.hiddenColKeys,
170
- setHiddenColKeys = _useColHidden.setHiddenColKeys,
171
- cacheHiddenColKeys = _useColHidden.cacheHiddenColKeys,
172
- setCacheHiddenColKeys = _useColHidden.setCacheHiddenColKeys;
173
-
115
+ uniqueId: uniqueId,
116
+ // 基于排序的 columns,隐藏的也能排序
117
+ columns: sortedCols,
118
+ hiddenColKeys: hiddenColKeysProp,
119
+ onHiddenColKeysChange: onHiddenColKeysChange
120
+ }),
121
+ visibleCols = _useColHidden.visibleCols,
122
+ hiddenColKeys = _useColHidden.hiddenColKeys,
123
+ setHiddenColKeys = _useColHidden.setHiddenColKeys,
124
+ cacheHiddenColKeys = _useColHidden.cacheHiddenColKeys,
125
+ setCacheHiddenColKeys = _useColHidden.setCacheHiddenColKeys;
174
126
  var pagination = reactUtils.withDefaultProps(paginationProp, DEFAULT_PAGINATION);
175
127
  /**
176
128
  * 数据分页
177
129
  */
178
-
179
130
  var _useTablePagination = usePagination.useTablePagination({
180
- loadingProp: loadingProp,
181
- pagination: pagination,
182
- data: data,
183
- dataSource: dataSource
184
- }),
185
- loading = _useTablePagination.loading,
186
- mergedData = _useTablePagination.mergedData,
187
- currentPage = _useTablePagination.currentPage,
188
- trySetCurrentPage = _useTablePagination.trySetCurrentPage,
189
- pageSize = _useTablePagination.pageSize,
190
- trySetPageSize = _useTablePagination.trySetPageSize,
191
- total = _useTablePagination.total; // 可能是从 dataSource 中拿到的 total 值,在此更新该值
192
-
193
-
131
+ loadingProp: loadingProp,
132
+ pagination: pagination,
133
+ data: data,
134
+ dataSource: dataSource
135
+ }),
136
+ loading = _useTablePagination.loading,
137
+ mergedData = _useTablePagination.mergedData,
138
+ currentPage = _useTablePagination.currentPage,
139
+ trySetCurrentPage = _useTablePagination.trySetCurrentPage,
140
+ pageSize = _useTablePagination.pageSize,
141
+ trySetPageSize = _useTablePagination.trySetPageSize,
142
+ total = _useTablePagination.total;
143
+ // 可能是从 dataSource 中拿到的 total 值,在此更新该值
194
144
  pagination = Object.assign(Object.assign({}, pagination), {
195
145
  total: total
196
- }); // 优化数据在第一页且数据一页内时,不展示 pagination 配置项
197
-
198
- var hiddenPagination = !paginationProp || pagination.autoHide && currentPage === 1 && typeof pagination.pageSize === 'number' && typeof pagination.total === 'number' && pagination.total <= pagination.pageSize && data.length <= pagination.pageSize; // 获取 key 字段值
199
-
146
+ });
147
+ // 优化数据在第一页且数据一页内时,不展示 pagination 配置项
148
+ var hiddenPagination = !paginationProp || pagination.autoHide && currentPage === 1 && typeof pagination.pageSize === 'number' && typeof pagination.total === 'number' && pagination.total <= pagination.pageSize && data.length <= pagination.pageSize;
149
+ // 获取 key 字段值
200
150
  var getRowKeyField = React.useCallback(function (item) {
201
151
  var val = item[fieldKey];
202
152
  env.invariant(!typeAssertion.isNullish(val), 'Not found for the unique %s attribute in each row of data prop.', fieldKey);
@@ -205,7 +155,6 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
205
155
  /**
206
156
  * 扁平化数据,支持树形 table
207
157
  */
208
-
209
158
  var flattedData = React.useMemo(function () {
210
159
  // 对于分页来讲,flattedData 应该是当前页的数据
211
160
  var clonedData = treeUtils.cloneTree(mergedData);
@@ -215,33 +164,32 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
215
164
  id: getRowKeyField(node.raw)
216
165
  });
217
166
  });
218
- }, [mergedData, getRowKeyField]); // ************************ 行多选 ************************ //
167
+ }, [mergedData, getRowKeyField]);
168
+ // ************************ 行多选 ************************ //
219
169
  // 自定义设置 checkbox 列宽度
220
-
221
- var checkboxColWidth = React__default["default"].useMemo(function () {
170
+ var checkboxColWidth = React.useMemo(function () {
222
171
  return rowSelection && typeof rowSelection.checkboxColWidth === 'number' ? rowSelection.checkboxColWidth : 38;
223
- }, [rowSelection]); // 预处理 column 支持 多选渲染
224
-
172
+ }, [rowSelection]);
173
+ // 预处理 column 支持 多选渲染
225
174
  var _useTableCheck = useCheck.useTableCheck({
226
- rowSelection: rowSelection,
227
- flattedData: flattedData,
228
- fieldKey: fieldKey
229
- }),
230
- checkedAll = _useTableCheck.checkedAll,
231
- semiChecked = _useTableCheck.semiChecked,
232
- tryCheckAllRow = _useTableCheck.tryCheckAllRow,
233
- isCheckedRowKey = _useTableCheck.isCheckedRowKey,
234
- onCheckedRowKeysChange = _useTableCheck.onCheckedRowKeysChange,
235
- checkRowIsDisabledCheckbox = _useTableCheck.checkRowIsDisabledCheckbox; // 表格列多选操作区
236
-
237
-
238
- var getSelectionColumn = React__default["default"].useCallback(function (rowSelection) {
175
+ rowSelection: rowSelection,
176
+ flattedData: flattedData,
177
+ fieldKey: fieldKey
178
+ }),
179
+ checkedAll = _useTableCheck.checkedAll,
180
+ semiChecked = _useTableCheck.semiChecked,
181
+ tryCheckAllRow = _useTableCheck.tryCheckAllRow,
182
+ isCheckedRowKey = _useTableCheck.isCheckedRowKey,
183
+ onCheckedRowKeysChange = _useTableCheck.onCheckedRowKeysChange,
184
+ checkRowIsDisabledCheckbox = _useTableCheck.checkRowIsDisabledCheckbox;
185
+ // 表格列多选操作区
186
+ var getSelectionColumn = React.useCallback(function (rowSelection) {
239
187
  var renderCell = function renderCell(_, rowItem, rowIndex) {
240
188
  var rowKey = getRowKeyField(rowItem);
241
189
  var checked = isCheckedRowKey(rowKey);
242
190
  var disabledCheckbox = checkRowIsDisabledCheckbox(rowItem);
243
191
  return {
244
- node: /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
192
+ node: /*#__PURE__*/React.createElement(Checkbox, {
245
193
  checked: isCheckedRowKey(rowKey),
246
194
  disabled: disabledCheckbox,
247
195
  onChange: function onChange(evt) {
@@ -253,16 +201,14 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
253
201
  }),
254
202
  checked: checked
255
203
  };
256
- }; // TODO: && isFixed !== 'right' && !isSumRow && !isAvgRow
257
-
258
-
204
+ };
205
+ // TODO: && isFixed !== 'right' && !isSumRow && !isAvgRow
259
206
  var renderSelectionCell = function renderSelectionCell(_, rowItem, rowIndex, dataKey) {
260
207
  var _renderCell = renderCell(_, rowItem),
261
- node = _renderCell.node,
262
- checked = _renderCell.checked; // 自定义渲染
208
+ node = _renderCell.node,
209
+ checked = _renderCell.checked;
210
+ // 自定义渲染
263
211
  // @ts-ignore
264
-
265
-
266
212
  if (rowSelection.render) {
267
213
  // TODO: 获取 requiredProps 方法
268
214
  // @ts-ignore
@@ -270,13 +216,11 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
270
216
  checked: checked
271
217
  }), rowIndex, dataKey);
272
218
  }
273
-
274
219
  return node;
275
220
  };
276
-
277
221
  var renderTitleCell = function renderTitleCell() {
278
222
  return {
279
- node: /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
223
+ node: /*#__PURE__*/React.createElement(Checkbox, {
280
224
  checked: checkedAll,
281
225
  indeterminate: semiChecked,
282
226
  onChange: tryCheckAllRow
@@ -285,24 +229,19 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
285
229
  semiChecked: semiChecked
286
230
  };
287
231
  };
288
-
289
232
  var renderSelectionTitleCell = function renderSelectionTitleCell() {
290
233
  var _renderTitleCell = renderTitleCell(),
291
- node = _renderTitleCell.node;
292
-
234
+ node = _renderTitleCell.node;
293
235
  if (rowSelection.checkAllOptions) {
294
236
  if (rowSelection.checkAllOptions.render) {
295
237
  return rowSelection.checkAllOptions.render(node);
296
238
  }
297
-
298
239
  if (rowSelection.checkAllOptions.filterIcon) {
299
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, node, rowSelection.checkAllOptions.filterIcon);
240
+ return /*#__PURE__*/React.createElement(React.Fragment, null, node, rowSelection.checkAllOptions.filterIcon);
300
241
  }
301
242
  }
302
-
303
243
  return node;
304
244
  };
305
-
306
245
  var selectionColumn = {
307
246
  dataKey: SELECTION_DATA_KEY,
308
247
  width: checkboxColWidth,
@@ -313,17 +252,16 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
313
252
  };
314
253
  return selectionColumn;
315
254
  }, [getRowKeyField, checkedAll, semiChecked, tryCheckAllRow, checkboxColWidth, isCheckedRowKey, onCheckedRowKeysChange, checkRowIsDisabledCheckbox, prefixCls]);
316
- var mergedColumns = React__default["default"].useMemo(function () {
255
+ var mergedColumns = React.useMemo(function () {
317
256
  if (rowSelection) {
318
257
  var selectionColumn = getSelectionColumn(rowSelection);
319
258
  return [selectionColumn].concat(visibleCols);
320
259
  }
321
-
322
260
  return visibleCols;
323
- }, [rowSelection, getSelectionColumn, visibleCols]); // ************************ loading ************************ //
324
-
325
- var TableWrapper = loading ? Loading__default["default"] : React.Fragment;
326
- return /*#__PURE__*/React__default["default"].createElement(TableWrapper, null, /*#__PURE__*/React__default["default"].createElement(BaseTable.BaseTable, Object.assign({
261
+ }, [rowSelection, getSelectionColumn, visibleCols]);
262
+ // ************************ loading ************************ //
263
+ var TableWrapper = loading ? Loading : React.Fragment;
264
+ return /*#__PURE__*/React.createElement(TableWrapper, null, /*#__PURE__*/React.createElement(BaseTable.BaseTable, Object.assign({
327
265
  ref: ref
328
266
  }, baseTableProps, {
329
267
  prefixCls: prefixCls,
@@ -333,7 +271,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
333
271
  virtual: virtual,
334
272
  needDoubleTable: needDoubleTable,
335
273
  extra: Object.assign({
336
- header: setting ? /*#__PURE__*/React__default["default"].createElement(TableSettingMenu.TableSettingMenu, {
274
+ header: setting ? /*#__PURE__*/React.createElement(TableSettingMenu.TableSettingMenu, {
337
275
  prefixCls: prefixCls + "-setting",
338
276
  // sort
339
277
  sortedCols: sortedCols,
@@ -348,7 +286,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
348
286
  checkDisabledColKeys: checkDisabledColKeys,
349
287
  onSetColKeysChange: onSetColKeysChange
350
288
  }) : null,
351
- footer: dataSource || !hiddenPagination ? /*#__PURE__*/React__default["default"].createElement(Pagination__default["default"], Object.assign({
289
+ footer: dataSource || !hiddenPagination ? /*#__PURE__*/React.createElement(Pagination, Object.assign({
352
290
  className: classname.cx(prefixCls + "-pagination", pagination.placement && prefixCls + "-pagination--placement-" + pagination.placement)
353
291
  }, pagination, {
354
292
  current: currentPage,
@@ -359,10 +297,8 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
359
297
  }, extra)
360
298
  })));
361
299
  });
362
-
363
300
  if (env.__DEV__) {
364
301
  Table.displayName = 'Table';
365
302
  }
366
-
367
303
  exports.SELECTION_DATA_KEY = SELECTION_DATA_KEY;
368
304
  exports.Table = Table;
@@ -9,66 +9,39 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
12
  var React = require('react');
19
-
20
13
  var classname = require('@hi-ui/classname');
21
-
22
14
  var context = require('./context.js');
23
-
24
15
  var TableColumnMenu = require('./TableColumnMenu.js');
25
-
26
16
  var Select = require('@hi-ui/select');
27
-
28
17
  var icons = require('@hi-ui/icons');
29
-
30
18
  var Popper = require('@hi-ui/popper');
31
-
32
19
  var useToggle = require('@hi-ui/use-toggle');
33
-
34
20
  var typeAssertion = require('@hi-ui/type-assertion');
35
-
36
- function _interopDefaultLegacy(e) {
37
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
38
- 'default': e
39
- };
40
- }
41
-
42
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
43
-
44
- var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
45
-
46
- var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
47
-
48
21
  var renderFilter = function renderFilter(_ref) {
49
22
  var prefixCls = _ref.prefixCls,
50
- column = _ref.column,
51
- showColMenu = _ref.showColMenu,
52
- onOpen = _ref.onOpen,
53
- onClose = _ref.onClose;
23
+ column = _ref.column,
24
+ showColMenu = _ref.showColMenu,
25
+ onOpen = _ref.onOpen,
26
+ onClose = _ref.onClose;
54
27
  var _column$raw = column.raw,
55
- sorter = _column$raw.sorter,
56
- filterIcon = _column$raw.filterIcon,
57
- selectFilters = _column$raw.selectFilters;
58
- return [showColMenu && /*#__PURE__*/React__default["default"].createElement(TableColumnMenu.TableColumnMenu, {
28
+ sorter = _column$raw.sorter,
29
+ filterIcon = _column$raw.filterIcon,
30
+ selectFilters = _column$raw.selectFilters;
31
+ return [showColMenu && /*#__PURE__*/React.createElement(TableColumnMenu.TableColumnMenu, {
59
32
  prefixCls: prefixCls + "-dropdown",
60
33
  key: "0",
61
34
  column: column,
62
35
  onOpen: onOpen,
63
36
  onClose: onClose
64
- }), sorter && !showColMenu && /*#__PURE__*/React__default["default"].createElement(SorterMenu, {
37
+ }), sorter && !showColMenu && /*#__PURE__*/React.createElement(SorterMenu, {
65
38
  prefixCls: prefixCls + "-sorter",
66
39
  key: "1",
67
40
  column: column
68
- }), selectFilters && /*#__PURE__*/React__default["default"].createElement(Select__default["default"], Object.assign({
41
+ }), selectFilters && /*#__PURE__*/React.createElement(Select, Object.assign({
69
42
  prefixCls: prefixCls + "-select",
70
43
  key: "2"
71
- }, selectFilters)), filterIcon && /*#__PURE__*/React__default["default"].createElement(FilterDropdown, {
44
+ }, selectFilters)), filterIcon && /*#__PURE__*/React.createElement(FilterDropdown, {
72
45
  prefixCls: prefixCls + "-custom",
73
46
  key: "3",
74
47
  column: column,
@@ -76,23 +49,19 @@ var renderFilter = function renderFilter(_ref) {
76
49
  onClose: onClose
77
50
  })].filter(Boolean);
78
51
  };
79
-
80
52
  var SorterMenu = function SorterMenu(_ref2) {
81
53
  var _cx, _cx2;
82
-
83
54
  var prefixCls = _ref2.prefixCls,
84
- column = _ref2.column;
55
+ column = _ref2.column;
85
56
  var columnKey = column.dataKey;
86
-
87
57
  var _useTableContext = context.useTableContext(),
88
- activeSorterColumn = _useTableContext.activeSorterColumn,
89
- activeSorterType = _useTableContext.activeSorterType,
90
- setActiveSorterColumn = _useTableContext.setActiveSorterColumn,
91
- setActiveSorterType = _useTableContext.setActiveSorterType;
92
-
93
- return /*#__PURE__*/React__default["default"].createElement("div", {
58
+ activeSorterColumn = _useTableContext.activeSorterColumn,
59
+ activeSorterType = _useTableContext.activeSorterType,
60
+ setActiveSorterColumn = _useTableContext.setActiveSorterColumn,
61
+ setActiveSorterType = _useTableContext.setActiveSorterType;
62
+ return /*#__PURE__*/React.createElement("div", {
94
63
  className: prefixCls
95
- }, /*#__PURE__*/React__default["default"].createElement("span", {
64
+ }, /*#__PURE__*/React.createElement("span", {
96
65
  className: classname.cx(prefixCls + "__icon", (_cx = {}, _cx[prefixCls + "__icon--active"] = activeSorterType === 'ascend' && activeSorterColumn === columnKey, _cx)),
97
66
  onClick: function onClick(e) {
98
67
  if (activeSorterType === 'ascend' && activeSorterColumn === columnKey) {
@@ -103,7 +72,7 @@ var SorterMenu = function SorterMenu(_ref2) {
103
72
  setActiveSorterColumn(columnKey);
104
73
  }
105
74
  }
106
- }, /*#__PURE__*/React__default["default"].createElement(icons.CaretUpFilled, null)), /*#__PURE__*/React__default["default"].createElement("span", {
75
+ }, /*#__PURE__*/React.createElement(icons.CaretUpFilled, null)), /*#__PURE__*/React.createElement("span", {
107
76
  className: classname.cx(prefixCls + "__icon", (_cx2 = {}, _cx2[prefixCls + "__icon--active"] = activeSorterType === 'descend' && activeSorterColumn === columnKey, _cx2)),
108
77
  onClick: function onClick(e) {
109
78
  if (activeSorterType === 'descend' && activeSorterColumn === columnKey) {
@@ -114,47 +83,43 @@ var SorterMenu = function SorterMenu(_ref2) {
114
83
  setActiveSorterColumn(columnKey);
115
84
  }
116
85
  }
117
- }, /*#__PURE__*/React__default["default"].createElement(icons.CaretDownFilled, null)));
86
+ }, /*#__PURE__*/React.createElement(icons.CaretDownFilled, null)));
118
87
  };
119
-
120
88
  var FilterDropdown = function FilterDropdown(_ref3) {
121
89
  var prefixCls = _ref3.prefixCls,
122
- column = _ref3.column,
123
- _onOpen = _ref3.onOpen,
124
- _onClose = _ref3.onClose;
90
+ column = _ref3.column,
91
+ _onOpen = _ref3.onOpen,
92
+ _onClose = _ref3.onClose;
125
93
  var _column$raw2 = column.raw,
126
- filterIcon = _column$raw2.filterIcon,
127
- filterDropdown = _column$raw2.filterDropdown,
128
- filterDropdownWidth = _column$raw2.filterDropdownWidth,
129
- filterDropdownVisible = _column$raw2.filterDropdownVisible,
130
- filterDropdownOverlay = _column$raw2.filterDropdownOverlay,
131
- onFilterDropdownVisibleChange = _column$raw2.onFilterDropdownVisibleChange,
132
- filterDropdownClassName = _column$raw2.filterDropdownClassName;
133
-
94
+ filterIcon = _column$raw2.filterIcon,
95
+ filterDropdown = _column$raw2.filterDropdown,
96
+ filterDropdownWidth = _column$raw2.filterDropdownWidth,
97
+ filterDropdownVisible = _column$raw2.filterDropdownVisible,
98
+ filterDropdownOverlay = _column$raw2.filterDropdownOverlay,
99
+ onFilterDropdownVisibleChange = _column$raw2.onFilterDropdownVisibleChange,
100
+ filterDropdownClassName = _column$raw2.filterDropdownClassName;
134
101
  var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
135
- defaultVisible: false,
136
- visible: filterDropdownVisible,
137
- onOpen: function onOpen() {
138
- _onOpen === null || _onOpen === void 0 ? void 0 : _onOpen();
139
- onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(true, column.raw);
140
- },
141
- onClose: function onClose() {
142
- _onClose === null || _onClose === void 0 ? void 0 : _onClose();
143
- onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(false, column.raw);
144
- }
145
- }),
146
- menuVisible = _useUncontrolledToggl[0],
147
- menuVisibleAction = _useUncontrolledToggl[1];
148
-
149
- var _React$useState = React__default["default"].useState(null),
150
- menuTrigger = _React$useState[0],
151
- setMenuTrigger = _React$useState[1];
152
-
153
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", {
102
+ defaultVisible: false,
103
+ visible: filterDropdownVisible,
104
+ onOpen: function onOpen() {
105
+ _onOpen === null || _onOpen === void 0 ? void 0 : _onOpen();
106
+ onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(true, column.raw);
107
+ },
108
+ onClose: function onClose() {
109
+ _onClose === null || _onClose === void 0 ? void 0 : _onClose();
110
+ onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(false, column.raw);
111
+ }
112
+ }),
113
+ menuVisible = _useUncontrolledToggl[0],
114
+ menuVisibleAction = _useUncontrolledToggl[1];
115
+ var _React$useState = React.useState(null),
116
+ menuTrigger = _React$useState[0],
117
+ setMenuTrigger = _React$useState[1];
118
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
154
119
  className: prefixCls + "__trigger",
155
120
  ref: setMenuTrigger,
156
121
  onClick: menuVisibleAction.not
157
- }, filterIcon), /*#__PURE__*/React__default["default"].createElement(Popper__default["default"], Object.assign({
122
+ }, filterIcon), /*#__PURE__*/React.createElement(Popper, Object.assign({
158
123
  className: prefixCls + "__popper",
159
124
  // @DesignToken zIndex: `overlay`
160
125
  zIndex: 1050
@@ -162,7 +127,7 @@ var FilterDropdown = function FilterDropdown(_ref3) {
162
127
  visible: menuVisible,
163
128
  attachEl: menuTrigger,
164
129
  onClose: menuVisibleAction.off
165
- }), /*#__PURE__*/React__default["default"].createElement("div", {
130
+ }), /*#__PURE__*/React.createElement("div", {
166
131
  className: classname.cx(prefixCls + "__content", filterDropdownClassName),
167
132
  style: {
168
133
  width: filterDropdownWidth
@@ -172,7 +137,6 @@ var FilterDropdown = function FilterDropdown(_ref3) {
172
137
  setFilterDropdownVisible: menuVisibleAction.set
173
138
  }) : null)));
174
139
  };
175
-
176
140
  exports.FilterDropdown = FilterDropdown;
177
141
  exports.SorterMenu = SorterMenu;
178
142
  exports.renderFilter = renderFilter;