@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.
- package/LICENSE +568 -568
- package/README.md +111 -111
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +1877 -3363
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +16 -16
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/dist/kd-ui-complete.less +777 -777
- package/es/_utils/arrayUtil.js +0 -3
- package/es/_utils/devwarning.js +0 -1
- package/es/_utils/formatUtil.js +35 -96
- package/es/_utils/hooks.js +18 -42
- package/es/_utils/index.js +0 -2
- package/es/_utils/numberUtil.js +32 -55
- package/es/_utils/omit.js +0 -2
- package/es/_utils/type.js +0 -2
- package/es/_utils/usePopper.js +74 -137
- package/es/config-provider/compDefaultProps.js +0 -1
- package/es/config-provider/configProvider.js +2 -7
- package/es/config-provider/defaultConfig.js +0 -1
- package/es/index.js +0 -2
- package/es/locale/locale.js +5 -43
- package/es/style/color/colors.less +1 -1
- package/es/style/core/index.less +1 -1
- package/es/style/core/motion/other.less +27 -27
- package/es/style/core/motion/slide.less +53 -53
- package/es/style/core/motion.less +1 -1
- package/es/style/core/reset.less +185 -185
- package/es/style/index.less +1 -1
- package/es/style/mixins/index.less +18 -18
- package/es/style/mixins/overlay.less +21 -21
- package/es/style/mixins/reset.less +12 -12
- package/es/style/themes/default.less +445 -445
- package/es/table/base/calculations.js +22 -72
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +4 -4
- package/es/table/base/header.d.ts +2 -1
- package/es/table/base/header.js +17 -68
- package/es/table/base/helpers/SpanManager.js +3 -9
- package/es/table/base/helpers/TableDOMUtils.js +3 -26
- package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
- package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
- package/es/table/base/helpers/getRichVisibleRectsStream.js +11 -44
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +15 -36
- package/es/table/base/loading.js +6 -8
- package/es/table/base/renderTemplates.js +50 -54
- package/es/table/base/styles.js +1 -10
- package/es/table/base/table.js +116 -189
- package/es/table/base/utils.js +14 -54
- package/es/table/common-views.js +0 -7
- package/es/table/internals.js +0 -13
- package/es/table/pipeline/features/autoFill.js +11 -38
- package/es/table/pipeline/features/autoRowSpan.js +1 -14
- package/es/table/pipeline/features/colGroupExtendable.js +4 -19
- package/es/table/pipeline/features/columnDrag.js +41 -95
- package/es/table/pipeline/features/columnFilter.js +11 -44
- package/es/table/pipeline/features/columnHover.js +1 -7
- package/es/table/pipeline/features/columnRangeHover.js +1 -8
- package/es/table/pipeline/features/columnResizeWidth.js +11 -37
- package/es/table/pipeline/features/contextMenu.js +18 -89
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +25 -48
- package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
- package/es/table/pipeline/features/filter/util.js +0 -4
- package/es/table/pipeline/features/footerDataSource.js +0 -3
- package/es/table/pipeline/features/mergeCellHover.js +0 -1
- package/es/table/pipeline/features/multiSelect.js +15 -57
- package/es/table/pipeline/features/rangeSelection.js +63 -142
- package/es/table/pipeline/features/rowDetail.js +2 -41
- package/es/table/pipeline/features/rowGrouping.js +2 -35
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +29 -79
- package/es/table/pipeline/features/tips.js +0 -6
- package/es/table/pipeline/features/treeMode.js +9 -43
- package/es/table/pipeline/features/treeSelect.js +0 -26
- package/es/table/pipeline/pipeline.js +9 -49
- package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
- package/es/table/pivot/cross-table/cross-table.js +22 -28
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +31 -71
- package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
- package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
- package/es/table/style/index.less +1 -1
- package/es/table/transforms/autoRowSpan.js +1 -15
- package/es/table/transforms/autoWidth.js +10 -32
- package/es/table/transforms/buildTree.js +1 -2
- package/es/table/transforms/columnHover.js +9 -15
- package/es/table/transforms/columnRangeHover.js +12 -19
- package/es/table/transforms/columnResize.js +15 -37
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.js +36 -88
- package/es/table/transforms/tips.js +1 -6
- package/es/table/transforms/treeMode.js +30 -69
- package/es/table/transforms/visible.js +0 -2
- package/es/table/use/useResizeObserver.js +1 -4
- package/es/table/utils/applyTransforms.js +0 -1
- package/es/table/utils/buildTree.js +4 -19
- package/es/table/utils/collectNodes.js +1 -10
- package/es/table/utils/console.js +0 -14
- package/es/table/utils/copyToClipboard.js +0 -4
- package/es/table/utils/element.js +14 -41
- package/es/table/utils/exportTableAsExcel.js +4 -40
- package/es/table/utils/getTreeDepth.js +1 -9
- package/es/table/utils/groupBy.js +1 -10
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +1 -12
- package/es/table/utils/mergeCellProps.js +6 -13
- package/es/table/utils/others.js +3 -16
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +2 -15
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
- package/lib/_utils/arrayUtil.js +0 -5
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +35 -100
- package/lib/_utils/hooks.js +18 -53
- package/lib/_utils/index.js +0 -6
- package/lib/_utils/numberUtil.js +32 -63
- package/lib/_utils/omit.js +0 -5
- package/lib/_utils/react-children.js +0 -5
- package/lib/_utils/type.js +0 -6
- package/lib/_utils/usePopper.js +74 -158
- package/lib/config-provider/ConfigContext.js +1 -4
- package/lib/config-provider/compDefaultProps.js +0 -1
- package/lib/config-provider/configProvider.js +3 -18
- package/lib/config-provider/defaultConfig.js +0 -5
- package/lib/config-provider/index.js +0 -6
- package/lib/index.js +2 -8
- package/lib/locale/index.js +0 -7
- package/lib/locale/locale.js +5 -57
- package/lib/style/color/colors.less +1 -1
- package/lib/style/components.less +1 -1
- package/lib/style/core/index.less +1 -1
- package/lib/style/core/motion/other.less +27 -27
- package/lib/style/core/motion/slide.less +53 -53
- package/lib/style/core/motion.less +1 -1
- package/lib/style/core/reset.less +185 -185
- package/lib/style/index.less +1 -1
- package/lib/style/mixins/index.less +18 -18
- package/lib/style/mixins/overlay.less +21 -21
- package/lib/style/mixins/reset.less +12 -12
- package/lib/style/themes/default.less +445 -445
- package/lib/table/base/calculations.js +22 -83
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +4 -16
- package/lib/table/base/header.d.ts +2 -1
- package/lib/table/base/header.js +17 -78
- package/lib/table/base/helpers/SpanManager.js +3 -11
- package/lib/table/base/helpers/TableDOMUtils.js +1 -26
- package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
- package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
- package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +11 -62
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +15 -46
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +6 -12
- package/lib/table/base/renderTemplates.js +51 -68
- package/lib/table/base/styles.js +1 -22
- package/lib/table/base/table.js +116 -222
- package/lib/table/base/utils.js +14 -89
- package/lib/table/common-views.js +0 -16
- package/lib/table/index.js +0 -13
- package/lib/table/internals.js +0 -14
- package/lib/table/pipeline/features/autoFill.js +11 -45
- package/lib/table/pipeline/features/autoRowSpan.js +1 -19
- package/lib/table/pipeline/features/buildTree.js +0 -2
- package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
- package/lib/table/pipeline/features/columnDrag.js +41 -101
- package/lib/table/pipeline/features/columnFilter.js +11 -58
- package/lib/table/pipeline/features/columnHover.js +1 -11
- package/lib/table/pipeline/features/columnRangeHover.js +1 -13
- package/lib/table/pipeline/features/columnResizeWidth.js +11 -53
- package/lib/table/pipeline/features/contextMenu.js +18 -113
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +25 -70
- package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +0 -7
- package/lib/table/pipeline/features/footerDataSource.js +0 -10
- package/lib/table/pipeline/features/index.js +0 -22
- package/lib/table/pipeline/features/mergeCellHover.js +0 -5
- package/lib/table/pipeline/features/multiSelect.js +15 -70
- package/lib/table/pipeline/features/rangeSelection.js +63 -159
- package/lib/table/pipeline/features/rowDetail.js +2 -65
- package/lib/table/pipeline/features/rowGrouping.js +2 -55
- package/lib/table/pipeline/features/singleSelect.js +0 -33
- package/lib/table/pipeline/features/sort.js +29 -99
- package/lib/table/pipeline/features/tips.js +0 -15
- package/lib/table/pipeline/features/treeMode.js +9 -64
- package/lib/table/pipeline/features/treeSelect.js +0 -34
- package/lib/table/pipeline/index.js +0 -8
- package/lib/table/pipeline/pipeline.js +9 -58
- package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
- package/lib/table/pivot/cross-table/cross-table.js +22 -36
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
- package/lib/table/pivot/cross-tree-table/index.js +0 -3
- package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
- package/lib/table/pivot/pivot-utils/builders.js +31 -82
- package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
- package/lib/table/pivot/pivot-utils/index.js +0 -7
- package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
- package/lib/table/style/css.js +0 -1
- package/lib/table/style/index.js +0 -1
- package/lib/table/style/index.less +1 -1
- package/lib/table/transforms/autoRowSpan.js +1 -21
- package/lib/table/transforms/autoWidth.js +10 -53
- package/lib/table/transforms/buildTree.js +1 -4
- package/lib/table/transforms/columnHover.js +9 -22
- package/lib/table/transforms/columnRangeHover.js +12 -27
- package/lib/table/transforms/columnResize.js +15 -56
- package/lib/table/transforms/flatten.js +0 -5
- package/lib/table/transforms/index.js +0 -12
- package/lib/table/transforms/orderField.js +0 -7
- package/lib/table/transforms/sort.js +36 -112
- package/lib/table/transforms/tips.js +1 -16
- package/lib/table/transforms/treeMode.js +30 -96
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +1 -8
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/buildTree.js +4 -30
- package/lib/table/utils/collectNodes.js +1 -15
- package/lib/table/utils/console.js +0 -16
- package/lib/table/utils/copyToClipboard.js +0 -6
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +4 -49
- package/lib/table/utils/getTreeDepth.js +1 -14
- package/lib/table/utils/groupBy.js +1 -14
- package/lib/table/utils/index.js +0 -20
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +1 -21
- package/lib/table/utils/mergeCellProps.js +6 -17
- package/lib/table/utils/others.js +3 -31
- package/lib/table/utils/proto.js +2 -33
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +2 -22
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
- package/package.json +219 -218
|
@@ -4,25 +4,22 @@ import { groupBy } from '../../utils';
|
|
|
4
4
|
import { always } from '../../utils/others';
|
|
5
5
|
import simpleEncode from './simpleEncode';
|
|
6
6
|
/** 根据指定的 code 序列计算下钻树 */
|
|
7
|
-
|
|
8
7
|
export default function buildDrillTree(data, codes) {
|
|
9
8
|
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
_ref$encode = _ref.encode,
|
|
10
|
+
encode = _ref$encode === void 0 ? simpleEncode : _ref$encode,
|
|
11
|
+
_ref$totalValue = _ref.totalValue,
|
|
12
|
+
totalValue = _ref$totalValue === void 0 ? '总计' : _ref$totalValue,
|
|
13
|
+
_ref$includeTopWrappe = _ref.includeTopWrapper,
|
|
14
|
+
includeTopWrapper = _ref$includeTopWrappe === void 0 ? false : _ref$includeTopWrappe,
|
|
15
|
+
_ref$isExpand = _ref.isExpand,
|
|
16
|
+
isExpand = _ref$isExpand === void 0 ? always(true) : _ref$isExpand,
|
|
17
|
+
_ref$enforceExpandTot = _ref.enforceExpandTotalNode,
|
|
18
|
+
enforceExpandTotalNode = _ref$enforceExpandTot === void 0 ? true : _ref$enforceExpandTot;
|
|
21
19
|
var emptyPath = [];
|
|
22
20
|
var totalKey = encode(emptyPath);
|
|
23
21
|
var array;
|
|
24
22
|
var hasChild = false;
|
|
25
|
-
|
|
26
23
|
if (codes.length === 0) {
|
|
27
24
|
array = [];
|
|
28
25
|
} else if (!enforceExpandTotalNode && !isExpand(totalKey)) {
|
|
@@ -31,7 +28,6 @@ export default function buildDrillTree(data, codes) {
|
|
|
31
28
|
} else {
|
|
32
29
|
array = dfs(data, []);
|
|
33
30
|
}
|
|
34
|
-
|
|
35
31
|
if (includeTopWrapper) {
|
|
36
32
|
var rootNode = {
|
|
37
33
|
key: totalKey,
|
|
@@ -39,14 +35,11 @@ export default function buildDrillTree(data, codes) {
|
|
|
39
35
|
path: emptyPath,
|
|
40
36
|
children: array
|
|
41
37
|
};
|
|
42
|
-
|
|
43
38
|
if (hasChild) {
|
|
44
39
|
rootNode.hasChild = hasChild;
|
|
45
40
|
}
|
|
46
|
-
|
|
47
41
|
return [rootNode];
|
|
48
42
|
}
|
|
49
|
-
|
|
50
43
|
if (includeTopWrapper) {
|
|
51
44
|
return [{
|
|
52
45
|
key: totalKey,
|
|
@@ -55,9 +48,7 @@ export default function buildDrillTree(data, codes) {
|
|
|
55
48
|
children: array
|
|
56
49
|
}];
|
|
57
50
|
}
|
|
58
|
-
|
|
59
51
|
return array;
|
|
60
|
-
|
|
61
52
|
function dfs(slice, path) {
|
|
62
53
|
var depth = path.length;
|
|
63
54
|
var array = [];
|
|
@@ -65,7 +56,6 @@ export default function buildDrillTree(data, codes) {
|
|
|
65
56
|
var groups = groupBy(slice, function (row) {
|
|
66
57
|
return row[code];
|
|
67
58
|
});
|
|
68
|
-
|
|
69
59
|
for (var _i = 0, _Object$keys = _Object$keys2(groups); _i < _Object$keys.length; _i++) {
|
|
70
60
|
var groupKey = _Object$keys[_i];
|
|
71
61
|
path.push(groupKey);
|
|
@@ -76,7 +66,6 @@ export default function buildDrillTree(data, codes) {
|
|
|
76
66
|
};
|
|
77
67
|
array.push(node);
|
|
78
68
|
var group = groups[groupKey];
|
|
79
|
-
|
|
80
69
|
if (group.length > 0 && depth < codes.length - 1) {
|
|
81
70
|
if (isExpand(node.key)) {
|
|
82
71
|
node.children = dfs(group, path);
|
|
@@ -84,10 +73,8 @@ export default function buildDrillTree(data, codes) {
|
|
|
84
73
|
node.hasChild = true;
|
|
85
74
|
}
|
|
86
75
|
}
|
|
87
|
-
|
|
88
76
|
path.pop();
|
|
89
77
|
}
|
|
90
|
-
|
|
91
78
|
return array;
|
|
92
79
|
}
|
|
93
80
|
}
|
|
@@ -3,13 +3,9 @@ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
|
|
3
3
|
import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
|
|
4
4
|
import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
|
|
5
5
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
|
|
6
|
-
|
|
7
6
|
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; } } }; }
|
|
8
|
-
|
|
9
7
|
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); }
|
|
10
|
-
|
|
11
8
|
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; }
|
|
12
|
-
|
|
13
9
|
import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
14
10
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
15
11
|
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
@@ -18,54 +14,46 @@ import { groupBy, isLeafNode } from '../../utils';
|
|
|
18
14
|
import { always, fromEntries } from '../../utils/others';
|
|
19
15
|
import buildDrillTree from './buildDrillTree';
|
|
20
16
|
import simpleEncode from './simpleEncode';
|
|
21
|
-
|
|
22
17
|
function fallbackAggregate(slice) {
|
|
23
18
|
return slice.length === 1 ? slice[0] : {};
|
|
24
19
|
}
|
|
25
20
|
/** 根据表格左侧与上方的下钻树,从全量明细数据中计算对应的数据立方 */
|
|
26
|
-
|
|
27
|
-
|
|
28
21
|
export function buildRecordMatrix(_ref) {
|
|
29
22
|
var data = _ref.data,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
23
|
+
leftCodes = _ref.leftCodes,
|
|
24
|
+
topCodes = _ref.topCodes,
|
|
25
|
+
_ref$aggregate = _ref.aggregate,
|
|
26
|
+
aggregate = _ref$aggregate === void 0 ? fallbackAggregate : _ref$aggregate,
|
|
27
|
+
_ref$encode = _ref.encode,
|
|
28
|
+
encode = _ref$encode === void 0 ? simpleEncode : _ref$encode,
|
|
29
|
+
_ref$isLeftExpand = _ref.isLeftExpand,
|
|
30
|
+
isLeftExpand = _ref$isLeftExpand === void 0 ? always(true) : _ref$isLeftExpand,
|
|
31
|
+
_ref$isTopExpand = _ref.isTopExpand,
|
|
32
|
+
isTopExpand = _ref$isTopExpand === void 0 ? always(true) : _ref$isTopExpand,
|
|
33
|
+
prebuiltLeftTree = _ref.prebuiltLeftTree,
|
|
34
|
+
prebuiltTopTree = _ref.prebuiltTopTree;
|
|
42
35
|
var ctx = {
|
|
43
36
|
peculiarity: new _Set()
|
|
44
37
|
};
|
|
45
|
-
|
|
46
38
|
var _ref2 = prebuiltLeftTree !== null && prebuiltLeftTree !== void 0 ? prebuiltLeftTree : buildDrillTree(data, leftCodes, {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
39
|
+
encode: encode,
|
|
40
|
+
includeTopWrapper: true,
|
|
41
|
+
isExpand: isLeftExpand
|
|
42
|
+
}),
|
|
43
|
+
_ref3 = _slicedToArray(_ref2, 1),
|
|
44
|
+
leftRootDrillNode = _ref3[0];
|
|
54
45
|
var _ref4 = prebuiltTopTree !== null && prebuiltTopTree !== void 0 ? prebuiltTopTree : buildDrillTree(data, topCodes, {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
46
|
+
encode: encode,
|
|
47
|
+
includeTopWrapper: true,
|
|
48
|
+
isExpand: isTopExpand
|
|
49
|
+
}),
|
|
50
|
+
_ref5 = _slicedToArray(_ref4, 1),
|
|
51
|
+
topRootDrillNode = _ref5[0];
|
|
62
52
|
var transientMatrixRow = buildByLeft(ctx, data, leftRootDrillNode, 0);
|
|
63
53
|
return makeMatrix(transientMatrixRow);
|
|
64
|
-
|
|
65
54
|
function buildByLeft(ctx, slice, drillNode, depth) {
|
|
66
55
|
var children = null;
|
|
67
56
|
var col;
|
|
68
|
-
|
|
69
57
|
if (isLeafNode(drillNode)) {
|
|
70
58
|
col = buildByTop(ctx, slice, topRootDrillNode, 0);
|
|
71
59
|
} else {
|
|
@@ -75,15 +63,12 @@ export function buildRecordMatrix(_ref) {
|
|
|
75
63
|
return dwdRow[code];
|
|
76
64
|
});
|
|
77
65
|
ctx.peculiarity.add(code);
|
|
78
|
-
|
|
79
66
|
var _iterator = _createForOfIteratorHelper(drillNode.children),
|
|
80
|
-
|
|
81
|
-
|
|
67
|
+
_step;
|
|
82
68
|
try {
|
|
83
69
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
84
70
|
var child = _step.value;
|
|
85
71
|
var group = groups[child.value];
|
|
86
|
-
|
|
87
72
|
if (group) {
|
|
88
73
|
children.push(buildByLeft(ctx, group, child, depth + 1));
|
|
89
74
|
}
|
|
@@ -93,24 +78,20 @@ export function buildRecordMatrix(_ref) {
|
|
|
93
78
|
} finally {
|
|
94
79
|
_iterator.f();
|
|
95
80
|
}
|
|
96
|
-
|
|
97
81
|
ctx.peculiarity.delete(code);
|
|
98
82
|
col = mergeColsByTopTree(ctx, _mapInstanceProperty(children).call(children, function (child) {
|
|
99
83
|
return child.col;
|
|
100
84
|
}));
|
|
101
85
|
}
|
|
102
|
-
|
|
103
86
|
return {
|
|
104
87
|
leftKey: drillNode.key,
|
|
105
88
|
children: children,
|
|
106
89
|
col: col
|
|
107
90
|
};
|
|
108
91
|
}
|
|
109
|
-
|
|
110
92
|
function buildByTop(ctx, slice, drillNode, depth) {
|
|
111
93
|
var children = null;
|
|
112
94
|
var record;
|
|
113
|
-
|
|
114
95
|
if (isLeafNode(drillNode)) {
|
|
115
96
|
record = aggregate(slice, ctx);
|
|
116
97
|
} else {
|
|
@@ -120,15 +101,12 @@ export function buildRecordMatrix(_ref) {
|
|
|
120
101
|
return dwdRow[code];
|
|
121
102
|
});
|
|
122
103
|
ctx.peculiarity.add(code);
|
|
123
|
-
|
|
124
104
|
var _iterator2 = _createForOfIteratorHelper(drillNode.children),
|
|
125
|
-
|
|
126
|
-
|
|
105
|
+
_step2;
|
|
127
106
|
try {
|
|
128
107
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
129
108
|
var child = _step2.value;
|
|
130
109
|
var group = groups[child.value];
|
|
131
|
-
|
|
132
110
|
if (group) {
|
|
133
111
|
children.push(buildByTop(ctx, group, child, depth + 1));
|
|
134
112
|
}
|
|
@@ -138,13 +116,11 @@ export function buildRecordMatrix(_ref) {
|
|
|
138
116
|
} finally {
|
|
139
117
|
_iterator2.f();
|
|
140
118
|
}
|
|
141
|
-
|
|
142
119
|
ctx.peculiarity.delete(code);
|
|
143
120
|
record = aggregate(_mapInstanceProperty(children).call(children, function (child) {
|
|
144
121
|
return child.record;
|
|
145
122
|
}), ctx);
|
|
146
123
|
}
|
|
147
|
-
|
|
148
124
|
return {
|
|
149
125
|
topKey: drillNode.key,
|
|
150
126
|
topValue: drillNode.value,
|
|
@@ -152,45 +128,35 @@ export function buildRecordMatrix(_ref) {
|
|
|
152
128
|
record: record
|
|
153
129
|
};
|
|
154
130
|
}
|
|
155
|
-
|
|
156
131
|
function mergeColsByTopTree(ctx, colsToMerge) {
|
|
157
132
|
return dfs(ctx, colsToMerge, topRootDrillNode, 0);
|
|
158
|
-
|
|
159
133
|
function dfs(ctx, cols, topDrillNode, depth) {
|
|
160
134
|
var children = null;
|
|
161
135
|
var record = aggregate(_mapInstanceProperty(cols).call(cols, function (c) {
|
|
162
136
|
return c.record;
|
|
163
137
|
}), ctx);
|
|
164
|
-
|
|
165
138
|
if (!isLeafNode(topDrillNode)) {
|
|
166
139
|
var _context, _context3;
|
|
167
|
-
|
|
168
140
|
var topCode = topCodes[depth];
|
|
169
141
|
ctx.peculiarity.add(topCode);
|
|
170
142
|
var drillChildDict = fromEntries(_mapInstanceProperty(_context = topDrillNode.children).call(_context, function (child) {
|
|
171
143
|
return [child.value, child];
|
|
172
144
|
}));
|
|
173
|
-
|
|
174
145
|
var colChildDictArray = _mapInstanceProperty(cols).call(cols, function (col) {
|
|
175
146
|
var _context2;
|
|
176
|
-
|
|
177
147
|
return fromEntries(_mapInstanceProperty(_context2 = col.children).call(_context2, function (child) {
|
|
178
148
|
return [child.topValue, child];
|
|
179
149
|
}));
|
|
180
150
|
});
|
|
181
|
-
|
|
182
151
|
children = _mapInstanceProperty(_context3 = topDrillNode.children).call(_context3, function (item) {
|
|
183
152
|
var _context4;
|
|
184
|
-
|
|
185
153
|
var childCols = _filterInstanceProperty(_context4 = _mapInstanceProperty(colChildDictArray).call(colChildDictArray, function (colChildDict) {
|
|
186
154
|
return colChildDict[item.value];
|
|
187
155
|
})).call(_context4, Boolean);
|
|
188
|
-
|
|
189
156
|
return dfs(ctx, childCols, drillChildDict[item.value], depth + 1);
|
|
190
157
|
});
|
|
191
158
|
ctx.peculiarity.delete(topCode);
|
|
192
159
|
}
|
|
193
|
-
|
|
194
160
|
return {
|
|
195
161
|
topKey: topDrillNode.key,
|
|
196
162
|
topValue: topDrillNode.value,
|
|
@@ -199,27 +165,22 @@ export function buildRecordMatrix(_ref) {
|
|
|
199
165
|
};
|
|
200
166
|
}
|
|
201
167
|
}
|
|
202
|
-
|
|
203
168
|
function makeMatrix(rootRow) {
|
|
204
169
|
var result = new _Map();
|
|
205
170
|
dfsRow(result, rootRow);
|
|
206
171
|
return result;
|
|
207
|
-
|
|
208
172
|
function dfsRow(matrix, row) {
|
|
209
173
|
var subMap = new _Map();
|
|
210
174
|
matrix.set(row.leftKey, subMap);
|
|
211
175
|
dfsCol(subMap, row.col);
|
|
212
|
-
|
|
213
176
|
if (!isLeafNode(row)) {
|
|
214
177
|
row.children.forEach(function (childRow) {
|
|
215
178
|
dfsRow(matrix, childRow);
|
|
216
179
|
});
|
|
217
180
|
}
|
|
218
181
|
}
|
|
219
|
-
|
|
220
182
|
function dfsCol(subMap, col) {
|
|
221
183
|
subMap.set(col.topKey, col.record);
|
|
222
|
-
|
|
223
184
|
if (!isLeafNode(col)) {
|
|
224
185
|
col.children.forEach(function (childCol) {
|
|
225
186
|
dfsCol(subMap, childCol);
|
|
@@ -230,14 +191,13 @@ export function buildRecordMatrix(_ref) {
|
|
|
230
191
|
}
|
|
231
192
|
/** buildRecordMatrix 的简化版本,只能处理一个维度序列,返回一个 Map。
|
|
232
193
|
* 相当于只处理 matrix 的第一行(汇总行) */
|
|
233
|
-
|
|
234
194
|
export function buildRecordMap(_ref6) {
|
|
235
195
|
var codes = _ref6.codes,
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
196
|
+
_ref6$encode = _ref6.encode,
|
|
197
|
+
encode = _ref6$encode === void 0 ? simpleEncode : _ref6$encode,
|
|
198
|
+
data = _ref6.data,
|
|
199
|
+
aggregate = _ref6.aggregate,
|
|
200
|
+
isExpand = _ref6.isExpand;
|
|
241
201
|
var matrix = buildRecordMatrix({
|
|
242
202
|
data: data,
|
|
243
203
|
leftCodes: [],
|
|
@@ -4,15 +4,10 @@ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
|
|
|
4
4
|
import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
|
|
5
5
|
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
6
6
|
import _taggedTemplateLiteral from "@babel/runtime-corejs3/helpers/taggedTemplateLiteral";
|
|
7
|
-
|
|
8
7
|
var _templateObject;
|
|
9
|
-
|
|
10
8
|
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; } } }; }
|
|
11
|
-
|
|
12
9
|
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); }
|
|
13
|
-
|
|
14
10
|
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; }
|
|
15
|
-
|
|
16
11
|
import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
17
12
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
18
13
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
@@ -28,31 +23,26 @@ import { Classes } from '../../base/styles';
|
|
|
28
23
|
var ExpandSpan = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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"])), Classes.expanded);
|
|
29
24
|
export function convertDrillTreeToCrossTree(drillTree) {
|
|
30
25
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
26
|
+
indicators = _ref.indicators,
|
|
27
|
+
_ref$encode = _ref.encode,
|
|
28
|
+
encode = _ref$encode === void 0 ? simpleEncode : _ref$encode,
|
|
29
|
+
generateSubtotalNode = _ref.generateSubtotalNode,
|
|
30
|
+
_ref$enforceExpandTot = _ref.enforceExpandTotalNode,
|
|
31
|
+
enforceExpandTotalNode = _ref$enforceExpandTot === void 0 ? true : _ref$enforceExpandTot,
|
|
32
|
+
expandKeys = _ref.expandKeys,
|
|
33
|
+
_ref$onChangeExpandKe = _ref.onChangeExpandKeys,
|
|
34
|
+
onChangeExpandKeys = _ref$onChangeExpandKe === void 0 ? noop : _ref$onChangeExpandKe,
|
|
35
|
+
supportsExpand = _ref.supportsExpand;
|
|
42
36
|
var totalKey = encode([]);
|
|
43
|
-
|
|
44
37
|
if (supportsExpand && expandKeys == null) {
|
|
45
38
|
throw new Error('[ali-react-table] convertDrillTreeToCrossTree(...) 设置 supportsExpand=true 时,expandKeys 不能为 null/undefined.');
|
|
46
39
|
}
|
|
47
|
-
|
|
48
40
|
var expandKeySet = new _Set(expandKeys);
|
|
49
41
|
return dfs(drillTree, 0);
|
|
50
42
|
/** 在 indicators 非空的情况下获取指标对应的 CrossTreeNode */
|
|
51
|
-
|
|
52
43
|
function getIndicators(node, nodeData) {
|
|
53
44
|
return _mapInstanceProperty(indicators).call(indicators, function (indicator) {
|
|
54
45
|
var _context;
|
|
55
|
-
|
|
56
46
|
return _extends({
|
|
57
47
|
key: encode(_concatInstanceProperty(_context = node.path).call(_context, [indicator.code])),
|
|
58
48
|
value: indicator.name,
|
|
@@ -62,7 +52,6 @@ export function convertDrillTreeToCrossTree(drillTree) {
|
|
|
62
52
|
}, indicator);
|
|
63
53
|
});
|
|
64
54
|
}
|
|
65
|
-
|
|
66
55
|
function drillNodeToTreeNode(node, nodeData) {
|
|
67
56
|
if (indicators != null) {
|
|
68
57
|
return {
|
|
@@ -79,13 +68,10 @@ export function convertDrillTreeToCrossTree(drillTree) {
|
|
|
79
68
|
};
|
|
80
69
|
}
|
|
81
70
|
}
|
|
82
|
-
|
|
83
71
|
function dfs(drillNodes, depth) {
|
|
84
72
|
var result = [];
|
|
85
|
-
|
|
86
73
|
var _iterator = _createForOfIteratorHelper(drillNodes),
|
|
87
|
-
|
|
88
|
-
|
|
74
|
+
_step;
|
|
89
75
|
try {
|
|
90
76
|
var _loop = function _loop() {
|
|
91
77
|
var node = _step.value;
|
|
@@ -93,7 +79,6 @@ export function convertDrillTreeToCrossTree(drillTree) {
|
|
|
93
79
|
dataKey: node.key,
|
|
94
80
|
dataPath: node.path
|
|
95
81
|
};
|
|
96
|
-
|
|
97
82
|
if (isLeafNode(node) && !node.hasChild) {
|
|
98
83
|
result.push(drillNodeToTreeNode(node, nodeData));
|
|
99
84
|
} else {
|
|
@@ -103,7 +88,6 @@ export function convertDrillTreeToCrossTree(drillTree) {
|
|
|
103
88
|
value: node.value,
|
|
104
89
|
data: nodeData
|
|
105
90
|
};
|
|
106
|
-
|
|
107
91
|
if (!supportsExpand || enforceExpandTotalNode && node.key === totalKey) {
|
|
108
92
|
// 不支持展开功能 或是强制展开
|
|
109
93
|
crossTreeNode.children = dfs(node.children, depth + 1);
|
|
@@ -130,31 +114,24 @@ export function convertDrillTreeToCrossTree(drillTree) {
|
|
|
130
114
|
}, /*#__PURE__*/React.createElement(icons.CaretRight, {
|
|
131
115
|
className: "icon collapsed"
|
|
132
116
|
}), node.value);
|
|
133
|
-
|
|
134
117
|
if (indicators != null) {
|
|
135
118
|
crossTreeNode.children = getIndicators(node, nodeData);
|
|
136
119
|
}
|
|
137
120
|
}
|
|
138
|
-
|
|
139
121
|
if (needProcessChildren) {
|
|
140
122
|
var subtotalNodeData = generateSubtotalNode === null || generateSubtotalNode === void 0 ? void 0 : generateSubtotalNode(node);
|
|
141
|
-
|
|
142
123
|
if (subtotalNodeData) {
|
|
143
124
|
var _context2;
|
|
144
|
-
|
|
145
125
|
var _subtotalNodeData$pos = subtotalNodeData.position,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
126
|
+
position = _subtotalNodeData$pos === void 0 ? 'start' : _subtotalNodeData$pos,
|
|
127
|
+
value = subtotalNodeData.value;
|
|
149
128
|
var subtotalPath = _concatInstanceProperty(_context2 = node.path).call(_context2, [value]);
|
|
150
|
-
|
|
151
129
|
var subtotalDrillNode = {
|
|
152
130
|
key: encode(subtotalPath),
|
|
153
131
|
path: subtotalPath,
|
|
154
132
|
value: value
|
|
155
133
|
};
|
|
156
134
|
var subtotalTreeNode = drillNodeToTreeNode(subtotalDrillNode, nodeData);
|
|
157
|
-
|
|
158
135
|
if (position === 'start') {
|
|
159
136
|
crossTreeNode.children.unshift(subtotalTreeNode);
|
|
160
137
|
} else {
|
|
@@ -162,11 +139,9 @@ export function convertDrillTreeToCrossTree(drillTree) {
|
|
|
162
139
|
}
|
|
163
140
|
}
|
|
164
141
|
}
|
|
165
|
-
|
|
166
142
|
result.push(crossTreeNode);
|
|
167
143
|
}
|
|
168
144
|
};
|
|
169
|
-
|
|
170
145
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
171
146
|
_loop();
|
|
172
147
|
}
|
|
@@ -175,7 +150,6 @@ export function convertDrillTreeToCrossTree(drillTree) {
|
|
|
175
150
|
} finally {
|
|
176
151
|
_iterator.f();
|
|
177
152
|
}
|
|
178
|
-
|
|
179
153
|
return result;
|
|
180
154
|
}
|
|
181
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
@@ -2,40 +2,31 @@ import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
|
2
2
|
import { internals } from '../internals';
|
|
3
3
|
import { isLeafNode, traverseColumn } from '../utils';
|
|
4
4
|
import { warnTransformsDeprecated } from './warnTransformsDeprecated';
|
|
5
|
-
|
|
6
5
|
function isIdentity(x, y) {
|
|
7
6
|
return x === y;
|
|
8
7
|
}
|
|
9
8
|
/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */
|
|
10
|
-
|
|
11
|
-
|
|
12
9
|
export function makeAutoRowSpanTransform() {
|
|
13
10
|
warnTransformsDeprecated('makeAutoRowSpanTransform');
|
|
14
11
|
return traverseColumn(function (col, _ref) {
|
|
15
12
|
var dataSource = _ref.dataSource,
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
range = _ref.range;
|
|
18
14
|
var _a;
|
|
19
|
-
|
|
20
15
|
if (!((_a = col.features) === null || _a === void 0 ? void 0 : _a.autoRowSpan)) {
|
|
21
16
|
return col;
|
|
22
17
|
}
|
|
23
|
-
|
|
24
18
|
if (!isLeafNode(col)) {
|
|
25
19
|
return col;
|
|
26
20
|
}
|
|
27
|
-
|
|
28
21
|
var isFunc = typeof col.features.autoRowSpan === 'function';
|
|
29
22
|
var shouldMergeCell = isFunc ? col.features.autoRowSpan : isIdentity;
|
|
30
23
|
var spanRects = [];
|
|
31
24
|
var lastBottom = 0;
|
|
32
25
|
var prevValue = null;
|
|
33
26
|
var prevRow = null;
|
|
34
|
-
|
|
35
27
|
for (var rowIndex = 0; rowIndex < dataSource.length; rowIndex++) {
|
|
36
28
|
var row = dataSource[rowIndex];
|
|
37
29
|
var value = internals.safeGetValue(col, row, rowIndex);
|
|
38
|
-
|
|
39
30
|
if (rowIndex === 0 || !shouldMergeCell(prevValue, value, prevRow, row)) {
|
|
40
31
|
var spanRect = {
|
|
41
32
|
top: lastBottom,
|
|
@@ -43,18 +34,14 @@ export function makeAutoRowSpanTransform() {
|
|
|
43
34
|
left: range.start,
|
|
44
35
|
right: range.end
|
|
45
36
|
};
|
|
46
|
-
|
|
47
37
|
for (var i = lastBottom; i < rowIndex; i++) {
|
|
48
38
|
spanRects.push(spanRect);
|
|
49
39
|
}
|
|
50
|
-
|
|
51
40
|
lastBottom = rowIndex;
|
|
52
41
|
}
|
|
53
|
-
|
|
54
42
|
prevValue = value;
|
|
55
43
|
prevRow = row;
|
|
56
44
|
}
|
|
57
|
-
|
|
58
45
|
for (var _i = lastBottom; _i < dataSource.length; _i++) {
|
|
59
46
|
spanRects.push({
|
|
60
47
|
top: lastBottom,
|
|
@@ -63,7 +50,6 @@ export function makeAutoRowSpanTransform() {
|
|
|
63
50
|
right: range.end
|
|
64
51
|
});
|
|
65
52
|
}
|
|
66
|
-
|
|
67
53
|
return _extends(_extends({}, col), {
|
|
68
54
|
getSpanRect: function getSpanRect(value, row, rowIndex) {
|
|
69
55
|
return spanRects[rowIndex];
|