@kdcloudjs/table 1.2.0-canary.16 → 1.2.0-canary.16-hotfix
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +2047 -3489
- 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/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/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.js +14 -67
- package/es/table/base/helpers/SpanManager.js +3 -9
- package/es/table/base/helpers/TableDOMUtils.js +4 -27
- 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 +14 -35
- package/es/table/base/loading.js +6 -8
- package/es/table/base/renderTemplates.js +26 -44
- package/es/table/base/styles.js +0 -9
- package/es/table/base/table.js +95 -181
- 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 -40
- package/es/table/pipeline/features/autoRowSpan.js +1 -14
- package/es/table/pipeline/features/colGroupExtendable.js +4 -19
- package/es/table/pipeline/features/columnDrag.d.ts +1 -0
- package/es/table/pipeline/features/columnDrag.js +236 -303
- package/es/table/pipeline/features/columnFilter.js +11 -48
- 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 +51 -42
- 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/rowDrag.js +36 -71
- 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 +31 -83
- package/es/table/pipeline/features/tips.js +0 -6
- package/es/table/pipeline/features/treeMode.js +9 -44
- package/es/table/pipeline/features/treeSelect.js +0 -26
- package/es/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
- package/es/table/pipeline/features/utils/touchEventUtils.js +65 -0
- package/es/table/pipeline/pipeline.js +11 -51
- 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/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/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.js +14 -77
- package/lib/table/base/helpers/SpanManager.js +3 -11
- package/lib/table/base/helpers/TableDOMUtils.js +2 -27
- 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 +14 -45
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +6 -12
- package/lib/table/base/renderTemplates.js +27 -58
- package/lib/table/base/styles.js +0 -21
- package/lib/table/base/table.js +95 -214
- 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 -47
- 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.d.ts +1 -0
- package/lib/table/pipeline/features/columnDrag.js +236 -309
- package/lib/table/pipeline/features/columnFilter.js +11 -62
- 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 +51 -58
- 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 -23
- package/lib/table/pipeline/features/mergeCellHover.js +0 -5
- package/lib/table/pipeline/features/multiSelect.js +15 -71
- package/lib/table/pipeline/features/rangeSelection.js +63 -159
- package/lib/table/pipeline/features/rowDetail.js +2 -65
- package/lib/table/pipeline/features/rowDrag.js +36 -81
- package/lib/table/pipeline/features/rowGrouping.js +2 -55
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +31 -103
- package/lib/table/pipeline/features/tips.js +0 -15
- package/lib/table/pipeline/features/treeMode.js +9 -65
- package/lib/table/pipeline/features/treeSelect.js +0 -34
- package/lib/table/pipeline/features/utils/touchEventUtils.d.ts +15 -0
- package/lib/table/pipeline/features/utils/touchEventUtils.js +76 -0
- package/lib/table/pipeline/index.js +0 -8
- package/lib/table/pipeline/pipeline.js +11 -60
- 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/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 -21
- 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/selectColumn.js +0 -1
- 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 +2 -1
|
@@ -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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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
|
-
|
|
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
|
}
|
|
@@ -1,119 +1,89 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Reflect$construct = require("@babel/runtime-corejs3/core-js-stable/reflect/construct");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = void 0;
|
|
11
|
-
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
|
|
17
|
-
|
|
18
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
|
|
19
|
-
|
|
20
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
15
|
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
17
|
var _rxjs = require("rxjs");
|
|
29
|
-
|
|
30
18
|
var _base = require("../../base");
|
|
31
|
-
|
|
32
19
|
var _crossTable = require("../cross-table");
|
|
33
|
-
|
|
34
20
|
var _buildCrossTreeTable2 = _interopRequireDefault(require("./buildCrossTreeTable"));
|
|
35
|
-
|
|
36
21
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
37
|
-
|
|
38
22
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
39
|
-
|
|
40
23
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
41
24
|
var t = {};
|
|
42
|
-
|
|
43
25
|
for (var p in s) {
|
|
44
26
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
45
27
|
}
|
|
46
|
-
|
|
47
28
|
if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
|
|
48
29
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
49
30
|
}
|
|
50
31
|
return t;
|
|
51
32
|
};
|
|
52
|
-
|
|
53
33
|
var CrossTreeTable = /*#__PURE__*/function (_React$Component) {
|
|
54
34
|
(0, _inherits2.default)(CrossTreeTable, _React$Component);
|
|
55
|
-
|
|
56
35
|
var _super = _createSuper(CrossTreeTable);
|
|
57
|
-
|
|
58
36
|
function CrossTreeTable(props) {
|
|
59
37
|
var _this;
|
|
60
|
-
|
|
61
38
|
(0, _classCallCheck2.default)(this, CrossTreeTable);
|
|
62
39
|
_this = _super.call(this, props);
|
|
63
|
-
|
|
64
40
|
_this.onChangeOpenKeys = function (nextOpenKeys) {
|
|
65
41
|
_this.props.onChangeOpenKeys(nextOpenKeys);
|
|
66
|
-
|
|
67
42
|
if (!('openKeys' in _this.props)) {
|
|
68
43
|
_this.setState({
|
|
69
44
|
openKeys: nextOpenKeys
|
|
70
45
|
});
|
|
71
46
|
}
|
|
72
47
|
};
|
|
73
|
-
|
|
74
48
|
_this.state = {
|
|
75
49
|
openKeys: props.defaultOpenKeys
|
|
76
50
|
};
|
|
77
51
|
return _this;
|
|
78
52
|
}
|
|
79
|
-
|
|
80
53
|
(0, _createClass2.default)(CrossTreeTable, [{
|
|
81
54
|
key: "render",
|
|
82
55
|
value: function render() {
|
|
83
56
|
var _a = this.props,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
57
|
+
_a$BaseTableComponent = _a.BaseTableComponent,
|
|
58
|
+
BaseTableComponent = _a$BaseTableComponent === void 0 ? _base.Table : _a$BaseTableComponent,
|
|
59
|
+
leftTree = _a.leftTree,
|
|
60
|
+
topTree = _a.topTree,
|
|
61
|
+
getValue = _a.getValue,
|
|
62
|
+
getCellProps = _a.getCellProps,
|
|
63
|
+
primaryColumn = _a.primaryColumn,
|
|
64
|
+
render = _a.render,
|
|
65
|
+
openKeysProp = _a.openKeys,
|
|
66
|
+
defaultOpenKeys = _a.defaultOpenKeys,
|
|
67
|
+
onChangeOpenKeys = _a.onChangeOpenKeys,
|
|
68
|
+
indentSize = _a.indentSize,
|
|
69
|
+
isLeafNode = _a.isLeafNode,
|
|
70
|
+
baseTableRef = _a.baseTableRef,
|
|
71
|
+
others = __rest(_a, ["BaseTableComponent", "leftTree", "topTree", "getValue", "getCellProps", "primaryColumn", "render", "openKeys", "defaultOpenKeys", "onChangeOpenKeys", "indentSize", "isLeafNode", "baseTableRef"]);
|
|
100
72
|
var openKeys = openKeysProp !== null && openKeysProp !== void 0 ? openKeysProp : this.state.openKeys;
|
|
101
|
-
|
|
102
73
|
var _buildCrossTreeTable = (0, _buildCrossTreeTable2.default)({
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
74
|
+
leftTree: leftTree,
|
|
75
|
+
topTree: topTree,
|
|
76
|
+
getValue: getValue,
|
|
77
|
+
getCellProps: getCellProps,
|
|
78
|
+
render: render,
|
|
79
|
+
primaryColumn: primaryColumn,
|
|
80
|
+
openKeys: openKeys,
|
|
81
|
+
onChangeOpenKeys: this.onChangeOpenKeys,
|
|
82
|
+
indentSize: indentSize,
|
|
83
|
+
isLeafNode: isLeafNode
|
|
84
|
+
}),
|
|
85
|
+
dataSource = _buildCrossTreeTable.dataSource,
|
|
86
|
+
columns = _buildCrossTreeTable.columns;
|
|
117
87
|
return /*#__PURE__*/_react.default.createElement(BaseTableComponent, (0, _extends2.default)({
|
|
118
88
|
ref: baseTableRef
|
|
119
89
|
}, others, {
|
|
@@ -130,13 +100,11 @@ var CrossTreeTable = /*#__PURE__*/function (_React$Component) {
|
|
|
130
100
|
openKeys: nextProps.openKeys
|
|
131
101
|
};
|
|
132
102
|
}
|
|
133
|
-
|
|
134
103
|
return null;
|
|
135
104
|
}
|
|
136
105
|
}]);
|
|
137
106
|
return CrossTreeTable;
|
|
138
107
|
}(_react.default.Component);
|
|
139
|
-
|
|
140
108
|
exports.default = CrossTreeTable;
|
|
141
109
|
CrossTreeTable.defaultProps = {
|
|
142
110
|
defaultOpenKeys: [],
|
|
@@ -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
|
});
|
|
@@ -17,7 +16,5 @@ Object.defineProperty(exports, "buildCrossTreeTable", {
|
|
|
17
16
|
return _buildCrossTreeTable.default;
|
|
18
17
|
}
|
|
19
18
|
});
|
|
20
|
-
|
|
21
19
|
var _crossTreeTable = _interopRequireDefault(require("./cross-tree-table"));
|
|
22
|
-
|
|
23
20
|
var _buildCrossTreeTable = _interopRequireDefault(require("./buildCrossTreeTable"));
|
|
@@ -1,41 +1,32 @@
|
|
|
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 = buildDrillTree;
|
|
9
|
-
|
|
10
8
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
11
|
-
|
|
12
9
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
13
|
-
|
|
14
10
|
var _utils = require("../../utils");
|
|
15
|
-
|
|
16
11
|
var _others = require("../../utils/others");
|
|
17
|
-
|
|
18
12
|
var _simpleEncode = _interopRequireDefault(require("./simpleEncode"));
|
|
19
|
-
|
|
20
13
|
/** 根据指定的 code 序列计算下钻树 */
|
|
21
14
|
function buildDrillTree(data, codes) {
|
|
22
15
|
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
_ref$encode = _ref.encode,
|
|
17
|
+
encode = _ref$encode === void 0 ? _simpleEncode.default : _ref$encode,
|
|
18
|
+
_ref$totalValue = _ref.totalValue,
|
|
19
|
+
totalValue = _ref$totalValue === void 0 ? '总计' : _ref$totalValue,
|
|
20
|
+
_ref$includeTopWrappe = _ref.includeTopWrapper,
|
|
21
|
+
includeTopWrapper = _ref$includeTopWrappe === void 0 ? false : _ref$includeTopWrappe,
|
|
22
|
+
_ref$isExpand = _ref.isExpand,
|
|
23
|
+
isExpand = _ref$isExpand === void 0 ? (0, _others.always)(true) : _ref$isExpand,
|
|
24
|
+
_ref$enforceExpandTot = _ref.enforceExpandTotalNode,
|
|
25
|
+
enforceExpandTotalNode = _ref$enforceExpandTot === void 0 ? true : _ref$enforceExpandTot;
|
|
34
26
|
var emptyPath = [];
|
|
35
27
|
var totalKey = encode(emptyPath);
|
|
36
28
|
var array;
|
|
37
29
|
var hasChild = false;
|
|
38
|
-
|
|
39
30
|
if (codes.length === 0) {
|
|
40
31
|
array = [];
|
|
41
32
|
} else if (!enforceExpandTotalNode && !isExpand(totalKey)) {
|
|
@@ -44,7 +35,6 @@ function buildDrillTree(data, codes) {
|
|
|
44
35
|
} else {
|
|
45
36
|
array = dfs(data, []);
|
|
46
37
|
}
|
|
47
|
-
|
|
48
38
|
if (includeTopWrapper) {
|
|
49
39
|
var rootNode = {
|
|
50
40
|
key: totalKey,
|
|
@@ -52,14 +42,11 @@ function buildDrillTree(data, codes) {
|
|
|
52
42
|
path: emptyPath,
|
|
53
43
|
children: array
|
|
54
44
|
};
|
|
55
|
-
|
|
56
45
|
if (hasChild) {
|
|
57
46
|
rootNode.hasChild = hasChild;
|
|
58
47
|
}
|
|
59
|
-
|
|
60
48
|
return [rootNode];
|
|
61
49
|
}
|
|
62
|
-
|
|
63
50
|
if (includeTopWrapper) {
|
|
64
51
|
return [{
|
|
65
52
|
key: totalKey,
|
|
@@ -68,9 +55,7 @@ function buildDrillTree(data, codes) {
|
|
|
68
55
|
children: array
|
|
69
56
|
}];
|
|
70
57
|
}
|
|
71
|
-
|
|
72
58
|
return array;
|
|
73
|
-
|
|
74
59
|
function dfs(slice, path) {
|
|
75
60
|
var depth = path.length;
|
|
76
61
|
var array = [];
|
|
@@ -78,7 +63,6 @@ function buildDrillTree(data, codes) {
|
|
|
78
63
|
var groups = (0, _utils.groupBy)(slice, function (row) {
|
|
79
64
|
return row[code];
|
|
80
65
|
});
|
|
81
|
-
|
|
82
66
|
for (var _i = 0, _Object$keys = (0, _keys.default)(groups); _i < _Object$keys.length; _i++) {
|
|
83
67
|
var groupKey = _Object$keys[_i];
|
|
84
68
|
path.push(groupKey);
|
|
@@ -89,7 +73,6 @@ function buildDrillTree(data, codes) {
|
|
|
89
73
|
};
|
|
90
74
|
array.push(node);
|
|
91
75
|
var group = groups[groupKey];
|
|
92
|
-
|
|
93
76
|
if (group.length > 0 && depth < codes.length - 1) {
|
|
94
77
|
if (isExpand(node.key)) {
|
|
95
78
|
node.children = dfs(group, path);
|
|
@@ -97,10 +80,8 @@ function buildDrillTree(data, codes) {
|
|
|
97
80
|
node.hasChild = true;
|
|
98
81
|
}
|
|
99
82
|
}
|
|
100
|
-
|
|
101
83
|
path.pop();
|
|
102
84
|
}
|
|
103
|
-
|
|
104
85
|
return array;
|
|
105
86
|
}
|
|
106
87
|
}
|