@kdcloudjs/table 1.2.1-canary.6 → 1.2.2-canary.3

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 (288) hide show
  1. package/LICENSE +568 -568
  2. package/README.md +111 -111
  3. package/dist/@kdcloudjs/table.css +1 -1
  4. package/dist/@kdcloudjs/table.js +5480 -6087
  5. package/dist/@kdcloudjs/table.js.map +1 -1
  6. package/dist/@kdcloudjs/table.min.css +1 -1
  7. package/dist/@kdcloudjs/table.min.js +18 -16
  8. package/dist/@kdcloudjs/table.min.js.map +1 -1
  9. package/dist/kd-ui-complete.less +777 -777
  10. package/es/_utils/arrayUtil.js +0 -3
  11. package/es/_utils/devwarning.js +0 -1
  12. package/es/_utils/formatUtil.js +36 -101
  13. package/es/_utils/hooks.js +21 -45
  14. package/es/_utils/index.js +0 -2
  15. package/es/_utils/numberUtil.js +32 -55
  16. package/es/_utils/omit.js +0 -2
  17. package/es/_utils/type.js +0 -2
  18. package/es/_utils/usePopper.js +81 -144
  19. package/es/config-provider/compDefaultProps.js +0 -1
  20. package/es/config-provider/configProvider.js +2 -7
  21. package/es/config-provider/defaultConfig.js +0 -1
  22. package/es/index.js +0 -2
  23. package/es/locale/locale.js +11 -50
  24. package/es/style/color/colors.less +1 -1
  25. package/es/style/core/index.less +1 -1
  26. package/es/style/core/motion/other.less +27 -27
  27. package/es/style/core/motion/slide.less +53 -53
  28. package/es/style/core/motion.less +1 -1
  29. package/es/style/core/reset.less +185 -185
  30. package/es/style/index.less +1 -1
  31. package/es/style/mixins/index.less +18 -18
  32. package/es/style/mixins/overlay.less +21 -21
  33. package/es/style/mixins/reset.less +12 -12
  34. package/es/style/themes/default.less +445 -445
  35. package/es/table/base/calculations.js +25 -75
  36. package/es/table/base/colgroup.js +0 -1
  37. package/es/table/base/empty.js +6 -6
  38. package/es/table/base/globalStyleComponent.d.ts +4 -0
  39. package/es/table/base/globalStyleComponent.js +24 -0
  40. package/es/table/base/header.js +21 -76
  41. package/es/table/base/helpers/SpanManager.js +4 -11
  42. package/es/table/base/helpers/TableDOMUtils.js +9 -34
  43. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  44. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  45. package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
  46. package/es/table/base/helpers/rowHeightManager.js +0 -28
  47. package/es/table/base/html-table.js +17 -39
  48. package/es/table/base/loading.js +8 -10
  49. package/es/table/base/renderTemplates.js +42 -60
  50. package/es/table/base/styles.d.ts +10 -0
  51. package/es/table/base/styles.js +17 -16
  52. package/es/table/base/table.js +113 -201
  53. package/es/table/base/utils.js +17 -57
  54. package/es/table/common-views.js +0 -7
  55. package/es/table/interfaces.d.ts +38 -0
  56. package/es/table/internals.js +0 -13
  57. package/es/table/pipeline/const.d.ts +3 -0
  58. package/es/table/pipeline/const.js +3 -0
  59. package/es/table/pipeline/features/autoFill.js +11 -40
  60. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  61. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  62. package/es/table/pipeline/features/columnDrag.js +41 -97
  63. package/es/table/pipeline/features/columnFilter.js +12 -51
  64. package/es/table/pipeline/features/columnHover.js +1 -7
  65. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  66. package/es/table/pipeline/features/columnResizeWidth.js +13 -39
  67. package/es/table/pipeline/features/contextMenu.js +22 -95
  68. package/es/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
  69. package/es/table/pipeline/features/featureApi/RowDragApi.js +66 -0
  70. package/es/table/pipeline/features/featureApi/utils.d.ts +2 -0
  71. package/es/table/pipeline/features/featureApi/utils.js +10 -0
  72. package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
  73. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  74. package/es/table/pipeline/features/filter/Filter.js +27 -51
  75. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  76. package/es/table/pipeline/features/filter/util.js +0 -4
  77. package/es/table/pipeline/features/footerDataSource.js +0 -3
  78. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  79. package/es/table/pipeline/features/multiSelect.js +15 -57
  80. package/es/table/pipeline/features/rangeSelection.js +73 -152
  81. package/es/table/pipeline/features/rowDetail.js +4 -43
  82. package/es/table/pipeline/features/rowDrag.d.ts +10 -12
  83. package/es/table/pipeline/features/rowDrag.js +491 -236
  84. package/es/table/pipeline/features/rowGrouping.js +4 -37
  85. package/es/table/pipeline/features/singleSelect.js +0 -24
  86. package/es/table/pipeline/features/sort.js +38 -96
  87. package/es/table/pipeline/features/tips.js +4 -10
  88. package/es/table/pipeline/features/treeMode.d.ts +1 -0
  89. package/es/table/pipeline/features/treeMode.js +38 -57
  90. package/es/table/pipeline/features/treeSelect.js +2 -28
  91. package/es/table/pipeline/pipeline.d.ts +3 -0
  92. package/es/table/pipeline/pipeline.js +35 -54
  93. package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
  94. package/es/table/pivot/cross-table/cross-table.js +23 -31
  95. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
  96. package/es/table/pivot/cross-tree-table/cross-tree-table.js +36 -61
  97. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  98. package/es/table/pivot/pivot-utils/builders.js +34 -74
  99. package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
  100. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  101. package/es/table/style/index.less +1 -1
  102. package/es/table/transforms/autoRowSpan.js +1 -15
  103. package/es/table/transforms/autoWidth.js +13 -35
  104. package/es/table/transforms/buildTree.js +1 -2
  105. package/es/table/transforms/columnHover.js +9 -15
  106. package/es/table/transforms/columnRangeHover.js +12 -19
  107. package/es/table/transforms/columnResize.js +18 -42
  108. package/es/table/transforms/flatten.js +0 -3
  109. package/es/table/transforms/orderField.js +0 -3
  110. package/es/table/transforms/sort.js +42 -101
  111. package/es/table/transforms/tips.js +5 -10
  112. package/es/table/transforms/treeMode.js +36 -77
  113. package/es/table/transforms/visible.js +0 -2
  114. package/es/table/use/useResizeObserver.js +1 -4
  115. package/es/table/utils/applyTransforms.js +0 -1
  116. package/es/table/utils/browserType.js +12 -19
  117. package/es/table/utils/buildTree.js +7 -22
  118. package/es/table/utils/collectNodes.js +4 -13
  119. package/es/table/utils/console.js +0 -14
  120. package/es/table/utils/copyToClipboard.js +0 -4
  121. package/es/table/utils/element.js +14 -41
  122. package/es/table/utils/exportTableAsExcel.js +7 -43
  123. package/es/table/utils/getTreeDepth.js +4 -12
  124. package/es/table/utils/groupBy.js +4 -13
  125. package/es/table/utils/layeredFilter.js +0 -4
  126. package/es/table/utils/layeredSort.js +0 -5
  127. package/es/table/utils/makeRecursiveMapper.js +4 -15
  128. package/es/table/utils/mergeCellProps.js +6 -14
  129. package/es/table/utils/others.js +6 -19
  130. package/es/table/utils/proto.js +2 -30
  131. package/es/table/utils/smartCompare.js +4 -12
  132. package/es/table/utils/traverseColumn.js +5 -18
  133. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +8 -30
  134. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
  135. package/es/table/utils/uiDegrade.js +0 -5
  136. package/lib/_utils/arrayUtil.js +2 -8
  137. package/lib/_utils/devwarning.js +0 -5
  138. package/lib/_utils/formatUtil.js +36 -105
  139. package/lib/_utils/hooks.js +21 -56
  140. package/lib/_utils/index.js +2 -9
  141. package/lib/_utils/numberUtil.js +32 -63
  142. package/lib/_utils/omit.js +0 -5
  143. package/lib/_utils/react-children.js +0 -5
  144. package/lib/_utils/type.js +3 -11
  145. package/lib/_utils/usePopper.js +86 -173
  146. package/lib/config-provider/ConfigContext.js +2 -6
  147. package/lib/config-provider/compDefaultProps.js +1 -3
  148. package/lib/config-provider/configProvider.js +6 -22
  149. package/lib/config-provider/defaultConfig.js +1 -7
  150. package/lib/config-provider/index.js +1 -8
  151. package/lib/index.js +2 -8
  152. package/lib/locale/index.js +3 -11
  153. package/lib/locale/locale.js +15 -71
  154. package/lib/locale/zh-CN.js +1 -2
  155. package/lib/style/color/colors.less +1 -1
  156. package/lib/style/components.less +1 -1
  157. package/lib/style/core/index.less +1 -1
  158. package/lib/style/core/motion/other.less +27 -27
  159. package/lib/style/core/motion/slide.less +53 -53
  160. package/lib/style/core/motion.less +1 -1
  161. package/lib/style/core/reset.less +185 -185
  162. package/lib/style/index.less +1 -1
  163. package/lib/style/mixins/index.less +18 -18
  164. package/lib/style/mixins/overlay.less +21 -21
  165. package/lib/style/mixins/reset.less +12 -12
  166. package/lib/style/themes/default.less +445 -445
  167. package/lib/table/base/calculations.js +25 -86
  168. package/lib/table/base/colgroup.js +0 -5
  169. package/lib/table/base/empty.js +8 -20
  170. package/lib/table/base/globalStyleComponent.d.ts +4 -0
  171. package/lib/table/base/globalStyleComponent.js +35 -0
  172. package/lib/table/base/header.js +21 -86
  173. package/lib/table/base/helpers/SpanManager.js +6 -16
  174. package/lib/table/base/helpers/TableDOMUtils.js +9 -37
  175. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  176. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  177. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  178. package/lib/table/base/helpers/getRichVisibleRectsStream.js +15 -65
  179. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  180. package/lib/table/base/html-table.js +17 -49
  181. package/lib/table/base/index.js +0 -2
  182. package/lib/table/base/loading.js +8 -14
  183. package/lib/table/base/renderTemplates.js +45 -76
  184. package/lib/table/base/styles.d.ts +10 -0
  185. package/lib/table/base/styles.js +24 -42
  186. package/lib/table/base/table.js +125 -245
  187. package/lib/table/base/utils.js +27 -109
  188. package/lib/table/common-views.js +4 -24
  189. package/lib/table/index.js +0 -13
  190. package/lib/table/interfaces.d.ts +38 -0
  191. package/lib/table/internals.js +2 -17
  192. package/lib/table/pipeline/const.d.ts +3 -0
  193. package/lib/table/pipeline/const.js +9 -0
  194. package/lib/table/pipeline/features/autoFill.js +14 -53
  195. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  196. package/lib/table/pipeline/features/buildTree.js +0 -2
  197. package/lib/table/pipeline/features/colGroupExtendable.js +6 -35
  198. package/lib/table/pipeline/features/columnDrag.js +41 -103
  199. package/lib/table/pipeline/features/columnFilter.js +12 -65
  200. package/lib/table/pipeline/features/columnHover.js +1 -11
  201. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  202. package/lib/table/pipeline/features/columnResizeWidth.js +18 -63
  203. package/lib/table/pipeline/features/contextMenu.js +24 -121
  204. package/lib/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
  205. package/lib/table/pipeline/features/featureApi/RowDragApi.js +72 -0
  206. package/lib/table/pipeline/features/featureApi/utils.d.ts +2 -0
  207. package/lib/table/pipeline/features/featureApi/utils.js +17 -0
  208. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +17 -52
  209. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  210. package/lib/table/pipeline/features/filter/Filter.js +30 -77
  211. package/lib/table/pipeline/features/filter/FilterPanel.js +14 -44
  212. package/lib/table/pipeline/features/filter/index.js +0 -5
  213. package/lib/table/pipeline/features/filter/util.js +2 -10
  214. package/lib/table/pipeline/features/footerDataSource.js +1 -12
  215. package/lib/table/pipeline/features/index.js +0 -23
  216. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  217. package/lib/table/pipeline/features/multiSelect.js +15 -71
  218. package/lib/table/pipeline/features/rangeSelection.js +75 -173
  219. package/lib/table/pipeline/features/rowDetail.js +4 -67
  220. package/lib/table/pipeline/features/rowDrag.d.ts +10 -12
  221. package/lib/table/pipeline/features/rowDrag.js +494 -252
  222. package/lib/table/pipeline/features/rowGrouping.js +4 -57
  223. package/lib/table/pipeline/features/singleSelect.js +0 -34
  224. package/lib/table/pipeline/features/sort.js +37 -115
  225. package/lib/table/pipeline/features/tips.js +4 -19
  226. package/lib/table/pipeline/features/treeMode.d.ts +1 -0
  227. package/lib/table/pipeline/features/treeMode.js +40 -80
  228. package/lib/table/pipeline/features/treeSelect.js +2 -36
  229. package/lib/table/pipeline/index.js +2 -10
  230. package/lib/table/pipeline/pipeline.d.ts +3 -0
  231. package/lib/table/pipeline/pipeline.js +36 -65
  232. package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
  233. package/lib/table/pivot/cross-table/constants.js +1 -2
  234. package/lib/table/pivot/cross-table/cross-table.js +25 -42
  235. package/lib/table/pivot/cross-table/index.js +0 -4
  236. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
  237. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +37 -73
  238. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  239. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  240. package/lib/table/pivot/pivot-utils/builders.js +34 -85
  241. package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
  242. package/lib/table/pivot/pivot-utils/index.js +0 -7
  243. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  244. package/lib/table/style/css.js +0 -1
  245. package/lib/table/style/index.js +0 -1
  246. package/lib/table/style/index.less +1 -1
  247. package/lib/table/transforms/autoRowSpan.js +1 -21
  248. package/lib/table/transforms/autoWidth.js +15 -58
  249. package/lib/table/transforms/buildTree.js +1 -4
  250. package/lib/table/transforms/columnHover.js +9 -22
  251. package/lib/table/transforms/columnRangeHover.js +12 -27
  252. package/lib/table/transforms/columnResize.js +20 -63
  253. package/lib/table/transforms/flatten.js +0 -5
  254. package/lib/table/transforms/index.js +0 -12
  255. package/lib/table/transforms/orderField.js +0 -7
  256. package/lib/table/transforms/sort.js +44 -127
  257. package/lib/table/transforms/tips.js +5 -20
  258. package/lib/table/transforms/treeMode.js +38 -106
  259. package/lib/table/transforms/visible.js +0 -7
  260. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  261. package/lib/table/use/useResizeObserver.js +2 -10
  262. package/lib/table/utils/applyTransforms.js +0 -2
  263. package/lib/table/utils/browserType.js +14 -23
  264. package/lib/table/utils/buildTree.js +7 -33
  265. package/lib/table/utils/collectNodes.js +4 -18
  266. package/lib/table/utils/console.js +2 -19
  267. package/lib/table/utils/copyToClipboard.js +1 -8
  268. package/lib/table/utils/element.js +14 -46
  269. package/lib/table/utils/exportTableAsExcel.js +7 -52
  270. package/lib/table/utils/getTreeDepth.js +4 -17
  271. package/lib/table/utils/groupBy.js +4 -17
  272. package/lib/table/utils/index.js +0 -22
  273. package/lib/table/utils/isGroupColumn.js +0 -3
  274. package/lib/table/utils/isLeafNode.js +0 -1
  275. package/lib/table/utils/keyCode.js +1 -2
  276. package/lib/table/utils/layeredFilter.js +0 -10
  277. package/lib/table/utils/layeredSort.js +0 -10
  278. package/lib/table/utils/makeRecursiveMapper.js +4 -24
  279. package/lib/table/utils/mergeCellProps.js +6 -18
  280. package/lib/table/utils/others.js +7 -36
  281. package/lib/table/utils/proto.js +3 -35
  282. package/lib/table/utils/selectColumn.js +2 -5
  283. package/lib/table/utils/smartCompare.js +4 -13
  284. package/lib/table/utils/traverseColumn.js +5 -25
  285. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +10 -41
  286. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
  287. package/lib/table/utils/uiDegrade.js +1 -8
  288. package/package.json +218 -218
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
4
-
5
4
  var _sortInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/sort");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -145,45 +143,24 @@ Object.defineProperty(exports, "treeSelect", {
