@kdcloudjs/table 1.2.0-canary.15 → 1.2.0-canary.16-hotfix

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 (233) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.js +2051 -3489
  3. package/dist/@kdcloudjs/table.js.map +1 -1
  4. package/dist/@kdcloudjs/table.min.css +1 -1
  5. package/dist/@kdcloudjs/table.min.js +16 -16
  6. package/dist/@kdcloudjs/table.min.js.map +1 -1
  7. package/es/_utils/arrayUtil.js +0 -3
  8. package/es/_utils/devwarning.js +0 -1
  9. package/es/_utils/formatUtil.js +35 -96
  10. package/es/_utils/hooks.js +18 -42
  11. package/es/_utils/index.js +0 -2
  12. package/es/_utils/numberUtil.js +32 -55
  13. package/es/_utils/omit.js +0 -2
  14. package/es/_utils/type.js +0 -2
  15. package/es/_utils/usePopper.js +74 -137
  16. package/es/config-provider/compDefaultProps.js +0 -1
  17. package/es/config-provider/configProvider.js +2 -7
  18. package/es/config-provider/defaultConfig.js +0 -1
  19. package/es/index.js +0 -2
  20. package/es/locale/locale.js +5 -43
  21. package/es/table/base/calculations.js +22 -72
  22. package/es/table/base/colgroup.js +0 -1
  23. package/es/table/base/empty.js +4 -4
  24. package/es/table/base/header.js +14 -67
  25. package/es/table/base/helpers/SpanManager.js +3 -9
  26. package/es/table/base/helpers/TableDOMUtils.js +4 -27
  27. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  28. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  29. package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
  30. package/es/table/base/helpers/rowHeightManager.js +0 -28
  31. package/es/table/base/html-table.js +14 -35
  32. package/es/table/base/loading.js +6 -8
  33. package/es/table/base/renderTemplates.js +26 -44
  34. package/es/table/base/styles.js +1 -10
  35. package/es/table/base/table.js +96 -179
  36. package/es/table/base/utils.js +14 -54
  37. package/es/table/common-views.js +0 -7
  38. package/es/table/internals.js +0 -13
  39. package/es/table/pipeline/features/autoFill.js +11 -40
  40. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  41. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  42. package/es/table/pipeline/features/columnDrag.d.ts +1 -0
  43. package/es/table/pipeline/features/columnDrag.js +236 -303
  44. package/es/table/pipeline/features/columnFilter.js +11 -48
  45. package/es/table/pipeline/features/columnHover.js +1 -7
  46. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  47. package/es/table/pipeline/features/columnResizeWidth.js +51 -42
  48. package/es/table/pipeline/features/contextMenu.js +18 -89
  49. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  50. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  51. package/es/table/pipeline/features/filter/Filter.js +25 -48
  52. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  53. package/es/table/pipeline/features/filter/util.js +0 -4
  54. package/es/table/pipeline/features/footerDataSource.js +0 -3
  55. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  56. package/es/table/pipeline/features/multiSelect.js +15 -57
  57. package/es/table/pipeline/features/rangeSelection.js +65 -143
  58. package/es/table/pipeline/features/rowDetail.js +2 -41
  59. package/es/table/pipeline/features/rowDrag.js +36 -71
  60. package/es/table/pipeline/features/rowGrouping.js +2 -35
  61. package/es/table/pipeline/features/singleSelect.js +0 -24
  62. package/es/table/pipeline/features/sort.js +31 -83
  63. package/es/table/pipeline/features/tips.js +0 -6
  64. package/es/table/pipeline/features/treeMode.js +9 -44
  65. package/es/table/pipeline/features/treeSelect.js +0 -26
  66. package/es/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
  67. package/es/table/pipeline/features/utils/touchEventUtils.js +65 -0
  68. package/es/table/pipeline/pipeline.js +11 -51
  69. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  70. package/es/table/pivot/cross-table/cross-table.js +22 -28
  71. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  72. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  73. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  74. package/es/table/pivot/pivot-utils/builders.js +31 -71
  75. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  76. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  77. package/es/table/transforms/autoRowSpan.js +1 -15
  78. package/es/table/transforms/autoWidth.js +10 -32
  79. package/es/table/transforms/buildTree.js +1 -2
  80. package/es/table/transforms/columnHover.js +9 -15
  81. package/es/table/transforms/columnRangeHover.js +12 -19
  82. package/es/table/transforms/columnResize.js +15 -37
  83. package/es/table/transforms/flatten.js +0 -3
  84. package/es/table/transforms/orderField.js +0 -3
  85. package/es/table/transforms/sort.js +36 -88
  86. package/es/table/transforms/tips.js +1 -6
  87. package/es/table/transforms/treeMode.js +30 -69
  88. package/es/table/transforms/visible.js +0 -2
  89. package/es/table/use/useResizeObserver.js +1 -4
  90. package/es/table/utils/applyTransforms.js +0 -1
  91. package/es/table/utils/buildTree.js +4 -19
  92. package/es/table/utils/collectNodes.js +1 -10
  93. package/es/table/utils/console.js +0 -14
  94. package/es/table/utils/copyToClipboard.js +0 -4
  95. package/es/table/utils/element.js +14 -41
  96. package/es/table/utils/exportTableAsExcel.js +4 -40
  97. package/es/table/utils/getTreeDepth.js +1 -9
  98. package/es/table/utils/groupBy.js +1 -10
  99. package/es/table/utils/layeredFilter.js +0 -4
  100. package/es/table/utils/layeredSort.js +0 -5
  101. package/es/table/utils/makeRecursiveMapper.js +1 -12
  102. package/es/table/utils/mergeCellProps.js +6 -13
  103. package/es/table/utils/others.js +3 -16
  104. package/es/table/utils/proto.js +2 -30
  105. package/es/table/utils/smartCompare.js +4 -12
  106. package/es/table/utils/traverseColumn.js +2 -15
  107. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  108. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  109. package/lib/_utils/arrayUtil.js +0 -5
  110. package/lib/_utils/devwarning.js +0 -5
  111. package/lib/_utils/formatUtil.js +35 -100
  112. package/lib/_utils/hooks.js +18 -53
  113. package/lib/_utils/index.js +0 -6
  114. package/lib/_utils/numberUtil.js +32 -63
  115. package/lib/_utils/omit.js +0 -5
  116. package/lib/_utils/react-children.js +0 -5
  117. package/lib/_utils/type.js +0 -6
  118. package/lib/_utils/usePopper.js +74 -158
  119. package/lib/config-provider/ConfigContext.js +1 -4
  120. package/lib/config-provider/compDefaultProps.js +0 -1
  121. package/lib/config-provider/configProvider.js +3 -18
  122. package/lib/config-provider/defaultConfig.js +0 -5
  123. package/lib/config-provider/index.js +0 -6
  124. package/lib/index.js +2 -8
  125. package/lib/locale/index.js +0 -7
  126. package/lib/locale/locale.js +5 -57
  127. package/lib/table/base/calculations.js +22 -83
  128. package/lib/table/base/colgroup.js +0 -5
  129. package/lib/table/base/empty.js +4 -16
  130. package/lib/table/base/header.js +14 -77
  131. package/lib/table/base/helpers/SpanManager.js +3 -11
  132. package/lib/table/base/helpers/TableDOMUtils.js +2 -27
  133. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  134. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  135. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  136. package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
  137. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  138. package/lib/table/base/html-table.js +14 -45
  139. package/lib/table/base/index.js +0 -2
  140. package/lib/table/base/loading.js +6 -12
  141. package/lib/table/base/renderTemplates.js +27 -58
  142. package/lib/table/base/styles.js +1 -22
  143. package/lib/table/base/table.js +96 -212
  144. package/lib/table/base/utils.js +14 -89
  145. package/lib/table/common-views.js +0 -16
  146. package/lib/table/index.js +0 -13
  147. package/lib/table/internals.js +0 -14
  148. package/lib/table/pipeline/features/autoFill.js +11 -47
  149. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  150. package/lib/table/pipeline/features/buildTree.js +0 -2
  151. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  152. package/lib/table/pipeline/features/columnDrag.d.ts +1 -0
  153. package/lib/table/pipeline/features/columnDrag.js +236 -309
  154. package/lib/table/pipeline/features/columnFilter.js +11 -62
  155. package/lib/table/pipeline/features/columnHover.js +1 -11
  156. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  157. package/lib/table/pipeline/features/columnResizeWidth.js +51 -58
  158. package/lib/table/pipeline/features/contextMenu.js +18 -113
  159. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  160. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  161. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  162. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  163. package/lib/table/pipeline/features/filter/index.js +0 -5
  164. package/lib/table/pipeline/features/filter/util.js +0 -7
  165. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  166. package/lib/table/pipeline/features/index.js +0 -23
  167. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  168. package/lib/table/pipeline/features/multiSelect.js +15 -71
  169. package/lib/table/pipeline/features/rangeSelection.js +65 -160
  170. package/lib/table/pipeline/features/rowDetail.js +2 -65
  171. package/lib/table/pipeline/features/rowDrag.js +36 -81
  172. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  173. package/lib/table/pipeline/features/singleSelect.js +0 -34
  174. package/lib/table/pipeline/features/sort.js +31 -103
  175. package/lib/table/pipeline/features/tips.js +0 -15
  176. package/lib/table/pipeline/features/treeMode.js +9 -65
  177. package/lib/table/pipeline/features/treeSelect.js +0 -34
  178. package/lib/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
  179. package/lib/table/pipeline/features/utils/touchEventUtils.js +76 -0
  180. package/lib/table/pipeline/index.js +0 -8
  181. package/lib/table/pipeline/pipeline.js +11 -60
  182. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  183. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  184. package/lib/table/pivot/cross-table/index.js +0 -4
  185. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  186. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  187. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  188. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  189. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  190. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  191. package/lib/table/pivot/pivot-utils/index.js +0 -7
  192. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  193. package/lib/table/style/css.js +0 -1
  194. package/lib/table/style/index.js +0 -1
  195. package/lib/table/transforms/autoRowSpan.js +1 -21
  196. package/lib/table/transforms/autoWidth.js +10 -53
  197. package/lib/table/transforms/buildTree.js +1 -4
  198. package/lib/table/transforms/columnHover.js +9 -22
  199. package/lib/table/transforms/columnRangeHover.js +12 -27
  200. package/lib/table/transforms/columnResize.js +15 -56
  201. package/lib/table/transforms/flatten.js +0 -5
  202. package/lib/table/transforms/index.js +0 -12
  203. package/lib/table/transforms/orderField.js +0 -7
  204. package/lib/table/transforms/sort.js +36 -112
  205. package/lib/table/transforms/tips.js +1 -16
  206. package/lib/table/transforms/treeMode.js +30 -96
  207. package/lib/table/transforms/visible.js +0 -7
  208. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  209. package/lib/table/use/useResizeObserver.js +1 -8
  210. package/lib/table/utils/applyTransforms.js +0 -2
  211. package/lib/table/utils/buildTree.js +4 -30
  212. package/lib/table/utils/collectNodes.js +1 -15
  213. package/lib/table/utils/console.js +0 -16
  214. package/lib/table/utils/copyToClipboard.js +0 -6
  215. package/lib/table/utils/element.js +14 -46
  216. package/lib/table/utils/exportTableAsExcel.js +4 -49
  217. package/lib/table/utils/getTreeDepth.js +1 -14
  218. package/lib/table/utils/groupBy.js +1 -14
  219. package/lib/table/utils/index.js +0 -21
  220. package/lib/table/utils/isGroupColumn.js +0 -3
  221. package/lib/table/utils/isLeafNode.js +0 -1
  222. package/lib/table/utils/layeredFilter.js +0 -10
  223. package/lib/table/utils/layeredSort.js +0 -10
  224. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  225. package/lib/table/utils/mergeCellProps.js +6 -17
  226. package/lib/table/utils/others.js +3 -31
  227. package/lib/table/utils/proto.js +2 -33
  228. package/lib/table/utils/selectColumn.js +0 -1
  229. package/lib/table/utils/smartCompare.js +4 -13
  230. package/lib/table/utils/traverseColumn.js +2 -22
  231. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  232. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  233. package/package.json +2 -1
@@ -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 {