@kdcloudjs/table 1.2.1-canary.6 → 1.2.2-canary.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +568 -568
- package/README.md +111 -111
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +5480 -6087
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +18 -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 +36 -101
- package/es/_utils/hooks.js +21 -45
- 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 +81 -144
- 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 +11 -50
- 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 +25 -75
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +6 -6
- package/es/table/base/globalStyleComponent.d.ts +4 -0
- package/es/table/base/globalStyleComponent.js +24 -0
- package/es/table/base/header.js +21 -76
- package/es/table/base/helpers/SpanManager.js +4 -11
- package/es/table/base/helpers/TableDOMUtils.js +9 -34
- 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 +13 -45
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +17 -39
- package/es/table/base/loading.js +8 -10
- package/es/table/base/renderTemplates.js +42 -60
- package/es/table/base/styles.d.ts +10 -0
- package/es/table/base/styles.js +17 -16
- package/es/table/base/table.js +113 -201
- package/es/table/base/utils.js +17 -57
- package/es/table/common-views.js +0 -7
- package/es/table/interfaces.d.ts +38 -0
- package/es/table/internals.js +0 -13
- package/es/table/pipeline/const.d.ts +3 -0
- package/es/table/pipeline/const.js +3 -0
- 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.js +41 -97
- package/es/table/pipeline/features/columnFilter.js +12 -51
- 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 +13 -39
- package/es/table/pipeline/features/contextMenu.js +22 -95
- package/es/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
- package/es/table/pipeline/features/featureApi/RowDragApi.js +66 -0
- package/es/table/pipeline/features/featureApi/utils.d.ts +2 -0
- package/es/table/pipeline/features/featureApi/utils.js +10 -0
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +27 -51
- 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 +73 -152
- package/es/table/pipeline/features/rowDetail.js +4 -43
- package/es/table/pipeline/features/rowDrag.d.ts +10 -12
- package/es/table/pipeline/features/rowDrag.js +491 -236
- package/es/table/pipeline/features/rowGrouping.js +4 -37
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +38 -96
- package/es/table/pipeline/features/tips.js +4 -10
- package/es/table/pipeline/features/treeMode.d.ts +1 -0
- package/es/table/pipeline/features/treeMode.js +38 -57
- package/es/table/pipeline/features/treeSelect.js +2 -28
- package/es/table/pipeline/pipeline.d.ts +3 -0
- package/es/table/pipeline/pipeline.js +35 -54
- package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
- package/es/table/pivot/cross-table/cross-table.js +23 -31
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +36 -61
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +34 -74
- package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
- 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 +13 -35
- 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 +18 -42
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.js +42 -101
- package/es/table/transforms/tips.js +5 -10
- package/es/table/transforms/treeMode.js +36 -77
- 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/browserType.js +12 -19
- package/es/table/utils/buildTree.js +7 -22
- package/es/table/utils/collectNodes.js +4 -13
- 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 +7 -43
- package/es/table/utils/getTreeDepth.js +4 -12
- package/es/table/utils/groupBy.js +4 -13
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +4 -15
- package/es/table/utils/mergeCellProps.js +6 -14
- package/es/table/utils/others.js +6 -19
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +5 -18
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +8 -30
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
- package/es/table/utils/uiDegrade.js +0 -5
- package/lib/_utils/arrayUtil.js +2 -8
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +36 -105
- package/lib/_utils/hooks.js +21 -56
- package/lib/_utils/index.js +2 -9
- 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 +3 -11
- package/lib/_utils/usePopper.js +86 -173
- package/lib/config-provider/ConfigContext.js +2 -6
- package/lib/config-provider/compDefaultProps.js +1 -3
- package/lib/config-provider/configProvider.js +6 -22
- package/lib/config-provider/defaultConfig.js +1 -7
- package/lib/config-provider/index.js +1 -8
- package/lib/index.js +2 -8
- package/lib/locale/index.js +3 -11
- package/lib/locale/locale.js +15 -71
- package/lib/locale/zh-CN.js +1 -2
- 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 +25 -86
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +8 -20
- package/lib/table/base/globalStyleComponent.d.ts +4 -0
- package/lib/table/base/globalStyleComponent.js +35 -0
- package/lib/table/base/header.js +21 -86
- package/lib/table/base/helpers/SpanManager.js +6 -16
- package/lib/table/base/helpers/TableDOMUtils.js +9 -37
- 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 +15 -65
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +17 -49
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +8 -14
- package/lib/table/base/renderTemplates.js +45 -76
- package/lib/table/base/styles.d.ts +10 -0
- package/lib/table/base/styles.js +24 -42
- package/lib/table/base/table.js +125 -245
- package/lib/table/base/utils.js +27 -109
- package/lib/table/common-views.js +4 -24
- package/lib/table/index.js +0 -13
- package/lib/table/interfaces.d.ts +38 -0
- package/lib/table/internals.js +2 -17
- package/lib/table/pipeline/const.d.ts +3 -0
- package/lib/table/pipeline/const.js +9 -0
- package/lib/table/pipeline/features/autoFill.js +14 -53
- 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 +6 -35
- package/lib/table/pipeline/features/columnDrag.js +41 -103
- package/lib/table/pipeline/features/columnFilter.js +12 -65
- 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 +18 -63
- package/lib/table/pipeline/features/contextMenu.js +24 -121
- package/lib/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
- package/lib/table/pipeline/features/featureApi/RowDragApi.js +72 -0
- package/lib/table/pipeline/features/featureApi/utils.d.ts +2 -0
- package/lib/table/pipeline/features/featureApi/utils.js +17 -0
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +17 -52
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +30 -77
- package/lib/table/pipeline/features/filter/FilterPanel.js +14 -44
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +2 -10
- package/lib/table/pipeline/features/footerDataSource.js +1 -12
- 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 +75 -173
- package/lib/table/pipeline/features/rowDetail.js +4 -67
- package/lib/table/pipeline/features/rowDrag.d.ts +10 -12
- package/lib/table/pipeline/features/rowDrag.js +494 -252
- package/lib/table/pipeline/features/rowGrouping.js +4 -57
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +37 -115
- package/lib/table/pipeline/features/tips.js +4 -19
- package/lib/table/pipeline/features/treeMode.d.ts +1 -0
- package/lib/table/pipeline/features/treeMode.js +40 -80
- package/lib/table/pipeline/features/treeSelect.js +2 -36
- package/lib/table/pipeline/index.js +2 -10
- package/lib/table/pipeline/pipeline.d.ts +3 -0
- package/lib/table/pipeline/pipeline.js +36 -65
- package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
- package/lib/table/pivot/cross-table/constants.js +1 -2
- package/lib/table/pivot/cross-table/cross-table.js +25 -42
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +37 -73
- 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 +34 -85
- package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
- 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 +15 -58
- 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 +20 -63
- 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 +44 -127
- package/lib/table/transforms/tips.js +5 -20
- package/lib/table/transforms/treeMode.js +38 -106
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +2 -10
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/browserType.js +14 -23
- package/lib/table/utils/buildTree.js +7 -33
- package/lib/table/utils/collectNodes.js +4 -18
- package/lib/table/utils/console.js +2 -19
- package/lib/table/utils/copyToClipboard.js +1 -8
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +7 -52
- package/lib/table/utils/getTreeDepth.js +4 -17
- package/lib/table/utils/groupBy.js +4 -17
- package/lib/table/utils/index.js +0 -22
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/keyCode.js +1 -2
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +4 -24
- package/lib/table/utils/mergeCellProps.js +6 -18
- package/lib/table/utils/others.js +7 -36
- package/lib/table/utils/proto.js +3 -35
- package/lib/table/utils/selectColumn.js +2 -5
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +5 -25
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +10 -41
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
- package/lib/table/utils/uiDegrade.js +1 -8
- package/package.json +218 -218
|
@@ -1,64 +1,49 @@
|
|
|
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
|
-
for (var p in s) {
|
|
26
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
27
|
-
}
|
|
28
|
-
|
|
16
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
29
17
|
if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
|
|
30
18
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
31
19
|
}
|
|
32
20
|
return t;
|
|
33
21
|
};
|
|
34
|
-
|
|
35
|
-
var CrossTable = function CrossTable(_a) {
|
|
22
|
+
var CrossTable = exports.default = function CrossTable(_a) {
|
|
36
23
|
var _a$BaseTableComponent = _a.BaseTableComponent,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
24
|
+
BaseTableComponent = _a$BaseTableComponent === void 0 ? _base.Table : _a$BaseTableComponent,
|
|
25
|
+
leftTree = _a.leftTree,
|
|
26
|
+
leftTotalNode = _a.leftTotalNode,
|
|
27
|
+
topTree = _a.topTree,
|
|
28
|
+
topTotalNode = _a.topTotalNode,
|
|
29
|
+
getValue = _a.getValue,
|
|
30
|
+
getCellProps = _a.getCellProps,
|
|
31
|
+
leftMetaColumns = _a.leftMetaColumns,
|
|
32
|
+
render = _a.render,
|
|
33
|
+
baseTableRef = _a.baseTableRef,
|
|
34
|
+
others = __rest(_a, ["BaseTableComponent", "leftTree", "leftTotalNode", "topTree", "topTotalNode", "getValue", "getCellProps", "leftMetaColumns", "render", "baseTableRef"]);
|
|
49
35
|
var _buildCrossTable = (0, _buildCrossTable2.default)({
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
36
|
+
leftTree: leftTree,
|
|
37
|
+
topTree: topTree,
|
|
38
|
+
leftTotalNode: leftTotalNode,
|
|
39
|
+
topTotalNode: topTotalNode,
|
|
40
|
+
getValue: getValue,
|
|
41
|
+
getCellProps: getCellProps,
|
|
42
|
+
render: render,
|
|
43
|
+
leftMetaColumns: leftMetaColumns
|
|
44
|
+
}),
|
|
45
|
+
dataSource = _buildCrossTable.dataSource,
|
|
46
|
+
columns = _buildCrossTable.columns;
|
|
62
47
|
return /*#__PURE__*/_react.default.createElement(BaseTableComponent, (0, _extends2.default)({
|
|
63
48
|
ref: baseTableRef
|
|
64
49
|
}, others, {
|
|
@@ -66,6 +51,4 @@ var CrossTable = function CrossTable(_a) {
|
|
|
66
51
|
dataSource: dataSource,
|
|
67
52
|
columns: columns
|
|
68
53
|
}));
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
exports.default = CrossTable;
|
|
54
|
+
};
|
|
@@ -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,45 @@
|
|
|
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
|
-
function
|
|
37
|
-
|
|
38
|
-
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
|
-
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
|
-
|
|
21
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
22
|
+
function _unsupportedIterableToArray(r, a) { if (r) { var _context4; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty(_context4 = {}.toString.call(r)).call(_context4, 8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
23
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
42
24
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
43
25
|
var t = {};
|
|
44
|
-
|
|
45
|
-
for (var p in s) {
|
|
46
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
47
|
-
}
|
|
48
|
-
|
|
26
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
49
27
|
if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
|
|
50
28
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
51
29
|
}
|
|
52
30
|
return t;
|
|
53
31
|
};
|
|
54
|
-
|
|
55
32
|
function buildCrossTreeTable(options) {
|
|
56
33
|
var _a, _b;
|
|
57
|
-
|
|
58
34
|
var primaryColumn = options.primaryColumn,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
35
|
+
openKeys = options.openKeys,
|
|
36
|
+
onChangeOpenKeys = options.onChangeOpenKeys,
|
|
37
|
+
indentSize = options.indentSize,
|
|
38
|
+
_options$isLeafNode = options.isLeafNode,
|
|
39
|
+
isLeafNodeOpt = _options$isLeafNode === void 0 ? _utils.isLeafNode : _options$isLeafNode;
|
|
40
|
+
// 有的时候 leftTree/topTree 是通过 node.children 传入的
|
|
64
41
|
// 此时 leftTree/topTree 等于 null 和等于空数组是等价的
|
|
65
42
|
// 故在这里兼容 leftTree/topTree 为空的情况
|
|
66
|
-
|
|
67
43
|
var leftTree = (_a = options.leftTree) !== null && _a !== void 0 ? _a : [];
|
|
68
44
|
var topTree = (_b = options.topTree) !== null && _b !== void 0 ? _b : [];
|
|
69
45
|
var pipeline = new _pipeline.TablePipeline({
|
|
@@ -91,10 +67,8 @@ function buildCrossTreeTable(options) {
|
|
|
91
67
|
columns: pipeline.getColumns()
|
|
92
68
|
};
|
|
93
69
|
/** 获取表格的列配置 */
|
|
94
|
-
|
|
95
70
|
function getColumns() {
|
|
96
71
|
var _context;
|
|
97
|
-
|
|
98
72
|
return (0, _concat.default)(_context = [(0, _extends2.default)((0, _extends2.default)({}, primaryColumn), {
|
|
99
73
|
getValue: function getValue(row) {
|
|
100
74
|
return row.node.value;
|
|
@@ -108,35 +82,28 @@ function buildCrossTreeTable(options) {
|
|
|
108
82
|
if (primaryColumn.render) {
|
|
109
83
|
return primaryColumn.render(row.node, row.nodes.length - 1);
|
|
110
84
|
}
|
|
111
|
-
|
|
112
85
|
return value;
|
|
113
86
|
}
|
|
114
87
|
})]).call(_context, (0, _toConsumableArray2.default)(getDataPartColumns()));
|
|
115
88
|
/** 获取表格数据部分的列配置 */
|
|
116
|
-
|
|
117
89
|
function getDataPartColumns() {
|
|
118
90
|
return dfs(topTree, {
|
|
119
91
|
depth: 0
|
|
120
92
|
});
|
|
121
|
-
|
|
122
93
|
function dfs(nodes, ctx) {
|
|
123
94
|
var result = [];
|
|
124
|
-
|
|
125
95
|
var _iterator = _createForOfIteratorHelper(nodes),
|
|
126
|
-
|
|
127
|
-
|
|
96
|
+
_step;
|
|
128
97
|
try {
|
|
129
98
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
130
99
|
var node = _step.value;
|
|
131
|
-
|
|
132
100
|
if ((0, _utils.isLeafNode)(node)) {
|
|
133
101
|
result.push(getDataColumn(node, ctx.depth));
|
|
134
102
|
} else {
|
|
135
103
|
var key = node.key,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
104
|
+
value = node.value,
|
|
105
|
+
children = node.children,
|
|
106
|
+
others = __rest(node, ["key", "value", "children"]);
|
|
140
107
|
result.push((0, _extends2.default)((0, _extends2.default)({}, others), {
|
|
141
108
|
name: value,
|
|
142
109
|
children: dfs(children, {
|
|
@@ -150,23 +117,19 @@ function buildCrossTreeTable(options) {
|
|
|
150
117
|
} finally {
|
|
151
118
|
_iterator.f();
|
|
152
119
|
}
|
|
153
|
-
|
|
154
120
|
return result;
|
|
155
121
|
}
|
|
156
122
|
}
|
|
157
|
-
|
|
158
123
|
function getDataColumn(topNode, topDepth) {
|
|
159
124
|
var columnGetValue = function columnGetValue(row) {
|
|
160
125
|
var leftDepth = row.nodes.length - 1;
|
|
161
126
|
var leftNode = row.node;
|
|
162
127
|
return options.getValue(leftNode, topNode, leftDepth, topDepth);
|
|
163
128
|
};
|
|
164
|
-
|
|
165
129
|
var key = topNode.key,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
130
|
+
value = topNode.value,
|
|
131
|
+
children = topNode.children,
|
|
132
|
+
others = __rest(topNode, ["key", "value", "children"]);
|
|
170
133
|
return (0, _extends2.default)((0, _extends2.default)({}, others), {
|
|
171
134
|
getValue: columnGetValue,
|
|
172
135
|
name: value,
|
|
@@ -177,7 +140,6 @@ function buildCrossTreeTable(options) {
|
|
|
177
140
|
var leftNode = row.node;
|
|
178
141
|
return options.render(value, leftNode, topNode, leftDepth, topDepth);
|
|
179
142
|
}
|
|
180
|
-
|
|
181
143
|
return value;
|
|
182
144
|
},
|
|
183
145
|
getCellProps: function getCellProps(value, row) {
|
|
@@ -190,39 +152,30 @@ function buildCrossTreeTable(options) {
|
|
|
190
152
|
});
|
|
191
153
|
}
|
|
192
154
|
}
|
|
193
|
-
|
|
194
155
|
function getDataSource() {
|
|
195
156
|
return dfs(leftTree, {
|
|
196
157
|
nodes: []
|
|
197
158
|
});
|
|
198
|
-
|
|
199
159
|
function dfs(nodes, ctx) {
|
|
200
160
|
var result = [];
|
|
201
|
-
|
|
202
161
|
var _iterator2 = _createForOfIteratorHelper(nodes),
|
|
203
|
-
|
|
204
|
-
|
|
162
|
+
_step2;
|
|
205
163
|
try {
|
|
206
164
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
207
165
|
var node = _step2.value;
|
|
208
|
-
|
|
209
166
|
if (node.hidden) {
|
|
210
167
|
// 跳过被隐藏的节点
|
|
211
168
|
continue;
|
|
212
169
|
}
|
|
213
|
-
|
|
214
170
|
if ((0, _utils.isLeafNode)(node)) {
|
|
215
|
-
var _context2
|
|
216
|
-
|
|
217
|
-
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));
|
|
171
|
+
var _context2;
|
|
172
|
+
result.push((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _crossTable.ROW_KEY, node.key), "node", node), "nodes", (0, _concat.default)(_context2 = []).call(_context2, (0, _toConsumableArray2.default)(ctx.nodes), [node])));
|
|
218
173
|
} else {
|
|
219
|
-
var _context3
|
|
220
|
-
|
|
174
|
+
var _context3;
|
|
221
175
|
var _nodes = (0, _concat.default)(_context3 = []).call(_context3, (0, _toConsumableArray2.default)(ctx.nodes), [node]);
|
|
222
|
-
|
|
223
176
|
ctx.nodes.push(node);
|
|
224
177
|
var children = dfs(node.children, ctx);
|
|
225
|
-
result.push((
|
|
178
|
+
result.push((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _crossTable.ROW_KEY, node.key), "node", node), "nodes", _nodes), "children", children));
|
|
226
179
|
ctx.nodes.pop();
|
|
227
180
|
}
|
|
228
181
|
}
|
|
@@ -231,7 +184,6 @@ function buildCrossTreeTable(options) {
|
|
|
231
184
|
} finally {
|
|
232
185
|
_iterator2.f();
|
|
233
186
|
}
|
|
234
|
-
|
|
235
187
|
return result;
|
|
236
188
|
}
|
|
237
189
|
}
|
|
@@ -1,119 +1,87 @@
|
|
|
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
|
-
|
|
10
|
+
var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/readOnlyError"));
|
|
14
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
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
|
-
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
|
|
24
16
|
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
25
|
-
|
|
26
17
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
18
|
var _rxjs = require("rxjs");
|
|
29
|
-
|
|
30
19
|
var _base = require("../../base");
|
|
31
|
-
|
|
32
20
|
var _crossTable = require("../cross-table");
|
|
33
|
-
|
|
34
21
|
var _buildCrossTreeTable2 = _interopRequireDefault(require("./buildCrossTreeTable"));
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
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
|
-
|
|
22
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
23
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
40
24
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
41
25
|
var t = {};
|
|
42
|
-
|
|
43
|
-
for (var p in s) {
|
|
44
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
45
|
-
}
|
|
46
|
-
|
|
26
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
47
27
|
if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
|
|
48
28
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
49
29
|
}
|
|
50
30
|
return t;
|
|
51
31
|
};
|
|
52
|
-
|
|
53
|
-
var CrossTreeTable = /*#__PURE__*/function (_React$Component) {
|
|
54
|
-
(0, _inherits2.default)(CrossTreeTable, _React$Component);
|
|
55
|
-
|
|
56
|
-
var _super = _createSuper(CrossTreeTable);
|
|
57
|
-
|
|
32
|
+
var CrossTreeTable = exports.default = /*#__PURE__*/function (_React$Component) {
|
|
58
33
|
function CrossTreeTable(props) {
|
|
59
34
|
var _this;
|
|
60
|
-
|
|
61
35
|
(0, _classCallCheck2.default)(this, CrossTreeTable);
|
|
62
|
-
_this =
|
|
63
|
-
|
|
36
|
+
_this = _callSuper(this, CrossTreeTable, [props]);
|
|
64
37
|
_this.onChangeOpenKeys = function (nextOpenKeys) {
|
|
65
38
|
_this.props.onChangeOpenKeys(nextOpenKeys);
|
|
66
|
-
|
|
67
39
|
if (!('openKeys' in _this.props)) {
|
|
68
40
|
_this.setState({
|
|
69
41
|
openKeys: nextOpenKeys
|
|
70
42
|
});
|
|
71
43
|
}
|
|
72
44
|
};
|
|
73
|
-
|
|
74
45
|
_this.state = {
|
|
75
46
|
openKeys: props.defaultOpenKeys
|
|
76
47
|
};
|
|
77
48
|
return _this;
|
|
78
49
|
}
|
|
79
|
-
|
|
80
|
-
(0, _createClass2.default)(CrossTreeTable, [{
|
|
50
|
+
(0, _inherits2.default)(CrossTreeTable, _React$Component);
|
|
51
|
+
return (0, _createClass2.default)(CrossTreeTable, [{
|
|
81
52
|
key: "render",
|
|
82
53
|
value: function render() {
|
|
83
54
|
var _a = this.props,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
55
|
+
_a$BaseTableComponent = _a.BaseTableComponent,
|
|
56
|
+
BaseTableComponent = _a$BaseTableComponent === void 0 ? _base.Table : _a$BaseTableComponent,
|
|
57
|
+
leftTree = _a.leftTree,
|
|
58
|
+
topTree = _a.topTree,
|
|
59
|
+
getValue = _a.getValue,
|
|
60
|
+
getCellProps = _a.getCellProps,
|
|
61
|
+
primaryColumn = _a.primaryColumn,
|
|
62
|
+
render = _a.render,
|
|
63
|
+
openKeysProp = _a.openKeys,
|
|
64
|
+
defaultOpenKeys = _a.defaultOpenKeys,
|
|
65
|
+
onChangeOpenKeys = _a.onChangeOpenKeys,
|
|
66
|
+
indentSize = _a.indentSize,
|
|
67
|
+
isLeafNode = _a.isLeafNode,
|
|
68
|
+
baseTableRef = _a.baseTableRef,
|
|
69
|
+
others = __rest(_a, ["BaseTableComponent", "leftTree", "topTree", "getValue", "getCellProps", "primaryColumn", "render", "openKeys", "defaultOpenKeys", "onChangeOpenKeys", "indentSize", "isLeafNode", "baseTableRef"]);
|
|
100
70
|
var openKeys = openKeysProp !== null && openKeysProp !== void 0 ? openKeysProp : this.state.openKeys;
|
|
101
|
-
|
|
102
71
|
var _buildCrossTreeTable = (0, _buildCrossTreeTable2.default)({
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
72
|
+
leftTree: leftTree,
|
|
73
|
+
topTree: topTree,
|
|
74
|
+
getValue: getValue,
|
|
75
|
+
getCellProps: getCellProps,
|
|
76
|
+
render: render,
|
|
77
|
+
primaryColumn: primaryColumn,
|
|
78
|
+
openKeys: openKeys,
|
|
79
|
+
onChangeOpenKeys: this.onChangeOpenKeys,
|
|
80
|
+
indentSize: indentSize,
|
|
81
|
+
isLeafNode: isLeafNode
|
|
82
|
+
}),
|
|
83
|
+
dataSource = _buildCrossTreeTable.dataSource,
|
|
84
|
+
columns = _buildCrossTreeTable.columns;
|
|
117
85
|
return /*#__PURE__*/_react.default.createElement(BaseTableComponent, (0, _extends2.default)({
|
|
118
86
|
ref: baseTableRef
|
|
119
87
|
}, others, {
|
|
@@ -130,14 +98,10 @@ var CrossTreeTable = /*#__PURE__*/function (_React$Component) {
|
|
|
130
98
|
openKeys: nextProps.openKeys
|
|
131
99
|
};
|
|
132
100
|
}
|
|
133
|
-
|
|
134
101
|
return null;
|
|
135
102
|
}
|
|
136
103
|
}]);
|
|
137
|
-
return CrossTreeTable;
|
|
138
104
|
}(_react.default.Component);
|
|
139
|
-
|
|
140
|
-
exports.default = CrossTreeTable;
|
|
141
105
|
CrossTreeTable.defaultProps = {
|
|
142
106
|
defaultOpenKeys: [],
|
|
143
107
|
onChangeOpenKeys: _rxjs.noop
|
|
@@ -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
|
}
|