@kdcloudjs/table 1.2.0-canary.6 → 1.2.0-canary.6-hotfix.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) 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 +1877 -3363
  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 +16 -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 +35 -96
  13. package/es/_utils/hooks.js +18 -42
  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 +74 -137
  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 +5 -43
  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 +22 -72
  36. package/es/table/base/colgroup.js +0 -1
  37. package/es/table/base/empty.js +4 -4
  38. package/es/table/base/header.d.ts +2 -1
  39. package/es/table/base/header.js +17 -68
  40. package/es/table/base/helpers/SpanManager.js +3 -9
  41. package/es/table/base/helpers/TableDOMUtils.js +3 -26
  42. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  43. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  44. package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
  45. package/es/table/base/helpers/rowHeightManager.js +0 -28
  46. package/es/table/base/html-table.js +15 -36
  47. package/es/table/base/loading.js +6 -8
  48. package/es/table/base/renderTemplates.js +50 -54
  49. package/es/table/base/styles.js +1 -10
  50. package/es/table/base/table.js +116 -189
  51. package/es/table/base/utils.js +14 -54
  52. package/es/table/common-views.js +0 -7
  53. package/es/table/internals.js +0 -13
  54. package/es/table/pipeline/features/autoFill.js +11 -38
  55. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  56. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  57. package/es/table/pipeline/features/columnDrag.js +41 -95
  58. package/es/table/pipeline/features/columnFilter.js +11 -44
  59. package/es/table/pipeline/features/columnHover.js +1 -7
  60. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  61. package/es/table/pipeline/features/columnResizeWidth.js +11 -37
  62. package/es/table/pipeline/features/contextMenu.js +18 -89
  63. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  64. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  65. package/es/table/pipeline/features/filter/Filter.js +25 -48
  66. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  67. package/es/table/pipeline/features/filter/util.js +0 -4
  68. package/es/table/pipeline/features/footerDataSource.js +0 -3
  69. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  70. package/es/table/pipeline/features/multiSelect.js +15 -57
  71. package/es/table/pipeline/features/rangeSelection.js +63 -142
  72. package/es/table/pipeline/features/rowDetail.js +2 -41
  73. package/es/table/pipeline/features/rowGrouping.js +2 -35
  74. package/es/table/pipeline/features/singleSelect.js +0 -24
  75. package/es/table/pipeline/features/sort.js +29 -79
  76. package/es/table/pipeline/features/tips.js +0 -6
  77. package/es/table/pipeline/features/treeMode.js +9 -43
  78. package/es/table/pipeline/features/treeSelect.js +0 -26
  79. package/es/table/pipeline/pipeline.js +9 -49
  80. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  81. package/es/table/pivot/cross-table/cross-table.js +22 -28
  82. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  83. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  84. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  85. package/es/table/pivot/pivot-utils/builders.js +31 -71
  86. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  87. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  88. package/es/table/style/index.less +1 -1
  89. package/es/table/transforms/autoRowSpan.js +1 -15
  90. package/es/table/transforms/autoWidth.js +10 -32
  91. package/es/table/transforms/buildTree.js +1 -2
  92. package/es/table/transforms/columnHover.js +9 -15
  93. package/es/table/transforms/columnRangeHover.js +12 -19
  94. package/es/table/transforms/columnResize.js +15 -37
  95. package/es/table/transforms/flatten.js +0 -3
  96. package/es/table/transforms/orderField.js +0 -3
  97. package/es/table/transforms/sort.js +36 -88
  98. package/es/table/transforms/tips.js +1 -6
  99. package/es/table/transforms/treeMode.js +30 -69
  100. package/es/table/transforms/visible.js +0 -2
  101. package/es/table/use/useResizeObserver.js +1 -4
  102. package/es/table/utils/applyTransforms.js +0 -1
  103. package/es/table/utils/buildTree.js +4 -19
  104. package/es/table/utils/collectNodes.js +1 -10
  105. package/es/table/utils/console.js +0 -14
  106. package/es/table/utils/copyToClipboard.js +0 -4
  107. package/es/table/utils/element.js +14 -41
  108. package/es/table/utils/exportTableAsExcel.js +4 -40
  109. package/es/table/utils/getTreeDepth.js +1 -9
  110. package/es/table/utils/groupBy.js +1 -10
  111. package/es/table/utils/layeredFilter.js +0 -4
  112. package/es/table/utils/layeredSort.js +0 -5
  113. package/es/table/utils/makeRecursiveMapper.js +1 -12
  114. package/es/table/utils/mergeCellProps.js +6 -13
  115. package/es/table/utils/others.js +3 -16
  116. package/es/table/utils/proto.js +2 -30
  117. package/es/table/utils/smartCompare.js +4 -12
  118. package/es/table/utils/traverseColumn.js +2 -15
  119. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  120. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  121. package/lib/_utils/arrayUtil.js +0 -5
  122. package/lib/_utils/devwarning.js +0 -5
  123. package/lib/_utils/formatUtil.js +35 -100
  124. package/lib/_utils/hooks.js +18 -53
  125. package/lib/_utils/index.js +0 -6
  126. package/lib/_utils/numberUtil.js +32 -63
  127. package/lib/_utils/omit.js +0 -5
  128. package/lib/_utils/react-children.js +0 -5
  129. package/lib/_utils/type.js +0 -6
  130. package/lib/_utils/usePopper.js +74 -158
  131. package/lib/config-provider/ConfigContext.js +1 -4
  132. package/lib/config-provider/compDefaultProps.js +0 -1
  133. package/lib/config-provider/configProvider.js +3 -18
  134. package/lib/config-provider/defaultConfig.js +0 -5
  135. package/lib/config-provider/index.js +0 -6
  136. package/lib/index.js +2 -8
  137. package/lib/locale/index.js +0 -7
  138. package/lib/locale/locale.js +5 -57
  139. package/lib/style/color/colors.less +1 -1
  140. package/lib/style/components.less +1 -1
  141. package/lib/style/core/index.less +1 -1
  142. package/lib/style/core/motion/other.less +27 -27
  143. package/lib/style/core/motion/slide.less +53 -53
  144. package/lib/style/core/motion.less +1 -1
  145. package/lib/style/core/reset.less +185 -185
  146. package/lib/style/index.less +1 -1
  147. package/lib/style/mixins/index.less +18 -18
  148. package/lib/style/mixins/overlay.less +21 -21
  149. package/lib/style/mixins/reset.less +12 -12
  150. package/lib/style/themes/default.less +445 -445
  151. package/lib/table/base/calculations.js +22 -83
  152. package/lib/table/base/colgroup.js +0 -5
  153. package/lib/table/base/empty.js +4 -16
  154. package/lib/table/base/header.d.ts +2 -1
  155. package/lib/table/base/header.js +17 -78
  156. package/lib/table/base/helpers/SpanManager.js +3 -11
  157. package/lib/table/base/helpers/TableDOMUtils.js +1 -26
  158. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  159. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  160. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  161. package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
  162. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  163. package/lib/table/base/html-table.js +15 -46
  164. package/lib/table/base/index.js +0 -2
  165. package/lib/table/base/loading.js +6 -12
  166. package/lib/table/base/renderTemplates.js +51 -68
  167. package/lib/table/base/styles.js +1 -22
  168. package/lib/table/base/table.js +116 -222
  169. package/lib/table/base/utils.js +14 -89
  170. package/lib/table/common-views.js +0 -16
  171. package/lib/table/index.js +0 -13
  172. package/lib/table/internals.js +0 -14
  173. package/lib/table/pipeline/features/autoFill.js +11 -45
  174. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  175. package/lib/table/pipeline/features/buildTree.js +0 -2
  176. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  177. package/lib/table/pipeline/features/columnDrag.js +41 -101
  178. package/lib/table/pipeline/features/columnFilter.js +11 -58
  179. package/lib/table/pipeline/features/columnHover.js +1 -11
  180. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  181. package/lib/table/pipeline/features/columnResizeWidth.js +11 -53
  182. package/lib/table/pipeline/features/contextMenu.js +18 -113
  183. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  184. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  185. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  186. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  187. package/lib/table/pipeline/features/filter/index.js +0 -5
  188. package/lib/table/pipeline/features/filter/util.js +0 -7
  189. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  190. package/lib/table/pipeline/features/index.js +0 -22
  191. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  192. package/lib/table/pipeline/features/multiSelect.js +15 -70
  193. package/lib/table/pipeline/features/rangeSelection.js +63 -159
  194. package/lib/table/pipeline/features/rowDetail.js +2 -65
  195. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  196. package/lib/table/pipeline/features/singleSelect.js +0 -33
  197. package/lib/table/pipeline/features/sort.js +29 -99
  198. package/lib/table/pipeline/features/tips.js +0 -15
  199. package/lib/table/pipeline/features/treeMode.js +9 -64
  200. package/lib/table/pipeline/features/treeSelect.js +0 -34
  201. package/lib/table/pipeline/index.js +0 -8
  202. package/lib/table/pipeline/pipeline.js +9 -58
  203. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  204. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  205. package/lib/table/pivot/cross-table/index.js +0 -4
  206. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  207. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  208. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  209. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  210. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  211. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  212. package/lib/table/pivot/pivot-utils/index.js +0 -7
  213. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  214. package/lib/table/style/css.js +0 -1
  215. package/lib/table/style/index.js +0 -1
  216. package/lib/table/style/index.less +1 -1
  217. package/lib/table/transforms/autoRowSpan.js +1 -21
  218. package/lib/table/transforms/autoWidth.js +10 -53
  219. package/lib/table/transforms/buildTree.js +1 -4
  220. package/lib/table/transforms/columnHover.js +9 -22
  221. package/lib/table/transforms/columnRangeHover.js +12 -27
  222. package/lib/table/transforms/columnResize.js +15 -56
  223. package/lib/table/transforms/flatten.js +0 -5
  224. package/lib/table/transforms/index.js +0 -12
  225. package/lib/table/transforms/orderField.js +0 -7
  226. package/lib/table/transforms/sort.js +36 -112
  227. package/lib/table/transforms/tips.js +1 -16
  228. package/lib/table/transforms/treeMode.js +30 -96
  229. package/lib/table/transforms/visible.js +0 -7
  230. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  231. package/lib/table/use/useResizeObserver.js +1 -8
  232. package/lib/table/utils/applyTransforms.js +0 -2
  233. package/lib/table/utils/buildTree.js +4 -30
  234. package/lib/table/utils/collectNodes.js +1 -15
  235. package/lib/table/utils/console.js +0 -16
  236. package/lib/table/utils/copyToClipboard.js +0 -6
  237. package/lib/table/utils/element.js +14 -46
  238. package/lib/table/utils/exportTableAsExcel.js +4 -49
  239. package/lib/table/utils/getTreeDepth.js +1 -14
  240. package/lib/table/utils/groupBy.js +1 -14
  241. package/lib/table/utils/index.js +0 -20
  242. package/lib/table/utils/isGroupColumn.js +0 -3
  243. package/lib/table/utils/isLeafNode.js +0 -1
  244. package/lib/table/utils/layeredFilter.js +0 -10
  245. package/lib/table/utils/layeredSort.js +0 -10
  246. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  247. package/lib/table/utils/mergeCellProps.js +6 -17
  248. package/lib/table/utils/others.js +3 -31
  249. package/lib/table/utils/proto.js +2 -33
  250. package/lib/table/utils/smartCompare.js +4 -13
  251. package/lib/table/utils/traverseColumn.js +2 -22
  252. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  253. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  254. package/package.json +219 -218