145
143
  return _treeSelect.treeSelect;
146
144
  }
147
145
  });
148
-
149
146
  var _autoRowSpan = require("./autoRowSpan");
150
-
151
147
  var _buildTree = require("./buildTree");
152
-
153
148
  var _columnHover = require("./columnHover");
154
-
155
149
  var _columnRangeHover = require("./columnRangeHover");
156
-
157
150
  var _multiSelect = require("./multiSelect");
158
-
159
151
  var _rowDetail = require("./rowDetail");
160
-
161
152
  var _rowGrouping = require("./rowGrouping");
162
-
163
153
  var _singleSelect = require("./singleSelect");
164
-
165
154
  var _sort = require("./sort");
166
-
167
155
  var _tips = require("./tips");
168
-
169
156
  var _treeMode = require("./treeMode");
170
-
171
157
  var _treeSelect = require("./treeSelect");
172
-
173
158
  var _columnDrag = require("./columnDrag");
174
-
175
159
  var _columnResizeWidth = require("./columnResizeWidth");
176
-
177
160
  var _contextMenu = require("./contextMenu");
178
-
179
161
  var _columnFilter = require("./columnFilter");
180
-
181
162
  var _rangeSelection = require("./rangeSelection");
182
-
183
163
  var _mergeCellHover = require("./mergeCellHover");
