@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,92 +1,67 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.buildRecordMap = buildRecordMap;
17
12
  exports.buildRecordMatrix = buildRecordMatrix;
18
-
19
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
20
-
21
14
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
22
-
23
15
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
24
-
25
16
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
26
-
27
17
  var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
28
-
29
18
  var _utils = require("../../utils");
30
-
31
19
  var _others = require("../../utils/others");
32
-
33
20
  var _buildDrillTree = _interopRequireDefault(require("./buildDrillTree"));
34
-
35
21
  var _simpleEncode = _interopRequireDefault(require("./simpleEncode"));
36
-
37
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
38
-
39
- function _unsupportedIterableToArray(o, minLen) { var _context5; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context5 = Object.prototype.toString.call(o)).call(_context5, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
40
-
41
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
42
-
22
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
23
+ function _unsupportedIterableToArray(r, a) { if (r) { var _context5; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty(_context5 = {}.toString.call(r)).call(_context5, 8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
24
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
43
25
  function fallbackAggregate(slice) {
44
26
  return slice.length === 1 ? slice[0] : {};
45
27
  }
46
28
  /** 根据表格左侧与上方的下钻树,从全量明细数据中计算对应的数据立方 */
47
-
48
-
49
29
  function buildRecordMatrix(_ref) {
50
30
  var data = _ref.data,
51
- leftCodes = _ref.leftCodes,
52
- topCodes = _ref.topCodes,
53
- _ref$aggregate = _ref.aggregate,
54
- aggregate = _ref$aggregate === void 0 ? fallbackAggregate : _ref$aggregate,
55
- _ref$encode = _ref.encode,
56
- encode = _ref$encode === void 0 ? _simpleEncode.default : _ref$encode,
57
- _ref$isLeftExpand = _ref.isLeftExpand,
58
- isLeftExpand = _ref$isLeftExpand === void 0 ? (0, _others.always)(true) : _ref$isLeftExpand,
59
- _ref$isTopExpand = _ref.isTopExpand,
60
- isTopExpand = _ref$isTopExpand === void 0 ? (0, _others.always)(true) : _ref$isTopExpand,
61
- prebuiltLeftTree = _ref.prebuiltLeftTree,
62
- prebuiltTopTree = _ref.prebuiltTopTree;
31
+ leftCodes = _ref.leftCodes,
32
+ topCodes = _ref.topCodes,
33
+ _ref$aggregate = _ref.aggregate,
34
+ aggregate = _ref$aggregate === void 0 ? fallbackAggregate : _ref$aggregate,
35
+ _ref$encode = _ref.encode,
36
+ encode = _ref$encode === void 0 ? _simpleEncode.default : _ref$encode,
37
+ _ref$isLeftExpand = _ref.isLeftExpand,
38
+ isLeftExpand = _ref$isLeftExpand === void 0 ? (0, _others.always)(true) : _ref$isLeftExpand,
39
+ _ref$isTopExpand = _ref.isTopExpand,
40
+ isTopExpand = _ref$isTopExpand === void 0 ? (0, _others.always)(true) : _ref$isTopExpand,
41
+ prebuiltLeftTree = _ref.prebuiltLeftTree,
42
+ prebuiltTopTree = _ref.prebuiltTopTree;
63
43
  var ctx = {
64
44
  peculiarity: new _set.default()
65
45
  };
66
-
67
46
  var _ref2 = prebuiltLeftTree !== null && prebuiltLeftTree !== void 0 ? prebuiltLeftTree : (0, _buildDrillTree.default)(data, leftCodes, {
68
- encode: encode,
69
- includeTopWrapper: true,
70
- isExpand: isLeftExpand
71
- }),
72
- _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
73
- leftRootDrillNode = _ref3[0];
74
-
47
+ encode: encode,
48
+ includeTopWrapper: true,
49
+ isExpand: isLeftExpand
50
+ }),
51
+ _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
52
+ leftRootDrillNode = _ref3[0];
75
53
  var _ref4 = prebuiltTopTree !== null && prebuiltTopTree !== void 0 ? prebuiltTopTree : (0, _buildDrillTree.default)(data, topCodes, {
76
- encode: encode,
77
- includeTopWrapper: true,
78
- isExpand: isTopExpand
79
- }),
80
- _ref5 = (0, _slicedToArray2.default)(_ref4, 1),
81
- topRootDrillNode = _ref5[0];
82
-
54
+ encode: encode,
55
+ includeTopWrapper: true,
56
+ isExpand: isTopExpand
57
+ }),
58
+ _ref5 = (0, _slicedToArray2.default)(_ref4, 1),
59
+ topRootDrillNode = _ref5[0];
83
60
  var transientMatrixRow = buildByLeft(ctx, data, leftRootDrillNode, 0);
84
61
  return makeMatrix(transientMatrixRow);
85
-
86
62
  function buildByLeft(ctx, slice, drillNode, depth) {
87
63
  var children = null;
88
64
  var col;
89
-
90
65
  if ((0, _utils.isLeafNode)(drillNode)) {
91
66
  col = buildByTop(ctx, slice, topRootDrillNode, 0);
92
67
  } else {
@@ -96,15 +71,12 @@ function buildRecordMatrix(_ref) {
96
71
  return dwdRow[code];
97
72
  });
98
73
  ctx.peculiarity.add(code);
99
-
100
74
  var _iterator = _createForOfIteratorHelper(drillNode.children),
101
- _step;
102
-
75
+ _step;
103
76
  try {
104
77
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
105
78
  var child = _step.value;
106
79
  var group = groups[child.value];
107
-
108
80
  if (group) {
109
81
  children.push(buildByLeft(ctx, group, child, depth + 1));
110
82
  }
@@ -114,24 +86,20 @@ function buildRecordMatrix(_ref) {
114
86
  } finally {
115
87
  _iterator.f();
116
88
  }
117
-
118
89
  ctx.peculiarity.delete(code);
119
90
  col = mergeColsByTopTree(ctx, (0, _map.default)(children).call(children, function (child) {
120
91
  return child.col;
121
92
  }));
122
93
  }
123
-
124
94
  return {
125
95
  leftKey: drillNode.key,
126
96
  children: children,
127
97
  col: col
128
98
  };
129
99
  }
130
-
131
100
  function buildByTop(ctx, slice, drillNode, depth) {
132
101
  var children = null;
133
102
  var record;
134
-
135
103
  if ((0, _utils.isLeafNode)(drillNode)) {
136
104
  record = aggregate(slice, ctx);
137
105
  } else {
@@ -141,15 +109,12 @@ function buildRecordMatrix(_ref) {
141
109
  return dwdRow[code];
142
110
  });
143
111
  ctx.peculiarity.add(code);
144
-
145
112
  var _iterator2 = _createForOfIteratorHelper(drillNode.children),
146
- _step2;
147
-
113
+ _step2;
148
114
  try {
149
115
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
150
116
  var child = _step2.value;
151
117
  var group = groups[child.value];
152
-
153
118
  if (group) {
154
119
  children.push(buildByTop(ctx, group, child, depth + 1));
155
120
  }
@@ -159,13 +124,11 @@ function buildRecordMatrix(_ref) {
159
124
  } finally {
160
125
  _iterator2.f();
161
126
  }
162
-
163
127
  ctx.peculiarity.delete(code);
164
128
  record = aggregate((0, _map.default)(children).call(children, function (child) {
165
129
  return child.record;
166
130
  }), ctx);
167
131
  }
168
-
169
132
  return {
170
133
  topKey: drillNode.key,
171
134
  topValue: drillNode.value,
@@ -173,19 +136,15 @@ function buildRecordMatrix(_ref) {
173
136
  record: record
174
137
  };
175
138
  }
176
-
177
139
  function mergeColsByTopTree(ctx, colsToMerge) {
178
140
  return dfs(ctx, colsToMerge, topRootDrillNode, 0);
179
-
180
141
  function dfs(ctx, cols, topDrillNode, depth) {
181
142
  var children = null;
182
143
  var record = aggregate((0, _map.default)(cols).call(cols, function (c) {
183
144
  return c.record;
184
145
  }), ctx);
185
-
186
146
  if (!(0, _utils.isLeafNode)(topDrillNode)) {
187
147
  var _context, _context3;
188
-
189
148
  var topCode = topCodes[depth];
190
149
  ctx.peculiarity.add(topCode);
191
150
  var drillChildDict = (0, _others.fromEntries)((0, _map.default)(_context = topDrillNode.children).call(_context, function (child) {
@@ -193,14 +152,12 @@ function buildRecordMatrix(_ref) {
193
152
  }));
194
153
  var colChildDictArray = (0, _map.default)(cols).call(cols, function (col) {
195
154
  var _context2;
196
-
197
155
  return (0, _others.fromEntries)((0, _map.default)(_context2 = col.children).call(_context2, function (child) {
198
156
  return [child.topValue, child];
199
157
  }));
200
158
  });
201
159
  children = (0, _map.default)(_context3 = topDrillNode.children).call(_context3, function (item) {
202
160
  var _context4;
203
-
204
161
  var childCols = (0, _filter.default)(_context4 = (0, _map.default)(colChildDictArray).call(colChildDictArray, function (colChildDict) {
205
162
  return colChildDict[item.value];
206
163
  })).call(_context4, Boolean);
@@ -208,7 +165,6 @@ function buildRecordMatrix(_ref) {
208
165
  });
209
166
  ctx.peculiarity.delete(topCode);
210
167
  }
211
-
212
168
  return {
213
169
  topKey: topDrillNode.key,
214
170
  topValue: topDrillNode.value,
@@ -217,27 +173,22 @@ function buildRecordMatrix(_ref) {
217
173
  };
218
174
  }
219
175
  }
220
-
221
176
  function makeMatrix(rootRow) {
222
177
  var result = new _map2.default();
223
178
  dfsRow(result, rootRow);
224
179
  return result;
225
-
226
180
  function dfsRow(matrix, row) {
227
181
  var subMap = new _map2.default();
228
182
  matrix.set(row.leftKey, subMap);
229
183
  dfsCol(subMap, row.col);
230
-
231
184
  if (!(0, _utils.isLeafNode)(row)) {
232
185
  row.children.forEach(function (childRow) {
233
186
  dfsRow(matrix, childRow);
234
187
  });
235
188
  }
236
189
  }
237
-
238
190
  function dfsCol(subMap, col) {
239
191
  subMap.set(col.topKey, col.record);
240
-
241
192
  if (!(0, _utils.isLeafNode)(col)) {
242
193
  col.children.forEach(function (childCol) {
243
194
  dfsCol(subMap, childCol);
@@ -248,15 +199,13 @@ function buildRecordMatrix(_ref) {
248
199
  }
249
200
  /** buildRecordMatrix 的简化版本,只能处理一个维度序列,返回一个 Map。
250
201
  * 相当于只处理 matrix 的第一行(汇总行) */
251
-
252
-
253
202
  function buildRecordMap(_ref6) {
254
203
  var codes = _ref6.codes,
255
- _ref6$encode = _ref6.encode,
256
- encode = _ref6$encode === void 0 ? _simpleEncode.default : _ref6$encode,
257
- data = _ref6.data,
258
- aggregate = _ref6.aggregate,
259
- isExpand = _ref6.isExpand;
204
+ _ref6$encode = _ref6.encode,
205
+ encode = _ref6$encode === void 0 ? _simpleEncode.default : _ref6$encode,
206
+ data = _ref6.data,
207
+ aggregate = _ref6.aggregate,
208
+ isExpand = _ref6.isExpand;
260
209
  var matrix = buildRecordMatrix({
261
210
  data: data,
262
211
  leftCodes: [],
@@ -1,85 +1,55 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.convertDrillTreeToCrossTree = convertDrillTreeToCrossTree;
17
-
18
12
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
19
-
20
13
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
21
-
22
14
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
23
-
24
15
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
25
-
26
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
27
-
28
17
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
29
-
30
18
  var _react = _interopRequireDefault(require("react"));
31
-
32
19
  var _rxjs = require("rxjs");
33
-
34
20
  var _styledComponents = _interopRequireDefault(require("styled-components"));
35
-
36
21
  var _classnames = _interopRequireDefault(require("classnames"));
37
-
38
22
  var _commonViews = require("../../common-views");
39
-
40
23
  var _utils = require("../../utils");
41
-
42
24
  var _simpleEncode = _interopRequireDefault(require("./simpleEncode"));
43
-
44
25
  var _styles = require("../../base/styles");
45
-
46
26
  var _templateObject;
47
-
48
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
49
-
50
- function _unsupportedIterableToArray(o, minLen) { var _context3; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context3 = Object.prototype.toString.call(o)).call(_context3, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
51
-
52
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
53
-
27
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
28
+ function _unsupportedIterableToArray(r, a) { if (r) { var _context3; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty(_context3 = {}.toString.call(r)).call(_context3, 8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
29
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
54
30
  var ExpandSpan = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n align-items: center;\n padding: 2px 8px 2px 0;\n cursor: pointer;\n\n .icon {\n fill: #999;\n margin-right: 4px;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), _styles.Classes.expanded);
55
-
56
31
  function convertDrillTreeToCrossTree(drillTree) {
57
32
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
58
- indicators = _ref.indicators,
59
- _ref$encode = _ref.encode,
60
- encode = _ref$encode === void 0 ? _simpleEncode.default : _ref$encode,
61
- generateSubtotalNode = _ref.generateSubtotalNode,
62
- _ref$enforceExpandTot = _ref.enforceExpandTotalNode,
63
- enforceExpandTotalNode = _ref$enforceExpandTot === void 0 ? true : _ref$enforceExpandTot,
64
- expandKeys = _ref.expandKeys,
65
- _ref$onChangeExpandKe = _ref.onChangeExpandKeys,
66
- onChangeExpandKeys = _ref$onChangeExpandKe === void 0 ? _rxjs.noop : _ref$onChangeExpandKe,
67
- supportsExpand = _ref.supportsExpand;
68
-
33
+ indicators = _ref.indicators,
34
+ _ref$encode = _ref.encode,
35
+ encode = _ref$encode === void 0 ? _simpleEncode.default : _ref$encode,
36
+ generateSubtotalNode = _ref.generateSubtotalNode,
37
+ _ref$enforceExpandTot = _ref.enforceExpandTotalNode,
38
+ enforceExpandTotalNode = _ref$enforceExpandTot === void 0 ? true : _ref$enforceExpandTot,
39
+ expandKeys = _ref.expandKeys,
40
+ _ref$onChangeExpandKe = _ref.onChangeExpandKeys,
41
+ onChangeExpandKeys = _ref$onChangeExpandKe === void 0 ? _rxjs.noop : _ref$onChangeExpandKe,
42
+ supportsExpand = _ref.supportsExpand;
69
43
  var totalKey = encode([]);
70
-
71
44
  if (supportsExpand && expandKeys == null) {
72
45
  throw new Error('[ali-react-table] convertDrillTreeToCrossTree(...) 设置 supportsExpand=true 时,expandKeys 不能为 null/undefined.');
73
46
  }
74
-
75
47
  var expandKeySet = new _set.default(expandKeys);
76
48
  return dfs(drillTree, 0);
77
49
  /** 在 indicators 非空的情况下获取指标对应的 CrossTreeNode */
78
-
79
50
  function getIndicators(node, nodeData) {
80
51
  return (0, _map.default)(indicators).call(indicators, function (indicator) {
81
52
  var _context;
82
-
83
53
  return (0, _extends2.default)({
84
54
  key: encode((0, _concat.default)(_context = node.path).call(_context, [indicator.code])),
85
55
  value: indicator.name,
@@ -89,7 +59,6 @@ function convertDrillTreeToCrossTree(drillTree) {
89
59
  }, indicator);
90
60
  });
91
61
  }
92
-
93
62
  function drillNodeToTreeNode(node, nodeData) {
94
63
  if (indicators != null) {
95
64
  return {
@@ -106,13 +75,10 @@ function convertDrillTreeToCrossTree(drillTree) {
106
75
  };
107
76
  }
108
77
  }
109
-
110
78
  function dfs(drillNodes, depth) {
111
79
  var result = [];
112
-
113
80
  var _iterator = _createForOfIteratorHelper(drillNodes),
114
- _step;
115
-
81
+ _step;
116
82
  try {
117
83
  var _loop = function _loop() {
118
84
  var node = _step.value;
@@ -120,7 +86,6 @@ function convertDrillTreeToCrossTree(drillTree) {
120
86
  dataKey: node.key,
121
87
  dataPath: node.path
122
88
  };
123
-
124
89
  if ((0, _utils.isLeafNode)(node) && !node.hasChild) {
125
90
  result.push(drillNodeToTreeNode(node, nodeData));
126
91
  } else {
@@ -130,7 +95,6 @@ function convertDrillTreeToCrossTree(drillTree) {
130
95
  value: node.value,
131
96
  data: nodeData
132
97
  };
133
-
134
98
  if (!supportsExpand || enforceExpandTotalNode && node.key === totalKey) {
135
99
  // 不支持展开功能 或是强制展开
136
100
  crossTreeNode.children = dfs(node.children, depth + 1);
@@ -157,21 +121,17 @@ function convertDrillTreeToCrossTree(drillTree) {
157
121
  }, /*#__PURE__*/_react.default.createElement(_commonViews.icons.CaretRight, {
158
122
  className: "icon collapsed"
159
123
  }), node.value);
160
-
161
124
  if (indicators != null) {
162
125
  crossTreeNode.children = getIndicators(node, nodeData);
163
126
  }
164
127
  }
165
-
166
128
  if (needProcessChildren) {
167
129
  var subtotalNodeData = generateSubtotalNode === null || generateSubtotalNode === void 0 ? void 0 : generateSubtotalNode(node);
168
-
169
130
  if (subtotalNodeData) {
170
131
  var _context2;
171
-
172
132
  var _subtotalNodeData$pos = subtotalNodeData.position,
173
- position = _subtotalNodeData$pos === void 0 ? 'start' : _subtotalNodeData$pos,
174
- value = subtotalNodeData.value;
133
+ position = _subtotalNodeData$pos === void 0 ? 'start' : _subtotalNodeData$pos,
134
+ value = subtotalNodeData.value;
175
135
  var subtotalPath = (0, _concat.default)(_context2 = node.path).call(_context2, [value]);
176
136
  var subtotalDrillNode = {
177
137
  key: encode(subtotalPath),
@@ -179,7 +139,6 @@ function convertDrillTreeToCrossTree(drillTree) {
179
139
  value: value
180
140
  };
181
141
  var subtotalTreeNode = drillNodeToTreeNode(subtotalDrillNode, nodeData);
182
-
183
142
  if (position === 'start') {
184
143
  crossTreeNode.children.unshift(subtotalTreeNode);
185
144
  } else {
@@ -187,11 +146,9 @@ function convertDrillTreeToCrossTree(drillTree) {
187
146
  }
188
147
  }
189
148
  }
190
-
191
149
  result.push(crossTreeNode);
192
150
  }
193
151
  };
194
-
195
152
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
196
153
  _loop();
197
154
  }
@@ -200,7 +157,6 @@ function convertDrillTreeToCrossTree(drillTree) {
200
157
  } finally {
201
158
  _iterator.f();
202
159
  }
203
-
204
160
  return result;
205
161
  }
206
162
  }
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -37,15 +35,10 @@ Object.defineProperty(exports, "simpleEncode", {
37
35
  return _simpleEncode.default;
38
36
  }
39
37
  });
40
-
41
38
  var _builders = require("./builders");
42
-
43
39
  var _buildDrillTree = _interopRequireDefault(require("./buildDrillTree"));
44
-
45
40
  var _simpleEncode = _interopRequireDefault(require("./simpleEncode"));
46
-
47
41
  var _convertUtils = require("./convert-utils");
48
-
49
42
  _Object$keys(_convertUtils).forEach(function (key) {
50
43
  if (key === "default" || key === "__esModule") return;
51
44
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -4,11 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = simpleEncode;
7
-
8
7
  function simpleEncode(path) {
9
8
  if (path.length === 0) {
10
9
  return 'key:@total@';
11
10
  }
12
-
13
11
  return "key:".concat(path.join(' '));
14
12
  }
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
2
 
3
3
  require("../../style/index.css");
4
-
5
4
  require("./index.css");
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
2
 
3
3
  require("../../style/index.less");
4
-
5
4
  require("./index.less");
@@ -1 +1 @@
1
-
1
+
@@ -1,54 +1,39 @@
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.makeAutoRowSpanTransform = makeAutoRowSpanTransform;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _internals = require("../internals");
13
-
14
10
  var _utils = require("../utils");
15
-
16
11
  var _warnTransformsDeprecated = require("./warnTransformsDeprecated");
17
-
18
12
  function isIdentity(x, y) {
19
13
  return x === y;
20
14
  }
21
15
  /** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */
22
-
23
-
24
16
  function makeAutoRowSpanTransform() {
25
17
  (0, _warnTransformsDeprecated.warnTransformsDeprecated)('makeAutoRowSpanTransform');
26
18
  return (0, _utils.traverseColumn)(function (col, _ref) {
27
19
  var dataSource = _ref.dataSource,
28
- range = _ref.range;
29
-
20
+ range = _ref.range;
30
21
  var _a;
31
-
32
22
  if (!((_a = col.features) === null || _a === void 0 ? void 0 : _a.autoRowSpan)) {
33
23
  return col;
34
24
  }
35
-
36
25
  if (!(0, _utils.isLeafNode)(col)) {
37
26
  return col;
38
27
  }
39
-
40
28
  var isFunc = typeof col.features.autoRowSpan === 'function';
41
29
  var shouldMergeCell = isFunc ? col.features.autoRowSpan : isIdentity;
42
30
  var spanRects = [];
43
31
  var lastBottom = 0;
44
32
  var prevValue = null;
45
33
  var prevRow = null;
46
-
47
34
  for (var rowIndex = 0; rowIndex < dataSource.length; rowIndex++) {
48
35
  var row = dataSource[rowIndex];
49
-
50
36
  var value = _internals.internals.safeGetValue(col, row, rowIndex);
51
-
52
37
  if (rowIndex === 0 || !shouldMergeCell(prevValue, value, prevRow, row)) {
53
38
  var spanRect = {
54
39
  top: lastBottom,
@@ -56,18 +41,14 @@ function makeAutoRowSpanTransform() {
56
41
  left: range.start,
57
42
  right: range.end
58
43
  };
59
-
60
44
  for (var i = lastBottom; i < rowIndex; i++) {
61
45
  spanRects.push(spanRect);
62
46
  }
63
-
64
47
  lastBottom = rowIndex;
65
48
  }
66
-
67
49
  prevValue = value;
68
50
  prevRow = row;
69
51
  }
70
-
71
52
  for (var _i = lastBottom; _i < dataSource.length; _i++) {
72
53
  spanRects.push({
73
54
  top: lastBottom,
@@ -76,7 +57,6 @@ function makeAutoRowSpanTransform() {
76
57
  right: range.end
77
58
  });
78
59
  }
79
-
80
60
  return (0, _extends2.default)((0, _extends2.default)({}, col), {
81
61
  getSpanRect: function getSpanRect(value, row, rowIndex) {
82
62
  return spanRects[rowIndex];