@@ -1,61 +1,41 @@
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.default = buildCrossTable;
17
-
18
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
19
-
20
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
21
-
22
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
23
-
24
15
  var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
25
-
26
16
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
27
-
28
17
  var _utils = require("../../utils");
29
-
30
18
  var _constants = require("./constants");
31
-
32
19
  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; } } }; }
33
-
34
20
  function _unsupportedIterableToArray(o, minLen) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context4 = Object.prototype.toString.call(o)).call(_context4, 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); }
35
-
36
21
  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; }
37
-
38
22
  var __rest = void 0 && (void 0).__rest || function (s, e) {
39
23
  var t = {};
40
-
41
24
  for (var p in s) {
42
25
  if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
43
26
  }
44
-
45
27
  if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
46
28
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
47
29
  }
48
30
  return t;
49
31
  };
50
-
51
32
  function buildCrossTable(options) {
52
33
  var _a, _b, _c;
53
-
54
34
  var leftTotalNode = options.leftTotalNode,
55
- topTotalNode = options.topTotalNode; // 有的时候 leftTree/topTree 是通过 node.children 传入的
35
+ topTotalNode = options.topTotalNode;
36
+ // 有的时候 leftTree/topTree 是通过 node.children 传入的
56
37
  // 此时 leftTree/topTree 等于 null 和等于空数组是等价的
57
38
  // 故在这里兼容 leftTree/topTree 为空的情况
58
-
59
39
  var leftTree = (_a = options.leftTree) !== null && _a !== void 0 ? _a : [];
60
40
  var topTree = (_b = options.topTree) !== null && _b !== void 0 ? _b : [];
61
41
  var leftMetaColumns = (_c = options.leftMetaColumns) !== null && _c !== void 0 ? _c : [];
@@ -65,24 +45,17 @@ function buildCrossTable(options) {
65
45
  dataSource: getDataSource()
66
46
  };
67
47
  /** 获取表格的列配置 */
68
-
69
48
  function getColumns() {
70
49
  var _context;
71
-
72
50
  return (0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)(getLeftPartColumns()), (0, _toConsumableArray2.default)(getDataPartColumns()));
73
-
74
51
  function getLeftPartColumns() {
75
52
  var _a;
76
-
77
53
  var leftPartColumns = [];
78
-
79
54
  for (var index = 0; index < leftHeaderWidth; index++) {
80
55
  var metaCol = (_a = leftMetaColumns[index]) !== null && _a !== void 0 ? _a : {};
81
-
82
56
  var getCellProps = metaCol.getCellProps,
83
- render = metaCol.render,
84
- staticMetaColConfig = __rest(metaCol, ["getCellProps", "render"]);
85
-
57
+ render = metaCol.render,
58
+ staticMetaColConfig = __rest(metaCol, ["getCellProps", "render"]);
86
59
  leftPartColumns.push((0, _extends2.default)((0, _extends2.default)({
87
60
  columnType: 'left',
88
61
  lock: true
@@ -93,48 +66,37 @@ function buildCrossTable(options) {
93
66
  render: leftHeaderRenderFactory(metaCol, index)
94
67
  }));
95
68
  }
96
-
97
69
  return leftPartColumns;
98
-
99
70
  function leftHeaderGetCellPropsFactory(metaCol, colIndex) {
100
71
  return function (_value, row, rowIndex) {
101
72
  var _a;
102
-
103
73
  var node = row.nodes[colIndex];
104
74
  return (_a = metaCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(metaCol, node, colIndex);
105
75
  };
106
76
  }
107
-
108
77
  function leftHeaderGetSpanRectFactory(metaCol, colIndex) {
109
78
  return function (_value, row) {
110
79
  return row.rects[colIndex];
111
80
  };
112
81
  }
113
-
114
82
  function leftHeaderGetValueFactory(metaCol, colIndex) {
115
83
  return function (row, rowIndex) {
116
84
  var node = row.nodes[colIndex];
117
85
  return node.value;
118
86
  };
119
87
  }
120
-
121
88
  function leftHeaderRenderFactory(metaCol, colIndex) {
122
89
  return function (v, row, rowIndex) {
123
90
  var _a;
124
-
125
91
  var node = row.nodes[colIndex];
126
-
127
92
  if (metaCol.render) {
128
93
  return metaCol.render(node, colIndex);
129
94
  }
130
-
131
95
  return (_a = node.title) !== null && _a !== void 0 ? _a : node.value;
132
96
  };
133
97
  }
134
98
  }
135
99
  /** 获取表格数据部分的列配置 */
136
-
137
-
138
100
  function getDataPartColumns() {
139
101
  if (topTree.length > 0) {
140
102
  return dfs(topTree, {
@@ -149,29 +111,25 @@ function buildCrossTable(options) {
149
111
  } else {
150
112
  return [];
151
113
  }
152
-
153
114
  function dfs(nodes, ctx) {
154
115
  var result = [];
155
-
156
116
  var _iterator = _createForOfIteratorHelper(nodes),
157
- _step;
158
-
117
+ _step;
159
118
  try {
160
119
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
161
120
  var node = _step.value;
162
121
  ctx.valuePath.push(node.value);
163
-
164
122
  if ((0, _utils.isLeafNode)(node)) {
165
123
  // 叶子节点
166
124
  result.push(getDataColumn(node, ctx.depth));
167
125
  } else {
168
126
  var key = node.key,
169
- value = node.value,
170
- children = node.children,
171
- others = __rest(node // 强制展开的节点
172
- , ["key", "value", "children"]); // 强制展开的节点
173
-
174
-
127
+ value = node.value,
128
+ children = node.children,
129
+ others = __rest(node
130
+ // 强制展开的节点
131
+ , ["key", "value", "children"]);
132
+ // 强制展开的节点
175
133
  result.push((0, _extends2.default)((0, _extends2.default)({
176
134
  columnType: 'data-parent'
177
135
  }, others), {
@@ -182,7 +140,6 @@ function buildCrossTable(options) {
182
140
  })
183
141
  }));
184
142
  }
185
-
186
143
  ctx.valuePath.pop();
187
144
  }
188
145
  } catch (err) {
@@ -190,23 +147,19 @@ function buildCrossTable(options) {
190
147
  } finally {
191
148
  _iterator.f();
192
149
  }
193
-
194
150
  return result;
195
151
  }
196
152
  }
197
-
198
153
  function getDataColumn(topNode, topDepth) {
199
154
  var columnGetValue = function columnGetValue(row) {
200
155
  var leftDepth = row.nodes.length - 1;
201
156
  var leftNode = row.nodes[leftDepth];
202
157
  return options.getValue(leftNode, topNode, leftDepth, topDepth);
203
158
  };
204
-
205
159
  var key = topNode.key,
206
- value = topNode.value,
207
- children = topNode.children,
208
- others = __rest(topNode, ["key", "value", "children"]);
209
-
160
+ value = topNode.value,
161
+ children = topNode.children,
162
+ others = __rest(topNode, ["key", "value", "children"]);
210
163
  return (0, _extends2.default)((0, _extends2.default)({
211
164
  columnType: 'data'
212
165
  }, others), {
@@ -219,7 +172,6 @@ function buildCrossTable(options) {
219
172
  var leftNode = row.nodes[leftDepth];
220
173
  return options.render(value, leftNode, topNode, leftDepth, topDepth);
221
174
  }
222
-
223
175
  return value;
224
176
  },
225
177
  getCellProps: function getCellProps(value, row) {
@@ -232,7 +184,6 @@ function buildCrossTable(options) {
232
184
  });
233
185
  }
234
186
  }
235
-
236
187
  function getDataSource() {
237
188
  var flatRows = [];
238
189
  var ctx = {
@@ -241,33 +192,24 @@ function buildCrossTable(options) {
241
192
  rects: [],
242
193
  rowIndex: 0
243
194
  };
244
-
245
195
  if (leftTree.length > 0) {
246
196
  dfs(leftTree, ctx);
247
197
  } else if (leftTotalNode) {
248
198
  dfs([leftTotalNode], ctx);
249
199
  } // else 表格没有行,展示空表格
250
-
251
-
252
200
  return flatRows;
253
-
254
201
  function dfs(nodes, ctx) {
255
202
  var count = 0;
256
-
257
203
  var _iterator2 = _createForOfIteratorHelper(nodes),
258
- _step2;
259
-
204
+ _step2;
260
205
  try {
261
206
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
262
207
  var _context2, _context3, _row;
263
-
264
208
  var node = _step2.value;
265
-
266
209
  if (node.hidden) {
267
210
  // 跳过被隐藏的节点
268
211
  continue;
269
212
  }
270
-
271
213
  var rect = {
272
214
  top: ctx.rowIndex + count,
273
215
  bottom: -1,
@@ -275,7 +217,6 @@ function buildCrossTable(options) {
275
217
  right: -1
276
218
  };
277
219
  var row = (_row = {}, (0, _defineProperty2.default)(_row, _constants.ROW_KEY, node.key), (0, _defineProperty2.default)(_row, "rects", (0, _concat.default)(_context2 = []).call(_context2, (0, _toConsumableArray2.default)(ctx.rects), [rect])), (0, _defineProperty2.default)(_row, "nodes", (0, _concat.default)(_context3 = []).call(_context3, (0, _toConsumableArray2.default)(ctx.nodes), [node])), _row);
278
-
279
220
  if ((0, _utils.isLeafNode)(node)) {
280
221
  rect.right = leftHeaderWidth;
281
222
  rect.bottom = rect.top + 1;
@@ -302,7 +243,6 @@ function buildCrossTable(options) {
302
243
  } finally {
303
244
  _iterator2.f();
304
245
  }
305
-
306
246
  return {
307
247
  count: count
308
248
  };
@@ -1,64 +1,51 @@
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.default = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
13
-
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
11
  var _base = require("../../base");
17
-
18
12
  var _buildCrossTable2 = _interopRequireDefault(require("./buildCrossTable"));
19
-
20
13
  var _constants = require("./constants");
21
-
22
14
  var __rest = void 0 && (void 0).__rest || function (s, e) {
23
15
  var t = {};
24
-
25
16
  for (var p in s) {
26
17
  if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
27
18
  }
28
-
29
19
  if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
30
20
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
31
21
  }
32
22
  return t;
33
23
  };
34
-
35
24
  var CrossTable = function CrossTable(_a) {
36
25
  var _a$BaseTableComponent = _a.BaseTableComponent,
37
- BaseTableComponent = _a$BaseTableComponent === void 0 ? _base.Table : _a$BaseTableComponent,
38
- leftTree = _a.leftTree,
39
- leftTotalNode = _a.leftTotalNode,
40
- topTree = _a.topTree,
41
- topTotalNode = _a.topTotalNode,
42
- getValue = _a.getValue,
43
- getCellProps = _a.getCellProps,
44
- leftMetaColumns = _a.leftMetaColumns,
45
- render = _a.render,
46
- baseTableRef = _a.baseTableRef,
47
- others = __rest(_a, ["BaseTableComponent", "leftTree", "leftTotalNode", "topTree", "topTotalNode", "getValue", "getCellProps", "leftMetaColumns", "render", "baseTableRef"]);
48
-
26
+ BaseTableComponent = _a$BaseTableComponent === void 0 ? _base.Table : _a$BaseTableComponent,
27
+ leftTree = _a.leftTree,
28
+ leftTotalNode = _a.leftTotalNode,
29
+ topTree = _a.topTree,
30
+ topTotalNode = _a.topTotalNode,
31
+ getValue = _a.getValue,
32
+ getCellProps = _a.getCellProps,
33
+ leftMetaColumns = _a.leftMetaColumns,
34
+ render = _a.render,
35
+ baseTableRef = _a.baseTableRef,
36
+ others = __rest(_a, ["BaseTableComponent", "leftTree", "leftTotalNode", "topTree", "topTotalNode", "getValue", "getCellProps", "leftMetaColumns", "render", "baseTableRef"]);
49
37
  var _buildCrossTable = (0, _buildCrossTable2.default)({
50
- leftTree: leftTree,
51
- topTree: topTree,
52
- leftTotalNode: leftTotalNode,
53
- topTotalNode: topTotalNode,
54
- getValue: getValue,
55
- getCellProps: getCellProps,
56
- render: render,
57
- leftMetaColumns: leftMetaColumns
58
- }),
59
- dataSource = _buildCrossTable.dataSource,
60
- columns = _buildCrossTable.columns;
61
-
38
+ leftTree: leftTree,
39
+ topTree: topTree,
40
+ leftTotalNode: leftTotalNode,
41
+ topTotalNode: topTotalNode,
42
+ getValue: getValue,
43
+ getCellProps: getCellProps,
44
+ render: render,
45
+ leftMetaColumns: leftMetaColumns
46
+ }),
47
+ dataSource = _buildCrossTable.dataSource,
48
+ columns = _buildCrossTable.columns;
62
49
  return /*#__PURE__*/_react.default.createElement(BaseTableComponent, (0, _extends2.default)({
63
50
  ref: baseTableRef
64
51
  }, others, {
@@ -67,5 +54,4 @@ var CrossTable = function CrossTable(_a) {
67
54
  columns: columns
68
55
  }));
69
56
  };
70
-
71
57
  exports.default = CrossTable;
@@ -1,7 +1,6 @@
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
  });
@@ -23,9 +22,6 @@ Object.defineProperty(exports, "buildCrossTable", {
23
22
  return _buildCrossTable.default;
24
23
  }
25
24
  });
26
-
27
25
  var _crossTable = _interopRequireDefault(require("./cross-table"));
28
-
29
26
  var _buildCrossTable = _interopRequireDefault(require("./buildCrossTable"));
30
-
31
27
  var _constants = require("./constants");
@@ -1,69 +1,47 @@
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.default = buildCrossTreeTable;
17
-
18
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
19
-
20
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
21
-
22
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
23
-
24
15
  var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
25
-
26
16
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
27
-
28
17
  var _rxjs = require("rxjs");
29
-
30
18
  var _pipeline = require("../../pipeline");
31
-
32
19
  var _utils = require("../../utils");
33
-
34
20
  var _crossTable = require("../cross-table");
35
-
36
21
  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; } } }; }
37
-
38
22
  function _unsupportedIterableToArray(o, minLen) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context4 = Object.prototype.toString.call(o)).call(_context4, 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); }
39
-
40
23
  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; }