184
-
185
164
  var _footerDataSource = require("./footerDataSource");
186
-
187
165
  var _colGroupExtendable = require("./colGroupExtendable");
188
-
189
166
  var _rowDrag = require("./rowDrag");
@@ -1,23 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.mergeCellHover = mergeCellHover;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _utils = require("../../utils");
13
-
14
10
  function mergeCellHover() {
15
11
  return function (pipeline) {
16
12
  return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col) {
17
13
  if (!(0, _utils.isLeafNode)(col)) {
18
14
  return col;
19
15
  }
20
-
21
16
  var prevGetCellProps = col.getCellProps;
22
17
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
23
18
  getCellProps: function getCellProps(value, record, rowIndex) {
@@ -1,55 +1,38 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.multiSelect = multiSelect;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
-
14
10
  var _extends3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
15
-
16
11
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
17
-
18
12
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
19
-
20
13
  var _react = _interopRequireDefault(require("react"));
21
-
22
14
  var _internals = require("../../internals");
23
-
24
15
  var _others = require("../../utils/others");
25
-
26
16
  var _utils = require("../../utils");
27
-
28
17
  var fullRowsSetKey = 'fullRowsSetKey';
29
18
  var allEnableKeys = 'allEnableKeys';
30
19
  var selectValueSetKey = 'selectValueSetKey';
31
-
32
20
  function multiSelect() {
33
21
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
34
22
  return function multiSelectStep(pipeline) {
35
23
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
36
-
37
24
  var stateKey = 'multiSelect';
38
25
  var Checkbox = pipeline.ctx.components.Checkbox;
39
-
40
26
  if (Checkbox == null) {
41
27
  throw new Error('使用 multiSelect 之前需要设置 pipeline.ctx.components.Checkbox');
42
28
  }
43
-
44
29
  var primaryKey = pipeline.ensurePrimaryKey('multiSelect');
45
30
  var isDisabled = (_a = opts.isDisabled) !== null && _a !== void 0 ? _a : (0, _others.always)(false);
46
31
  var clickArea = (_b = opts.clickArea) !== null && _b !== void 0 ? _b : 'checkbox';
47
32
  var value = (_f = (_e = (_c = opts.value) !== null && _c !== void 0 ? _c : (_d = pipeline.getStateAtKey(stateKey)) === null || _d === void 0 ? void 0 : _d.value) !== null && _e !== void 0 ? _e : opts.defaultValue) !== null && _f !== void 0 ? _f : [];
48
33
  var lastKey = (_k = (_j = (_g = opts.lastKey) !== null && _g !== void 0 ? _g : (_h = pipeline.getStateAtKey(stateKey)) === null || _h === void 0 ? void 0 : _h.lastKey) !== null && _j !== void 0 ? _j : opts.defaultLastKey) !== null && _k !== void 0 ? _k : '';
49
-
50
34
  var _onChange = function onChange(nextValue, key, keys, action) {
51
35
  var _a;
52
-
53
36
  (_a = opts.onChange) === null || _a === void 0 ? void 0 : _a.call(opts, nextValue, key, keys, action);
54
37
  pipeline.setStateAtKey(stateKey, {
55
38
  value: nextValue,
@@ -60,47 +43,38 @@ function multiSelect() {
60
43
  });
61
44
  };
62
45
  /** dataSource 中包含的所有 keys */
63
-
64
-
65
46
  var fullKeySet = new _set.default();
66
47
  /** 所有有效的 keys(disable 状态为 false) */
67
-
68
48
  var allKeys = [];
69
49
  var set = new _set.default(value);
70
50
  var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
71
-
72
51
  var isAnyChecked = false;
73
52
  var flatDataSource = (0, _utils.collectNodes)(pipeline.getDataSource());
74
53
  flatDataSource.forEach(function (row, rowIndex) {
75
54
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
76
-
77
- fullKeySet.add(rowKey); // 在 allKeys 中排除被禁用的 key
78
-
55
+ fullKeySet.add(rowKey);
56
+ // 在 allKeys 中排除被禁用的 key
79
57
  if (!isDisabled(row, rowIndex)) {
80
- allKeys.push(rowKey); // 存在一个非选中,则不再进行判断
81
-
58
+ allKeys.push(rowKey);
59
+ // 存在一个非选中,则不再进行判断
82
60
  if (isAllChecked) {
83
61
  isAllChecked = set.has(rowKey);
84
- } // 存在一个选中,则不再进行判断
85
-
86
-
62
+ }
63
+ // 存在一个选中,则不再进行判断
87
64
  if (!isAnyChecked) {
88
65
  isAnyChecked = set.has(rowKey);
89
66
  }
90
67
  }
91
- }); // todo: 暂使用hidden隐藏选择列 后续增加配置
92
-
68
+ });
69
+ // todo: 暂使用hidden隐藏选择列 后续增加配置
93
70
  var hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true;
94
-
95
71
  if (!hiddenSelectColumn) {
96
72
  var _context;
97
-
98
73
  var defaultCheckboxColumnTitle = /*#__PURE__*/_react.default.createElement(Checkbox, {
99
74
  checked: isAllChecked,
100
75
  indeterminate: !isAllChecked && isAnyChecked,
101
76
  onChange: function onChange(_) {
102
77
  var allKeys = pipeline.getFeatureOptions(allEnableKeys);
103
-
104
78
  if (isAllChecked) {
105
79
  _onChange(_others.arrayUtils.diff(value, allKeys), '', allKeys, 'uncheck-all');
106
80
  } else {
@@ -108,7 +82,6 @@ function multiSelect() {
108
82
  }
109
83
  }
110
84
  });
111
-
112
85
  var checkboxColumn = (0, _extends3.default)((0, _extends3.default)({
113
86
  name: '是否选中',
114
87
  title: defaultCheckboxColumnTitle,
@@ -117,14 +90,11 @@ function multiSelect() {
117
90
  }, opts.checkboxColumn), {
118
91
  getCellProps: function getCellProps(value, row, rowIndex) {
119
92
  var _a, _b;
120
-
121
93
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
122
-
123
94
  var checkboxCellProps = {};
124
95
  var preCellProps = (_b = (_a = opts.checkboxColumn) === null || _a === void 0 ? void 0 : _a.getCellProps) === null || _b === void 0 ? void 0 : _b.call(_a, value, row, rowIndex);
125
96
  var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new _set.default();
126
97
  var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new _set.default();
127
-
128
98
  if (fullRowsSet.has(rowKey) && clickArea === 'cell') {
129
99
  var prevChecked = selectValueSet.has(rowKey);
130
100
  var disabled = isDisabled(row, rowIndex);
@@ -136,39 +106,32 @@ function multiSelect() {
136
106
  if (opts.stopClickEventPropagation) {
137
107
  e.stopPropagation();
138
108
  }
139
-
140
109
  onCheckboxChange(prevChecked, rowKey, e.shiftKey);
141
110
  }
142
111
  };
143
112
  }
144
-
145
113
  return (0, _utils.mergeCellProps)(preCellProps, checkboxCellProps);
146
114
  },
147
115
  render: function render(_, row, rowIndex) {
148
116
  if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
149
117
  return null;
150
118
  }
151
-
152
119
  var key = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
153
-
154
120
  var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new _set.default();
155
121
  var checked = selectValueSet.has(key);
156
122
  return /*#__PURE__*/_react.default.createElement(Checkbox, {
157
123
  checked: checked,
158
124
  disabled: isDisabled(row, rowIndex),
159
125
  onChange: clickArea === 'checkbox' ? function (arg1, arg2) {
160
- var _a; // 这里要同时兼容 antd 和 fusion 的用法
126
+ var _a;
127
+ // 这里要同时兼容 antd 和 fusion 的用法
161
128
  // fusion: arg2?.nativeEvent
162
129
  // antd: arg1.nativeEvent
163
-
164
-
165
130
  var nativeEvent = (_a = arg2 === null || arg2 === void 0 ? void 0 : arg2.nativeEvent) !== null && _a !== void 0 ? _a : arg1.nativeEvent;
166
-
167
131
  if (nativeEvent) {
168
132
  if (opts.stopClickEventPropagation) {
169
133
  nativeEvent.stopPropagation();
170
134
  }
171
-
172
135
  onCheckboxChange(checked, key, nativeEvent.shiftKey);
173
136
  }
174
137
  } : undefined
@@ -178,59 +141,47 @@ function multiSelect() {
178
141
  });
179
142
  var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
180
143
  var checkboxPlacement = (_m = opts.checkboxPlacement) !== null && _m !== void 0 ? _m : 'start';
181
-
182
144
  if (checkboxPlacement === 'start') {
183
145
  nextColumns.unshift(checkboxColumn);
184
146
  } else {
185
147
  nextColumns.push(checkboxColumn);
186
148
  }
187
-
188
149
  pipeline.columns(nextColumns);
189
150
  }
190
-
191
151
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
192
152
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
193
-
194
153
  var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new _set.default();
195
-
196
154
  if (!fullRowsSet.has(rowKey)) {
197
155
  // rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理
198
156
  return;
199
157
  }
200
-
201
158
  var style = {};
202
159
  var className;
203
160
  var onClick;
204
161
  var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new _set.default();
205
162
  var checked = selectValueSet.has(rowKey);
206
-
207
163
  if (opts.highlightRowWhenSelected && checked) {
208
164
  className = 'highlight';
209
165
  }
210
-
211
166
  if (clickArea === 'row') {
212
167
  var disabled = isDisabled(row, rowIndex);
213
-
214
168
  if (!disabled) {
215
169
  style.cursor = 'pointer';
216
-
217
170
  onClick = function onClick(e) {
218
171
  if (opts.stopClickEventPropagation) {
219
172
  e.stopPropagation();
220
173
  }
221
-
222
174
  onCheckboxChange(checked, rowKey, e.shiftKey);
223
175
  };
224
176
  }
225
177
  }
226
-
227
178
  return {
228
179
  className: className,
229
180
  style: style,
230
181
  onClick: onClick
231
182
  };
232
- }); // 只保留一份到pipeline, 避免行数据过多时内容被握住
233
-
183
+ });
184
+ // 只保留一份到pipeline, 避免行数据过多时内容被握住
234
185
  pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet);
235
186
  pipeline.setFeatureOptions(allEnableKeys, allKeys);
236
187
  pipeline.setFeatureOptions(selectValueSetKey, set);
@@ -238,25 +189,18 @@ function multiSelect() {
238
189
  allKeys = null;
239
190
  set = null;
240
191
  return pipeline;
241
-
242
192
  function onCheckboxChange(prevChecked, key, batch) {
243
193
  var batchKeys = [key];
244
-
245
194
  if (batch && lastKey) {
246
195
  var _allKeys = pipeline.getFeatureOptions(allEnableKeys);
247
-
248
196
  var lastIdx = _allKeys.indexOf(lastKey);
249
-
250
197
  var cntIdx = _allKeys.indexOf(key);
251
-
252
198
  var _ref = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx],
253
- _ref2 = (0, _slicedToArray2.default)(_ref, 2),
254
- start = _ref2[0],
255
- end = _ref2[1];
256
-
199
+ _ref2 = (0, _slicedToArray2.default)(_ref, 2),
200
+ start = _ref2[0],
201
+ end = _ref2[1];
257
202
  batchKeys = (0, _slice.default)(_allKeys).call(_allKeys, start, end + 1);
258
203
  }
259
-
260
204
  if (prevChecked) {
261
205
  _onChange(_others.arrayUtils.diff(value, batchKeys), key, batchKeys, 'uncheck');
262
206
  } else {