@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,56 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _flatMapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/flat-map");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.rowGrouping = rowGrouping;
11
-
12
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
13
-
14
10
  var _toArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toArray"));
15
-
16
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
-
18
12
  var _extends3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
-
20
13
  var _symbol = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol"));
21
-
22
14
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
23
-
24
15
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
25
-
26
16
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
27
-
28
17
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
29
-
30
18
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
31
-
32
19
  var _classnames = _interopRequireDefault(require("classnames"));
33
-
34
20
  var _react = _interopRequireDefault(require("react"));
35
-
36
21
  var _commonViews = require("../../common-views");
37
-
38
22
  var _internals = require("../../internals");
39
-
40
23
  var _utils = require("../../utils");
41
-
42
24
  var _others = require("../../utils/others");
43
-
44
25
  var _base = require("../../base");
45
-
46
26
  var groupingMetaSymbol = (0, _symbol.default)('row-grouping-meta');
47
-
48
27
  function attachGroupingMeta(row) {
49
28
  return (0, _extends3.default)((0, _defineProperty2.default)({}, groupingMetaSymbol, {
50
29
  expandable: !(0, _utils.isLeafNode)(row)
51
30
  }), row);
52
31
  }
53
-
54
32
  function getGroupingMeta(row) {
55
33
  if (row[groupingMetaSymbol] == null) {
56
34
  return {
@@ -58,13 +36,11 @@ function getGroupingMeta(row) {
58
36
  expandable: false
59
37
  };
60
38
  }
61
-
62
39
  return {
63
40
  isGroupHeader: true,
64
41
  expandable: row[groupingMetaSymbol].expandable
65
42
  };
66
43
  }
67
-
68
44
  function rowGroupingRowPropsGetter(row) {
69
45
  if (getGroupingMeta(row).isGroupHeader) {
70
46
  return {
@@ -72,75 +48,56 @@ function rowGroupingRowPropsGetter(row) {
72
48
  };
73
49
  }
74
50
  }
75
-
76
51
  function rowGrouping() {
77
52
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
53
  return function (pipeline) {
79
54
  var _context;
80
-
81
55
  var _a, _b, _c;
82
-
83
56
  var stateKey = 'rowGrouping';
84
57
  var indents = pipeline.ctx.indents;
85
58
  var textOffset = indents.iconIndent + indents.iconWidth + indents.iconGap;
86
59
  var primaryKey = pipeline.ensurePrimaryKey('rowGrouping');
87
-
88
60
  if (typeof primaryKey !== 'string') {
89
61
  throw new Error('rowGrouping 仅支持字符串作为 primaryKey');
90
62
  }
91
-
92
63
  var openKeys = (_c = (_b = (_a = opts.openKeys) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : opts.defaultOpenAll ? (0, _map.default)(_context = pipeline.getDataSource()).call(_context, function (row) {
93
64
  return row[primaryKey];
94
65
  }) : opts.defaultOpenKeys) !== null && _c !== void 0 ? _c : [];
95
66
  var openKeySet = new _set.default(openKeys);
96
-
97
67
  var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
98
68
  var _a;
99
-
100
69
  (_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
101
70
  pipeline.setStateAtKey(stateKey, nextKeys, {
102
71
  key: key,
103
72
  action: action
104
73
  });
105
74
  };
106
-
107
75
  return pipeline.mapDataSource(processDataSource).mapColumns(processColumns).appendRowPropsGetter(rowGroupingRowPropsGetter);
108
-
109
76
  function processDataSource(input) {
110
77
  return (0, _flatMapInstanceProperty(_others))(input, function (row) {
111
78
  var result = [attachGroupingMeta(row)];
112
79
  var expanded = openKeySet.has(row[primaryKey]);
113
-
114
80
  if (expanded) {
115
81
  if (Array.isArray(row.children)) {
116
82
  result = (0, _concat.default)(result).call(result, row.children);
117
83
  }
118
84
  }
119
-
120
85
  return result;
121
86
  });
122
87
  }
123
-
124
88
  function processColumns(columns) {
125
89
  var _context3;
126
-
127
90
  if (columns.length === 0) {
128
91
  return columns;
129
92
  }
130
-
131
93
  var columnFlatCount = (0, _utils.collectNodes)(columns, 'leaf-only').length;
132
-
133
94
  var _columns = (0, _toArray2.default)(columns),
134
- firstCol = _columns[0],
135
- others = (0, _slice.default)(_columns).call(_columns, 1);
136
-
95
+ firstCol = _columns[0],
96
+ others = (0, _slice.default)(_columns).call(_columns, 1);
137
97
  var render = function render(value, row, rowIndex) {
138
98
  var _a, _b;
139
-
140
99
  var content = _internals.internals.safeRender(firstCol, row, rowIndex);
141
-
142
100
  var meta = getGroupingMeta(row);
143
-
144
101
  if (!meta.isGroupHeader || !meta.expandable) {
145
102
  var marginLeft = textOffset + (meta.isGroupHeader ? 0 : indents.indentSize);
146
103
  return /*#__PURE__*/_react.default.createElement(_commonViews.InlineFlexCell, {
@@ -149,7 +106,6 @@ function rowGrouping() {
149
106
  }
150
107
  }, meta.isGroupHeader ? (_a = row.groupTitle) !== null && _a !== void 0 ? _a : content : content);
151
108
  }
152
-
153
109
  var expanded = openKeySet.has(row[primaryKey]);
154
110
  var expandCls = expanded ? _base.Classes.expanded : _base.Classes.collapsed;
155
111
  return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
@@ -162,39 +118,31 @@ function rowGrouping() {
162
118
  }
163
119
  }), (_b = row.groupTitle) !== null && _b !== void 0 ? _b : content);
164
120
  };
165
-
166
121
  var getCellProps = function getCellProps(value, row, rowIndex) {
167
122
  var _a;
168
-
169
123
  var meta = getGroupingMeta(row);
170
-
171
124
  if (!meta.isGroupHeader) {
172
125
  return;
173
126
  }
174
-
175
127
  var expandable = meta.expandable;
176
128
  var rowKey = row[primaryKey];
177
129
  var expanded = openKeySet.has(rowKey);
178
130
  var onClick;
179
-
180
131
  if (expandable) {
181
132
  onClick = function onClick(e) {
182
133
  if (opts.stopClickEventPropagation) {
183
134
  e.stopPropagation();
184
135
  }
185
-
186
136
  if (expanded) {
187
137
  onChangeOpenKeys((0, _filter.default)(openKeys).call(openKeys, function (key) {
188
138
  return key !== rowKey;
189
139
  }), rowKey, 'collapse');
190
140
  } else {
191
141
  var _context2;
192
-
193
142
  onChangeOpenKeys((0, _concat.default)(_context2 = []).call(_context2, (0, _toConsumableArray2.default)(openKeys), [rowKey]), rowKey, 'expand');
194
143
  }
195
144
  };
196
145
  }
197
-
198
146
  var prevProps = (_a = firstCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(firstCol, value, row, rowIndex);
199
147
  return (0, _utils.mergeCellProps)(prevProps, {
200
148
  onClick: onClick,
@@ -203,14 +151,13 @@ function rowGrouping() {
203
151
  }
204
152
  });
205
153
  };
206
-
207
154
  return (0, _concat.default)(_context3 = [(0, _extends3.default)((0, _extends3.default)({}, firstCol), {
208
- title: /*#__PURE__*/_react.default.createElement("div", {
155
+ title: (/*#__PURE__*/_react.default.createElement("div", {
209
156
  style: {
210
157
  display: 'inline-block',
211
158
  marginLeft: textOffset
212
159
  }
213
- }, _internals.internals.safeRenderHeader(firstCol)),
160
+ }, _internals.internals.safeRenderHeader(firstCol))),
214
161
  render: render,
215
162
  getCellProps: getCellProps,
216
163
  getSpanRect: function getSpanRect(value, row, rowIndex) {
@@ -1,52 +1,36 @@
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.singleSelect = singleSelect;
9
-
10
8
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
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 _react = _interopRequireDefault(require("react"));
17
-
18
12
  var _internals = require("../../internals");
19
-
20
13
  var _others = require("../../utils/others");
21
-
22
14
  var _utils = require("../../utils");
23
-
24
15
  function singleSelect() {
25
16
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
17
  return function singleSelectStep(pipeline) {
27
18
  var _context;
28
-
29
19
  var _a, _b, _c, _d, _e, _f;
30
-
31
20
  var Radio = pipeline.ctx.components.Radio;
32
-
33
21
  if (Radio == null) {
34
22
  throw new Error('使用 singleSelect 之前需要通过 pipeline context 设置 components.Radio');
35
23
  }
36
-
37
24
  var stateKey = 'singleSelect';
38
25
  var clickArea = (_a = opts.clickArea) !== null && _a !== void 0 ? _a : 'radio';
39
26
  var isDisabled = (_b = opts.isDisabled) !== null && _b !== void 0 ? _b : (0, _others.always)(false);
40
27
  var primaryKey = pipeline.ensurePrimaryKey('singleSelect');
41
28
  var value = (_d = (_c = opts.value) !== null && _c !== void 0 ? _c : pipeline.getStateAtKey(stateKey)) !== null && _d !== void 0 ? _d : opts.defaultValue;
42
-
43
29
  var onChange = function onChange(rowKey) {
44
30
  var _a;
45
-
46
31
  (_a = opts.onChange) === null || _a === void 0 ? void 0 : _a.call(opts, rowKey);
47
32
  pipeline.setStateAtKey(stateKey, rowKey);
48
33
  };
49
-
50
34
  var radioColumn = (0, _extends3.default)((0, _extends3.default)({
51
35
  name: '',
52
36
  width: 50,
@@ -54,12 +38,9 @@ function singleSelect() {
54
38
  }, opts.radioColumn), {
55
39
  getCellProps: function getCellProps(value, row, rowIndex) {
56
40
  var _a, _b;
57
-
58
41
  var preCellProps = (_b = (_a = opts.radioColumn) === null || _a === void 0 ? void 0 : _a.getCellProps) === null || _b === void 0 ? void 0 : _b.call(_a, value, row, rowIndex);
59
-
60
42
  if (clickArea === 'cell') {
61
43
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
62
-
63
44
  var disabled = isDisabled(row, rowIndex);
64
45
  return (0, _utils.mergeCellProps)(preCellProps, {
65
46
  style: {
@@ -69,33 +50,26 @@ function singleSelect() {
69
50
  if (opts.stopClickEventPropagation) {
70
51
  e.stopPropagation();
71
52
  }
72
-
73
53
  onChange(rowKey);
74
54
  }
75
55
  });
76
56
  }
77
-
78
57
  return preCellProps;
79
58
  },
80
59
  render: function render(_, row, rowIndex) {
81
60
  if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
82
61
  return null;
83
62
  }
84
-
85
63
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
86
-
87
64
  return /*#__PURE__*/_react.default.createElement(Radio, {
88
65
  checked: value === rowKey,
89
66
  disabled: isDisabled(row, rowIndex),
90
67
  onChange: clickArea === 'radio' ? function (arg1, arg2) {
91
68
  var _a;
92
-
93
69
  var nativeEvent = (_a = arg2 === null || arg2 === void 0 ? void 0 : arg2.nativeEvent) !== null && _a !== void 0 ? _a : arg1 === null || arg1 === void 0 ? void 0 : arg1.nativeEvent;
94
-
95
70
  if (nativeEvent && opts.stopClickEventPropagation) {
96
71
  nativeEvent.stopPropagation();
97
72
  }
98
-
99
73
  onChange(rowKey);
100
74
  } : undefined
101
75
  });
@@ -104,39 +78,31 @@ function singleSelect() {
104
78
  });
105
79
  var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
106
80
  var radioPlacement = (_f = opts.radioPlacement) !== null && _f !== void 0 ? _f : 'start';
107
-
108
81
  if (radioPlacement === 'start') {
109
82
  nextColumns.unshift(radioColumn);
110
83
  } else {
111
84
  nextColumns.push(radioColumn);
112
85
  }
113
-
114
86
  pipeline.columns(nextColumns);
115
87
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
116
88
  var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
117
-
118
89
  var style = {};
119
90
  var className;
120
91
  var onClick;
121
-
122
92
  if (opts.highlightRowWhenSelected) {
123
93
  if (value === rowKey) {
124
94
  className = 'highlight';
125
95
  }
126
96
  }
127
-
128
97
  if (clickArea === 'row' && !isDisabled(row, rowIndex)) {
129
98
  style.cursor = 'pointer';
130
-
131
99
  onClick = function onClick(e) {
132
100
  if (opts.stopClickEventPropagation) {
133
101
  e.stopPropagation();
134
102
  }
135
-
136
103
  onChange(rowKey);
137
104
  };
138
105
  }
139
-
140
106
  return {
141
107
  className: className,
142
108
  style: style,