41
-
42
24
  var __rest = void 0 && (void 0).__rest || function (s, e) {
43
25
  var t = {};
44
-
45
26
  for (var p in s) {
46
27
  if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
47
28
  }
48
-
49
29
  if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
50
30
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
51
31
  }
52
32
  return t;
53
33
  };
54
-
55
34
  function buildCrossTreeTable(options) {
56
35
  var _a, _b;
57
-
58
36
  var primaryColumn = options.primaryColumn,
59
- openKeys = options.openKeys,
60
- onChangeOpenKeys = options.onChangeOpenKeys,
61
- indentSize = options.indentSize,
62
- _options$isLeafNode = options.isLeafNode,
63
- isLeafNodeOpt = _options$isLeafNode === void 0 ? _utils.isLeafNode : _options$isLeafNode; // 有的时候 leftTree/topTree 是通过 node.children 传入的
37
+ openKeys = options.openKeys,
38
+ onChangeOpenKeys = options.onChangeOpenKeys,
39
+ indentSize = options.indentSize,
40
+ _options$isLeafNode = options.isLeafNode,
41
+ isLeafNodeOpt = _options$isLeafNode === void 0 ? _utils.isLeafNode : _options$isLeafNode;
42
+ // 有的时候 leftTree/topTree 是通过 node.children 传入的
64
43
  // 此时 leftTree/topTree 等于 null 和等于空数组是等价的
65
44
  // 故在这里兼容 leftTree/topTree 为空的情况
66
-
67
45
  var leftTree = (_a = options.leftTree) !== null && _a !== void 0 ? _a : [];
68
46
  var topTree = (_b = options.topTree) !== null && _b !== void 0 ? _b : [];
69
47
  var pipeline = new _pipeline.TablePipeline({
@@ -91,10 +69,8 @@ function buildCrossTreeTable(options) {
91
69
  columns: pipeline.getColumns()
92
70
  };
93
71
  /** 获取表格的列配置 */
94
-
95
72
  function getColumns() {
96
73
  var _context;
97
-
98
74
  return (0, _concat.default)(_context = [(0, _extends2.default)((0, _extends2.default)({}, primaryColumn), {
99
75
  getValue: function getValue(row) {
100
76
  return row.node.value;
@@ -108,35 +84,28 @@ function buildCrossTreeTable(options) {
108
84
  if (primaryColumn.render) {
109
85
  return primaryColumn.render(row.node, row.nodes.length - 1);
110
86
  }
111
-
112
87
  return value;
113
88
  }
114
89
  })]).call(_context, (0, _toConsumableArray2.default)(getDataPartColumns()));
115
90
  /** 获取表格数据部分的列配置 */
116
-
117
91
  function getDataPartColumns() {
118
92
  return dfs(topTree, {
119
93
  depth: 0
120
94
  });
121
-
122
95
  function dfs(nodes, ctx) {
123
96
  var result = [];
124
-
125
97
  var _iterator = _createForOfIteratorHelper(nodes),
126
- _step;
127
-
98
+ _step;
128
99
  try {
129
100
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
130
101
  var node = _step.value;
131
-
132
102
  if ((0, _utils.isLeafNode)(node)) {
133
103
  result.push(getDataColumn(node, ctx.depth));
134
104
  } else {
135
105
  var key = node.key,
136
- value = node.value,
137
- children = node.children,
138
- others = __rest(node, ["key", "value", "children"]);
139
-
106
+ value = node.value,
107
+ children = node.children,
108
+ others = __rest(node, ["key", "value", "children"]);
140
109
  result.push((0, _extends2.default)((0, _extends2.default)({}, others), {
141
110
  name: value,
142
111
  children: dfs(children, {
@@ -150,23 +119,19 @@ function buildCrossTreeTable(options) {
150
119
  } finally {
151
120
  _iterator.f();
152
121
  }
153
-
154
122
  return result;
155
123
  }
156
124
  }
157
-
158
125
  function getDataColumn(topNode, topDepth) {
159
126
  var columnGetValue = function columnGetValue(row) {
160
127
  var leftDepth = row.nodes.length - 1;
161
128
  var leftNode = row.node;
162
129
  return options.getValue(leftNode, topNode, leftDepth, topDepth);
163
130
  };
164
-
165
131
  var key = topNode.key,
166
- value = topNode.value,
167
- children = topNode.children,
168
- others = __rest(topNode, ["key", "value", "children"]);
169
-
132
+ value = topNode.value,
133
+ children = topNode.children,
134
+ others = __rest(topNode, ["key", "value", "children"]);
170
135
  return (0, _extends2.default)((0, _extends2.default)({}, others), {
171
136
  getValue: columnGetValue,
172
137
  name: value,
@@ -177,7 +142,6 @@ function buildCrossTreeTable(options) {
177
142
  var leftNode = row.node;
178
143
  return options.render(value, leftNode, topNode, leftDepth, topDepth);
179
144
  }
180
-
181
145
  return value;
182
146
  },
183
147
  getCellProps: function getCellProps(value, row) {
@@ -190,36 +154,27 @@ function buildCrossTreeTable(options) {
190
154
  });
191
155
  }
192
156
  }
193
-
194
157
  function getDataSource() {
195
158
  return dfs(leftTree, {
196
159
  nodes: []
197
160
  });
198
-
199
161
  function dfs(nodes, ctx) {
200
162
  var result = [];
201
-
202
163
  var _iterator2 = _createForOfIteratorHelper(nodes),
203
- _step2;
204
-
164
+ _step2;
205
165
  try {
206
166
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
207
167
  var node = _step2.value;
208
-
209
168
  if (node.hidden) {
210
169
  // 跳过被隐藏的节点
211
170
  continue;
212
171
  }
213
-
214
172
  if ((0, _utils.isLeafNode)(node)) {
215
173
  var _context2, _result$push;
216
-
217
174
  result.push((_result$push = {}, (0, _defineProperty2.default)(_result$push, _crossTable.ROW_KEY, node.key), (0, _defineProperty2.default)(_result$push, "node", node), (0, _defineProperty2.default)(_result$push, "nodes", (0, _concat.default)(_context2 = []).call(_context2, (0, _toConsumableArray2.default)(ctx.nodes), [node])), _result$push));
218
175
  } else {
219
176
  var _context3, _result$push2;
220
-
221
177
  var _nodes = (0, _concat.default)(_context3 = []).call(_context3, (0, _toConsumableArray2.default)(ctx.nodes), [node]);
222
-
223
178
  ctx.nodes.push(node);
224
179
  var children = dfs(node.children, ctx);
225
180
  result.push((_result$push2 = {}, (0, _defineProperty2.default)(_result$push2, _crossTable.ROW_KEY, node.key), (0, _defineProperty2.default)(_result$push2, "node", node), (0, _defineProperty2.default)(_result$push2, "nodes", _nodes), (0, _defineProperty2.default)(_result$push2, "children", children), _result$push2));
@@ -231,7 +186,6 @@ function buildCrossTreeTable(options) {
231
186
  } finally {
232
187
  _iterator2.f();
233
188
  }
234
-
235
189
  return result;
236
190
  }
237
191
  }