@visactor/vtable 0.25.4 → 0.26.0-alpha.0
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/cjs/PivotChart.d.ts +9 -0
- package/cjs/PivotChart.js +90 -28
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.d.ts +5 -2
- package/cjs/PivotTable.js +186 -152
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +20 -15
- package/cjs/dataset/dataset.js +85 -59
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/dataset/statistics-helper.d.ts +13 -2
- package/cjs/dataset/statistics-helper.js +22 -27
- package/cjs/dataset/statistics-helper.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/chart-helper/get-chart-spec.d.ts +2 -1
- package/cjs/layout/chart-helper/get-chart-spec.js +3 -3
- package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/cjs/layout/layout-helper.d.ts +12 -0
- package/cjs/layout/layout-helper.js +52 -4
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/pivot-header-layout.d.ts +4 -3
- package/cjs/layout/pivot-header-layout.js +36 -46
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/tree-helper.d.ts +1 -0
- package/cjs/layout/tree-helper.js +12 -7
- package/cjs/layout/tree-helper.js.map +1 -1
- package/cjs/state/cell-move/adjust-header.js +1 -1
- package/cjs/state/cell-move/adjust-header.js.map +1 -1
- package/cjs/state/resize/update-resize-column.js +1 -1
- package/cjs/state/resize/update-resize-column.js.map +1 -1
- package/cjs/state/resize/update-resize-row.js +5 -4
- package/cjs/state/resize/update-resize-row.js.map +1 -1
- package/cjs/themes/ARCO.js +1 -1
- package/cjs/themes/BRIGHT.js +1 -1
- package/cjs/themes/DARK.js +1 -1
- package/cjs/themes/DEFAULT.js +1 -1
- package/cjs/themes/SIMPLIFY.js +1 -1
- package/cjs/tools/LimitPromiseQueue.js +1 -1
- package/cjs/tools/NumberMap.js +1 -1
- package/cjs/tools/Rect.js +1 -1
- package/cjs/tools/calc.js +1 -1
- package/cjs/tools/debounce.js +1 -1
- package/cjs/tools/get-data-path/create-dataset.d.ts +9 -1
- package/cjs/tools/get-data-path/create-dataset.js +19 -8
- package/cjs/tools/get-data-path/create-dataset.js.map +1 -1
- package/cjs/tools/get-data-path/index.js +12 -3
- package/cjs/tools/get-data-path/index.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +6 -2
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/common.d.ts +2 -0
- package/cjs/ts-types/common.js.map +1 -1
- package/cjs/ts-types/menu.d.ts +1 -1
- package/cjs/ts-types/menu.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +1 -0
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +882 -546
- package/dist/vtable.min.js +2 -2
- package/es/PivotChart.d.ts +9 -0
- package/es/PivotChart.js +97 -29
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.d.ts +5 -2
- package/es/PivotTable.js +188 -148
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/dataset/dataset.d.ts +20 -15
- package/es/dataset/dataset.js +85 -59
- package/es/dataset/dataset.js.map +1 -1
- package/es/dataset/statistics-helper.d.ts +13 -2
- package/es/dataset/statistics-helper.js +22 -27
- package/es/dataset/statistics-helper.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/chart-helper/get-chart-spec.d.ts +2 -1
- package/es/layout/chart-helper/get-chart-spec.js +3 -3
- package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/es/layout/layout-helper.d.ts +12 -0
- package/es/layout/layout-helper.js +50 -0
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/pivot-header-layout.d.ts +4 -3
- package/es/layout/pivot-header-layout.js +34 -45
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/tree-helper.d.ts +1 -0
- package/es/layout/tree-helper.js +12 -7
- package/es/layout/tree-helper.js.map +1 -1
- package/es/state/cell-move/adjust-header.js +1 -1
- package/es/state/cell-move/adjust-header.js.map +1 -1
- package/es/state/resize/update-resize-column.js +1 -1
- package/es/state/resize/update-resize-column.js.map +1 -1
- package/es/state/resize/update-resize-row.js +5 -4
- package/es/state/resize/update-resize-row.js.map +1 -1
- package/es/themes/ARCO.js +1 -1
- package/es/themes/BRIGHT.js +1 -1
- package/es/themes/DARK.js +1 -1
- package/es/themes/DEFAULT.js +1 -1
- package/es/themes/SIMPLIFY.js +1 -1
- package/es/tools/LimitPromiseQueue.js +1 -1
- package/es/tools/NumberMap.js +1 -1
- package/es/tools/Rect.js +1 -1
- package/es/tools/calc.js +1 -1
- package/es/tools/debounce.js +1 -1
- package/es/tools/get-data-path/create-dataset.d.ts +9 -1
- package/es/tools/get-data-path/create-dataset.js +20 -7
- package/es/tools/get-data-path/create-dataset.js.map +1 -1
- package/es/tools/get-data-path/index.js +15 -2
- package/es/tools/get-data-path/index.js.map +1 -1
- package/es/ts-types/base-table.d.ts +6 -2
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/common.d.ts +2 -0
- package/es/ts-types/common.js.map +1 -1
- package/es/ts-types/menu.d.ts +1 -1
- package/es/ts-types/menu.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +1 -0
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.parseColKeyRowKeyForPivotTable = exports.checkHasTreeDefine = exports.checkHasAggregationOnBottom = exports.checkHasAggregationOnTop = exports.checkHasAggregation = void 0;
|
|
6
|
+
|
|
7
|
+
const global_1 = require("../tools/global"), ts_types_1 = require("../ts-types"), tree_helper_1 = require("./tree-helper");
|
|
8
|
+
|
|
3
9
|
function checkHasAggregation(layoutMap) {
|
|
4
10
|
const columnObjects = layoutMap.columnObjects;
|
|
5
11
|
for (let i = 0; i < columnObjects.length; i++) {
|
|
@@ -39,9 +45,51 @@ function checkHasTreeDefine(layoutMap) {
|
|
|
39
45
|
return !1;
|
|
40
46
|
}
|
|
41
47
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
function parseColKeyRowKeyForPivotTable(table, options) {
|
|
49
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
50
|
+
let columnDimensionTree, rowDimensionTree, isNeedResetColumnDimensionTree = !1, isNeedResetRowDimensionTree = !1;
|
|
51
|
+
options.columnTree && (columnDimensionTree = new tree_helper_1.DimensionTree(null !== (_a = table.internalProps.columnTree) && void 0 !== _a ? _a : [], table.layoutNodeId),
|
|
52
|
+
!1 !== table.options.indicatorsAsCol && !columnDimensionTree.dimensionKeys.contain(global_1.IndicatorDimensionKeyPlaceholder) && (null === (_b = options.indicators) || void 0 === _b ? void 0 : _b.length) >= 1 && (isNeedResetColumnDimensionTree = !0)),
|
|
53
|
+
options.rowTree && (rowDimensionTree = new tree_helper_1.DimensionTree(null !== (_c = table.internalProps.rowTree) && void 0 !== _c ? _c : [], table.layoutNodeId, table.options.rowHierarchyType, "tree" === table.options.rowHierarchyType ? null !== (_d = table.options.rowExpandLevel) && void 0 !== _d ? _d : 1 : void 0),
|
|
54
|
+
!1 === table.options.indicatorsAsCol && !rowDimensionTree.dimensionKeys.contain(global_1.IndicatorDimensionKeyPlaceholder) && (null === (_e = options.indicators) || void 0 === _e ? void 0 : _e.length) >= 1 && (isNeedResetRowDimensionTree = !0));
|
|
55
|
+
const rowKeys = (null === (_f = null == rowDimensionTree ? void 0 : rowDimensionTree.dimensionKeys) || void 0 === _f ? void 0 : _f.count) ? rowDimensionTree.dimensionKeys.valueArr() : null !== (_h = null === (_g = options.rows) || void 0 === _g ? void 0 : _g.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
|
|
56
|
+
keys)), [])) && void 0 !== _h ? _h : [], columnKeys = (null === (_j = null == columnDimensionTree ? void 0 : columnDimensionTree.dimensionKeys) || void 0 === _j ? void 0 : _j.count) ? columnDimensionTree.dimensionKeys.valueArr() : null !== (_l = null === (_k = options.columns) || void 0 === _k ? void 0 : _k.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
|
|
57
|
+
keys)), [])) && void 0 !== _l ? _l : [], indicatorKeys = null !== (_o = null === (_m = options.indicators) || void 0 === _m ? void 0 : _m.reduce(((keys, indicatorObj) => {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
return "string" == typeof indicatorObj ? keys.push(indicatorObj) : (keys.push(indicatorObj.indicatorKey),
|
|
60
|
+
indicatorObj.chartSpec && ((null === (_a = table.internalProps.dataConfig) || void 0 === _a ? void 0 : _a.aggregationRules) ? null === (_b = table.internalProps.dataConfig) || void 0 === _b || _b.aggregationRules.push({
|
|
61
|
+
field: indicatorObj.indicatorKey,
|
|
62
|
+
indicatorKey: indicatorObj.indicatorKey,
|
|
63
|
+
aggregationType: ts_types_1.AggregationType.NONE
|
|
64
|
+
}) : table.internalProps.dataConfig ? table.internalProps.dataConfig.aggregationRules = [ {
|
|
65
|
+
field: indicatorObj.indicatorKey,
|
|
66
|
+
indicatorKey: indicatorObj.indicatorKey,
|
|
67
|
+
aggregationType: ts_types_1.AggregationType.NONE
|
|
68
|
+
} ] : table.internalProps.dataConfig = {
|
|
69
|
+
aggregationRules: [ {
|
|
70
|
+
field: indicatorObj.indicatorKey,
|
|
71
|
+
indicatorKey: indicatorObj.indicatorKey,
|
|
72
|
+
aggregationType: ts_types_1.AggregationType.NONE
|
|
73
|
+
} ]
|
|
74
|
+
})), keys;
|
|
75
|
+
}), [])) && void 0 !== _o ? _o : [];
|
|
76
|
+
return "tree" === options.rowHierarchyType && (null !== (_q = null === (_p = options.extensionRows) || void 0 === _p ? void 0 : _p.length) && void 0 !== _q ? _q : 0) >= 1 && (null === (_r = options.extensionRows) || void 0 === _r || _r.forEach((extensionRow => {
|
|
77
|
+
const extension_rowKeys = [];
|
|
78
|
+
extensionRow.rows.forEach((row => {
|
|
79
|
+
"string" == typeof row ? extension_rowKeys.push(row) : extension_rowKeys.push(row.dimensionKey);
|
|
80
|
+
})), rowKeys.push(...extension_rowKeys);
|
|
81
|
+
}))), {
|
|
82
|
+
rowKeys: rowKeys,
|
|
83
|
+
columnKeys: columnKeys,
|
|
84
|
+
indicatorKeys: indicatorKeys,
|
|
85
|
+
isNeedResetColumnDimensionTree: isNeedResetColumnDimensionTree,
|
|
86
|
+
isNeedResetRowDimensionTree: isNeedResetRowDimensionTree,
|
|
87
|
+
columnDimensionTree: columnDimensionTree,
|
|
88
|
+
rowDimensionTree: rowDimensionTree
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
45
92
|
exports.checkHasAggregation = checkHasAggregation, exports.checkHasAggregationOnTop = checkHasAggregationOnTop,
|
|
46
|
-
exports.checkHasAggregationOnBottom = checkHasAggregationOnBottom, exports.checkHasTreeDefine = checkHasTreeDefine
|
|
93
|
+
exports.checkHasAggregationOnBottom = checkHasAggregationOnBottom, exports.checkHasTreeDefine = checkHasTreeDefine,
|
|
94
|
+
exports.parseColKeyRowKeyForPivotTable = parseColKeyRowKeyForPivotTable;
|
|
47
95
|
//# sourceMappingURL=layout-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":"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","file":"layout-helper.js","sourcesContent":["import type { Aggregation } from '../ts-types';\nimport type { ColumnData } from '../ts-types/list-table/layout-map/api';\nimport type { SimpleHeaderLayoutMap } from './simple-header-layout';\n\nexport function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n return true;\n }\n }\n return false;\n}\n\nexport function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === true).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === true) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === false).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === false) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.define?.tree) {\n return true;\n }\n }\n return false;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":";;;AACA,4CAAmE;AACnE,0CAA8C;AAM9C,+CAA8C;AAE9C,SAAgB,mBAAmB,CAAC,SAAgC;IAClE,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAChC,IAAK,MAAqB,aAArB,MAAM,uBAAN,MAAM,CAAiB,WAAW,EAAE;YACvC,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AATD,kDASC;AAED,SAAgB,wBAAwB,CAAC,SAAgC;IACvE,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAChC,IAAK,MAAqB,aAArB,MAAM,uBAAN,MAAM,CAAiB,WAAW,EAAE;YACvC,IAAI,KAAK,CAAC,OAAO,CAAE,MAAqB,aAArB,MAAM,uBAAN,MAAM,CAAiB,WAAW,CAAC,EAAE;gBACtD,KAAK,GAAG,IAAI,CAAC,GAAG,CACd,KAAK,EACH,MAAqB,CAAC,WAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,MAAM,CAC1G,CAAC;aACH;iBAAM,IAAM,MAAqB,CAAC,WAA2B,CAAC,SAAS,KAAK,IAAI,EAAE;gBACjF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC5B;SACF;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAjBD,4DAiBC;AAED,SAAgB,2BAA2B,CAAC,SAAgC;IAC1E,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAChC,IAAK,MAAqB,aAArB,MAAM,uBAAN,MAAM,CAAiB,WAAW,EAAE;YACvC,IAAI,KAAK,CAAC,OAAO,CAAE,MAAqB,aAArB,MAAM,uBAAN,MAAM,CAAiB,WAAW,CAAC,EAAE;gBACtD,KAAK,GAAG,IAAI,CAAC,GAAG,CACd,KAAK,EACH,MAAqB,CAAC,WAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,MAAM,CAC3G,CAAC;aACH;iBAAM,IAAM,MAAqB,CAAC,WAA2B,CAAC,SAAS,KAAK,KAAK,EAAE;gBAClF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC5B;SACF;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAjBD,kEAiBC;AAED,SAAgB,kBAAkB,CAAC,SAAgC;;IACjE,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,MAAC,MAAqB,aAArB,MAAM,uBAAN,MAAM,CAAiB,MAAM,0CAAE,IAAI,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AATD,gDASC;AAED,SAAgB,8BAA8B,CAAC,KAAiB,EAAE,OAAqC;;IACrG,IAAI,mBAAmB,CAAC;IACxB,IAAI,gBAAgB,CAAC;IACrB,IAAI,8BAA8B,GAAG,KAAK,CAAC;IAC3C,IAAI,2BAA2B,GAAG,KAAK,CAAC;IACxC,IAAI,OAAO,CAAC,UAAU,EAAE;QACtB,mBAAmB,GAAG,IAAI,2BAAa,CACrC,MAAC,KAAK,CAAC,aAAa,CAAC,UAAoC,mCAAI,EAAE,EAC/D,KAAK,CAAC,YAAY,CACnB,CAAC;QACF,IACE,KAAK,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK;YACvC,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,yCAAgC,CAAC;YAC5E,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,MAAM,KAAI,CAAC,EAC/B;YACA,8BAA8B,GAAG,IAAI,CAAC;SACvC;KACF;IACD,IAAI,OAAO,CAAC,OAAO,EAAE;QACnB,gBAAgB,GAAG,IAAI,2BAAa,CAClC,MAAC,KAAK,CAAC,aAAa,CAAC,OAAiC,mCAAI,EAAE,EAC5D,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAC9B,KAAK,CAAC,OAAO,CAAC,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;QACF,IACE,KAAK,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK;YACvC,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,yCAAgC,CAAC;YACzE,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,MAAM,KAAI,CAAC,EAC/B;YACA,2BAA2B,GAAG,IAAI,CAAC;SACpC;KACF;IACD,MAAM,OAAO,GAAG,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,aAAa,0CAAE,KAAK;QACpD,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,EAAE;QAC3C,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,MAAM,CAAC,CAAC,IAAc,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnB;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAChC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,aAAa,0CAAE,KAAK;QAC1D,CAAC,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE;QAC9C,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC,IAAc,EAAE,SAAS,EAAE,EAAE;YACpD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACtB;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aACnC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;IACjB,MAAM,aAAa,GACjB,MAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,MAAM,CAAC,CAAC,IAAc,EAAE,YAAY,EAAE,EAAE;;QAC1D,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACrC,IAAK,YAAsC,CAAC,SAAS,EAAE;gBACrD,IAAI,MAAA,KAAK,CAAC,aAAa,CAAC,UAAU,0CAAE,gBAAgB,EAAE;oBACpD,MAAA,KAAK,CAAC,aAAa,CAAC,UAAU,0CAAE,gBAAgB,CAAC,IAAI,CAAC;wBACpD,KAAK,EAAE,YAAY,CAAC,YAAY;wBAChC,YAAY,EAAE,YAAY,CAAC,YAAY;wBACvC,eAAe,EAAE,0BAAe,CAAC,IAAI;qBACtC,CAAC,CAAC;iBACJ;qBAAM,IAAI,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;oBACzC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,gBAAgB,GAAG;wBAChD;4BACE,KAAK,EAAE,YAAY,CAAC,YAAY;4BAChC,YAAY,EAAE,YAAY,CAAC,YAAY;4BACvC,eAAe,EAAE,0BAAe,CAAC,IAAI;yBACtC;qBACF,CAAC;iBACH;qBAAM;oBACL,KAAK,CAAC,aAAa,CAAC,UAAU,GAAG;wBAC/B,gBAAgB,EAAE;4BAChB;gCACE,KAAK,EAAE,YAAY,CAAC,YAAY;gCAChC,YAAY,EAAE,YAAY,CAAC,YAAY;gCACvC,eAAe,EAAE,0BAAe,CAAC,IAAI;6BACtC;yBACF;qBACF,CAAC;iBACH;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;IACf,IAAI,OAAO,CAAC,gBAAgB,KAAK,MAAM,IAAI,CAAC,MAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,MAAM,mCAAI,CAAC,CAAC,IAAI,CAAC,EAAE;QACpF,MAAA,OAAO,CAAC,aAAa,0CAAE,OAAO,CAAC,YAAY,CAAC,EAAE;YAC5C,MAAM,iBAAiB,GAAa,EAAE,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAC3B,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC7B;qBAAM;oBACL,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;KACJ;IACD,OAAO;QACL,OAAO;QACP,UAAU;QACV,aAAa;QACb,8BAA8B;QAC9B,2BAA2B;QAC3B,mBAAmB;QACnB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AA/GD,wEA+GC","file":"layout-helper.js","sourcesContent":["import type { PivotTable } from '../PivotTable';\nimport { IndicatorDimensionKeyPlaceholder } from '../tools/global';\nimport { AggregationType } from '../ts-types';\nimport type { PivotTableConstructorOptions, Aggregation } from '../ts-types';\nimport type { ColumnData } from '../ts-types/list-table/layout-map/api';\nimport type { IChartColumnIndicator } from '../ts-types/pivot-table/indicator/chart-indicator';\nimport type { SimpleHeaderLayoutMap } from './simple-header-layout';\nimport type { ITreeLayoutHeadNode } from './tree-helper';\nimport { DimensionTree } from './tree-helper';\n\nexport function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n return true;\n }\n }\n return false;\n}\n\nexport function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === true).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === true) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === false).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === false) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.define?.tree) {\n return true;\n }\n }\n return false;\n}\n\nexport function parseColKeyRowKeyForPivotTable(table: PivotTable, options: PivotTableConstructorOptions) {\n let columnDimensionTree;\n let rowDimensionTree;\n let isNeedResetColumnDimensionTree = false;\n let isNeedResetRowDimensionTree = false;\n if (options.columnTree) {\n columnDimensionTree = new DimensionTree(\n (table.internalProps.columnTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId\n );\n if (\n table.options.indicatorsAsCol !== false &&\n !columnDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n options.indicators?.length >= 1\n ) {\n isNeedResetColumnDimensionTree = true;\n }\n }\n if (options.rowTree) {\n rowDimensionTree = new DimensionTree(\n (table.internalProps.rowTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId,\n table.options.rowHierarchyType,\n table.options.rowHierarchyType === 'tree' ? table.options.rowExpandLevel ?? 1 : undefined\n );\n if (\n table.options.indicatorsAsCol === false &&\n !rowDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n options.indicators?.length >= 1\n ) {\n isNeedResetRowDimensionTree = true;\n }\n }\n const rowKeys = rowDimensionTree?.dimensionKeys?.count\n ? rowDimensionTree.dimensionKeys.valueArr()\n : options.rows?.reduce((keys: string[], rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const columnKeys = columnDimensionTree?.dimensionKeys?.count\n ? columnDimensionTree.dimensionKeys.valueArr()\n : options.columns?.reduce((keys: string[], columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const indicatorKeys =\n options.indicators?.reduce((keys: string[], indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n if ((indicatorObj as IChartColumnIndicator).chartSpec) {\n if (table.internalProps.dataConfig?.aggregationRules) {\n table.internalProps.dataConfig?.aggregationRules.push({\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n });\n } else if (table.internalProps.dataConfig) {\n table.internalProps.dataConfig.aggregationRules = [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ];\n } else {\n table.internalProps.dataConfig = {\n aggregationRules: [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ]\n };\n }\n }\n }\n return keys;\n }, []) ?? [];\n if (options.rowHierarchyType === 'tree' && (options.extensionRows?.length ?? 0) >= 1) {\n options.extensionRows?.forEach(extensionRow => {\n const extension_rowKeys: string[] = [];\n extensionRow.rows.forEach(row => {\n if (typeof row === 'string') {\n extension_rowKeys.push(row);\n } else {\n extension_rowKeys.push(row.dimensionKey);\n }\n });\n rowKeys.push(...extension_rowKeys);\n });\n }\n return {\n rowKeys,\n columnKeys,\n indicatorKeys,\n isNeedResetColumnDimensionTree,\n isNeedResetRowDimensionTree,\n columnDimensionTree,\n rowDimensionTree\n };\n}\n"]}
|
|
@@ -74,7 +74,7 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
|
|
|
74
74
|
leftRowSeriesNumberColumnCount: number;
|
|
75
75
|
rightRowSeriesNumberColumn: SeriesNumberColumnData[];
|
|
76
76
|
rightRowSeriesNumberColumnCount: number;
|
|
77
|
-
constructor(table: PivotTable | PivotChart, dataset: Dataset);
|
|
77
|
+
constructor(table: PivotTable | PivotChart, dataset: Dataset, columnDimensionTree: DimensionTree, rowDimensionTree: DimensionTree);
|
|
78
78
|
handleRowSeriesNumber(rowSeriesNumber: IRowSeriesNumber): void;
|
|
79
79
|
_generateColHeaderIds(): void;
|
|
80
80
|
_generateRowHeaderIds(): void;
|
|
@@ -146,7 +146,7 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
|
|
|
146
146
|
getBodyIndexByCol(col: number): number;
|
|
147
147
|
getRecordStartRowByRecordIndex(index: number): number;
|
|
148
148
|
getRecordShowIndexByCell(col: number, row: number): number;
|
|
149
|
-
|
|
149
|
+
getCellHeaderPathsWithTreeNode(col: number, row: number): IPivotTableCellHeaderPaths;
|
|
150
150
|
getCellHeaderPaths(col: number, row: number): IPivotTableCellHeaderPaths;
|
|
151
151
|
private getIndicatorInfoByIndicatorKey;
|
|
152
152
|
private findFullCellIds;
|
|
@@ -192,7 +192,8 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
|
|
|
192
192
|
getChartDataId(col: number, row: number): any;
|
|
193
193
|
setPagination(pagination: IPagination): void;
|
|
194
194
|
release(): void;
|
|
195
|
-
getHeadNode(
|
|
195
|
+
getHeadNode(col: number, row: number): IHeaderTreeDefine;
|
|
196
|
+
getHeadNodeByRowOrColDimensions(dimensions: IDimensionInfo[], col?: number, row?: number): IHeaderTreeDefine;
|
|
196
197
|
clearCellRangeMap(): void;
|
|
197
198
|
getDimensionKeyInChartSpec(_col: number, _row: number): string;
|
|
198
199
|
_generateChartState(): {
|
|
@@ -10,8 +10,8 @@ const util_1 = require("../tools/util"), ts_types_1 = require("../ts-types"), gl
|
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
class PivotHeaderLayoutMap {
|
|
13
|
-
constructor(table, dataset) {
|
|
14
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p
|
|
13
|
+
constructor(table, dataset, columnDimensionTree, rowDimensionTree) {
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
15
15
|
if (this.colIndex = 0, this._showHeader = !0, this.columnHeaderObjs = [], this.rowHeaderObjs = [],
|
|
16
16
|
this._cornerHeaderCellIds = [], this._columnHeaderCellIds = [], this._rowHeaderCellIds = [],
|
|
17
17
|
this._rowHeaderCellIds_FULL = [], this._columnWidths = [], this.columnPaths = [],
|
|
@@ -21,9 +21,7 @@ class PivotHeaderLayoutMap {
|
|
|
21
21
|
this.colDimensionKeys = [], this.indicatorKeys = [], this.indicatorDimensionKey = global_1.IndicatorDimensionKeyPlaceholder,
|
|
22
22
|
this._rowHeaderExtensionTree = {}, this._extensionRowDimensionKeys = [], this.fullRowDimensionKeys = [],
|
|
23
23
|
this.leftRowSeriesNumberColumnCount = 0, this.rightRowSeriesNumberColumnCount = 0,
|
|
24
|
-
this.sharedVar =
|
|
25
|
-
seqId: 0
|
|
26
|
-
}, this._table = table, "tree" === table.options.rowHierarchyType && (this.extensionRows = table.options.extensionRows),
|
|
24
|
+
this.sharedVar = table.layoutNodeId, this._table = table, "tree" === table.options.rowHierarchyType && (this.extensionRows = table.options.extensionRows),
|
|
27
25
|
this.dataset = dataset, this._largeCellRangeCache = [], this._CellHeaderPathMap = new Map,
|
|
28
26
|
this.rowTree = table.internalProps.rowTree, this.columnTree = table.internalProps.columnTree,
|
|
29
27
|
this.rowsDefine = null !== (_a = table.internalProps.rows) && void 0 !== _a ? _a : [],
|
|
@@ -40,26 +38,10 @@ class PivotHeaderLayoutMap {
|
|
|
40
38
|
this.rowHierarchyTextStartAlignment = table.options.rowHierarchyTextStartAlignment,
|
|
41
39
|
this.cornerSetting = null !== (_l = table.options.corner) && void 0 !== _l ? _l : {
|
|
42
40
|
titleOnDimension: "column"
|
|
43
|
-
}, dataset && (this.rowTree = dataset.rowHeaderTree, this.columnTree = dataset.colHeaderTree,
|
|
44
|
-
|
|
45
|
-
const supplyAxisNode = nodes => {
|
|
46
|
-
nodes.forEach((node => {
|
|
47
|
-
var _a;
|
|
48
|
-
(null === (_a = node.children) || void 0 === _a ? void 0 : _a.length) ? supplyAxisNode(node.children) : node.children = [ {
|
|
49
|
-
dimensionKey: "axis",
|
|
50
|
-
value: ""
|
|
51
|
-
} ];
|
|
52
|
-
}));
|
|
53
|
-
};
|
|
54
|
-
(null === (_m = this.rowTree) || void 0 === _m ? void 0 : _m.length) ? supplyAxisNode(this.rowTree) : this.rowTree = [ {
|
|
55
|
-
dimensionKey: "axis",
|
|
56
|
-
value: ""
|
|
57
|
-
} ];
|
|
58
|
-
}
|
|
59
|
-
if (null === (_o = this.indicatorsDefine) || void 0 === _o || _o.forEach((indicator => {
|
|
41
|
+
}, dataset && (this.rowTree = dataset.rowHeaderTree, this.columnTree = dataset.colHeaderTree),
|
|
42
|
+
null === (_m = this.indicatorsDefine) || void 0 === _m || _m.forEach((indicator => {
|
|
60
43
|
"string" == typeof indicator ? this.indicatorKeys.push(indicator) : this.indicatorKeys.push(indicator.indicatorKey);
|
|
61
|
-
})), this.columnDimensionTree =
|
|
62
|
-
this.rowDimensionTree = new tree_helper_1.DimensionTree(null !== (_q = this.rowTree) && void 0 !== _q ? _q : [], this.sharedVar, this.rowHierarchyType, "tree" === this.rowHierarchyType ? this.rowExpandLevel : void 0),
|
|
44
|
+
})), this.columnDimensionTree = columnDimensionTree, this.rowDimensionTree = rowDimensionTree,
|
|
63
45
|
this.colDimensionKeys = this.columnDimensionTree.dimensionKeys.valueArr(), this.rowDimensionKeys = this.rowDimensionTree.dimensionKeys.valueArr(),
|
|
64
46
|
this.fullRowDimensionKeys = this.fullRowDimensionKeys.concat(this.rowDimensionKeys),
|
|
65
47
|
this.resetRowHeaderLevelCount(), this._generateColHeaderIds(), this.colIndex = 0,
|
|
@@ -71,14 +53,14 @@ class PivotHeaderLayoutMap {
|
|
|
71
53
|
}
|
|
72
54
|
return !1;
|
|
73
55
|
}))), this.resetColumnHeaderLevelCount(), this._rowHeaderCellIds_FULL = (0, util_1.transpose)(this._rowHeaderCellIds_FULL),
|
|
74
|
-
"tree" === table.options.rowHierarchyType && (null === (
|
|
56
|
+
"tree" === table.options.rowHierarchyType && (null === (_o = this.extensionRows) || void 0 === _o ? void 0 : _o.length) >= 1 && (this.generateExtensionRowTree(),
|
|
75
57
|
this.extensionRows.forEach((extensionRow => {
|
|
76
58
|
const rowKeys = [];
|
|
77
59
|
extensionRow.rows.forEach((row => {
|
|
78
60
|
"string" == typeof row ? rowKeys.push(row) : rowKeys.push(row.dimensionKey);
|
|
79
61
|
})), this._extensionRowDimensionKeys.push(rowKeys), this.fullRowDimensionKeys = this.fullRowDimensionKeys.concat(rowKeys);
|
|
80
62
|
}))), this.sharedVar.seqId = Math.max(this.sharedVar.seqId, this._headerObjects.length),
|
|
81
|
-
"column" === this.cornerSetting.titleOnDimension) this.cornerHeaderObjs = this._addCornerHeaders(this.columnHeaderTitle ? [ "" ].concat(this.colDimensionKeys) : this.colDimensionKeys, this.columnsDefine); else if ("row" === this.cornerSetting.titleOnDimension) if ("tree" === this.rowHierarchyType && (null === (
|
|
63
|
+
"column" === this.cornerSetting.titleOnDimension) this.cornerHeaderObjs = this._addCornerHeaders(this.columnHeaderTitle ? [ "" ].concat(this.colDimensionKeys) : this.colDimensionKeys, this.columnsDefine); else if ("row" === this.cornerSetting.titleOnDimension) if ("tree" === this.rowHierarchyType && (null === (_p = this.extensionRows) || void 0 === _p ? void 0 : _p.length) >= 1) {
|
|
82
64
|
const rowTreeFirstKey = [];
|
|
83
65
|
rowTreeFirstKey.push(this.rowDimensionKeys[0]), this._extensionRowDimensionKeys.forEach((extensionRowKeys => {
|
|
84
66
|
rowTreeFirstKey.push(extensionRowKeys[0]);
|
|
@@ -485,7 +467,8 @@ class PivotHeaderLayoutMap {
|
|
|
485
467
|
if (this._table.isPivotChart() && this.indicatorsAsCol && !(null === (_b = null === (_a = this.dataset) || void 0 === _a ? void 0 : _a.colKeys) || void 0 === _b ? void 0 : _b.length) && 0 === (null === (_d = null === (_c = this.columnDimensionTree) || void 0 === _c ? void 0 : _c.tree) || void 0 === _d ? void 0 : _d.level) && !this.hasTwoIndicatorAxes) return void (this.columnHeaderLevelCount = 0);
|
|
486
468
|
let count = this.indicatorsAsCol && this.hideIndicatorName && this.colDimensionKeys[this.colDimensionKeys.length - 1] === this.indicatorDimensionKey ? this.columnDimensionTree.totalLevel - 1 : this.columnDimensionTree.totalLevel;
|
|
487
469
|
return this.columnHeaderTitle && (count += 1), this._table.isPivotChart() && this.indicatorsAsCol && !this.hasTwoIndicatorAxes && (0,
|
|
488
|
-
get_chart_spec_1.checkHasCartesianChart)(this) && (count -= 1),
|
|
470
|
+
get_chart_spec_1.checkHasCartesianChart)(this.indicatorsDefine) && (count -= 1),
|
|
471
|
+
void (this.columnHeaderLevelCount = count);
|
|
489
472
|
}
|
|
490
473
|
this.columnHeaderLevelCount = 0;
|
|
491
474
|
}
|
|
@@ -496,7 +479,7 @@ class PivotHeaderLayoutMap {
|
|
|
496
479
|
const extensionRowCount = null !== (_b = null === (_a = this.extensionRows) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0;
|
|
497
480
|
return this.rowHeaderTitle ? void (this.rowHeaderLevelCount = 2 + extensionRowCount) : void (this.rowHeaderLevelCount = 1 + extensionRowCount);
|
|
498
481
|
}
|
|
499
|
-
const rowLevelCount = this.
|
|
482
|
+
const rowLevelCount = this.rowDimensionTree.totalLevel;
|
|
500
483
|
let count = rowLevelCount;
|
|
501
484
|
return this.indicatorsAsCol || this.hideIndicatorName && this.rowDimensionKeys[this.rowDimensionKeys.length - 1] === this.indicatorDimensionKey && (count = rowLevelCount - 1),
|
|
502
485
|
this.rowHeaderTitle && (count += 1), void (this.rowHeaderLevelCount = count);
|
|
@@ -527,7 +510,7 @@ class PivotHeaderLayoutMap {
|
|
|
527
510
|
}
|
|
528
511
|
get bottomFrozenRowCount() {
|
|
529
512
|
if (!this._table.isPivotChart()) return this._table.internalProps.bottomFrozenRowCount ? this.rowCount - this.headerLevelCount >= this._table.internalProps.bottomFrozenRowCount ? this._table.internalProps.bottomFrozenRowCount : this.rowCount - this.headerLevelCount : 0;
|
|
530
|
-
if (this.indicatorKeys.length >= 1 && (0, get_chart_spec_1.checkHasCartesianChart)(this)) {
|
|
513
|
+
if (this.indicatorKeys.length >= 1 && (0, get_chart_spec_1.checkHasCartesianChart)(this.indicatorsDefine)) {
|
|
531
514
|
const axisOption = this._table.pivotChartAxes.find((axisOption => "bottom" === axisOption.orient));
|
|
532
515
|
return !1 === (null == axisOption ? void 0 : axisOption.visible) ? 0 : (this.indicatorsAsCol,
|
|
533
516
|
1);
|
|
@@ -708,7 +691,7 @@ class PivotHeaderLayoutMap {
|
|
|
708
691
|
return this.columnHeaderLevelCount + index;
|
|
709
692
|
}
|
|
710
693
|
getRecordShowIndexByCell(col, row) {}
|
|
711
|
-
|
|
694
|
+
getCellHeaderPathsWithTreeNode(col, row) {
|
|
712
695
|
if (col === this._lastCellCol && row === this._lastCellRow) return this._lastCellHeaderPath;
|
|
713
696
|
let _largeCellRangeCacheIndex = -1;
|
|
714
697
|
for (let i = 0; i < this._largeCellRangeCache.length; i++) {
|
|
@@ -747,7 +730,7 @@ class PivotHeaderLayoutMap {
|
|
|
747
730
|
}
|
|
748
731
|
getCellHeaderPaths(col, row) {
|
|
749
732
|
var _a, _b;
|
|
750
|
-
const headerPathsWidthNode = this.
|
|
733
|
+
const headerPathsWidthNode = this.getCellHeaderPathsWithTreeNode(col, row), headerPaths = {
|
|
751
734
|
colHeaderPaths: [],
|
|
752
735
|
rowHeaderPaths: [],
|
|
753
736
|
cellLocation: headerPathsWidthNode.cellLocation
|
|
@@ -757,14 +740,14 @@ class PivotHeaderLayoutMap {
|
|
|
757
740
|
const colHeaderPath = {};
|
|
758
741
|
colHeaderPath.dimensionKey = colHeader.dimensionKey, colHeaderPath.indicatorKey = colHeader.indicatorKey,
|
|
759
742
|
colHeaderPath.value = null !== (_c = null !== (_a = colHeader.value) && void 0 !== _a ? _a : null === (_b = this.getIndicatorInfoByIndicatorKey(colHeader.indicatorKey)) || void 0 === _b ? void 0 : _b.title) && void 0 !== _c ? _c : "",
|
|
760
|
-
headerPaths.colHeaderPaths.push(colHeaderPath);
|
|
743
|
+
colHeaderPath.virtual = colHeader.virtual, headerPaths.colHeaderPaths.push(colHeaderPath);
|
|
761
744
|
})), null === (_b = headerPathsWidthNode.rowHeaderPaths) || void 0 === _b || _b.forEach((rowHeader => {
|
|
762
745
|
var _a, _b, _c;
|
|
763
746
|
if ("axis" !== rowHeader.dimensionKey) {
|
|
764
747
|
const rowHeaderPath = {};
|
|
765
748
|
rowHeaderPath.dimensionKey = rowHeader.dimensionKey, rowHeaderPath.indicatorKey = rowHeader.indicatorKey,
|
|
766
749
|
rowHeaderPath.value = null !== (_c = null !== (_a = rowHeader.value) && void 0 !== _a ? _a : null === (_b = this.getIndicatorInfoByIndicatorKey(rowHeader.indicatorKey)) || void 0 === _b ? void 0 : _b.title) && void 0 !== _c ? _c : "",
|
|
767
|
-
headerPaths.rowHeaderPaths.push(rowHeaderPath);
|
|
750
|
+
rowHeaderPath.virtual = rowHeader.virtual, headerPaths.rowHeaderPaths.push(rowHeaderPath);
|
|
768
751
|
}
|
|
769
752
|
})), headerPaths;
|
|
770
753
|
}
|
|
@@ -955,8 +938,8 @@ class PivotHeaderLayoutMap {
|
|
|
955
938
|
return this.getParentCellId(sourceCellRange.start.col, source.row) === this.getParentCellId(sourceCellRange.start.col, target.row);
|
|
956
939
|
}
|
|
957
940
|
{
|
|
958
|
-
const sourceRowHeaderPaths = (0, vutils_1.cloneDeep)(this.
|
|
959
|
-
vutils_1.cloneDeep)(this.
|
|
941
|
+
const sourceRowHeaderPaths = (0, vutils_1.cloneDeep)(this.getCellHeaderPathsWithTreeNode(source.col, source.row).rowHeaderPaths), targetRowHeaderPaths = (0,
|
|
942
|
+
vutils_1.cloneDeep)(this.getCellHeaderPathsWithTreeNode(target.col, target.row).rowHeaderPaths);
|
|
960
943
|
if (sourceRowHeaderPaths.pop(), targetRowHeaderPaths.pop(), sourceRowHeaderPaths.length <= targetRowHeaderPaths.length) {
|
|
961
944
|
if (sourceRowHeaderPaths.length === targetRowHeaderPaths.length) return !sourceRowHeaderPaths.find(((item, i) => item.dimensionKey !== targetRowHeaderPaths[i].dimensionKey || item.value !== targetRowHeaderPaths[i].value));
|
|
962
945
|
if (sourceRowHeaderPaths.length > 0) for (let i = 0; i < sourceRowHeaderPaths.length; i++) if (sourceRowHeaderPaths[i].startInTotal !== targetRowHeaderPaths[i].startInTotal) return !1;
|
|
@@ -982,7 +965,7 @@ class PivotHeaderLayoutMap {
|
|
|
982
965
|
}
|
|
983
966
|
const sourceColumns = this._columnWidths.splice(sourceCellRange.start.col - this.leftRowSeriesNumberColumnCount, sourceSize);
|
|
984
967
|
return sourceColumns.unshift(targetIndex - this.leftRowSeriesNumberColumnCount, 0),
|
|
985
|
-
Array.prototype.splice.apply(this._columnWidths, sourceColumns), this.columnDimensionTree.movePosition(this.
|
|
968
|
+
Array.prototype.splice.apply(this._columnWidths, sourceColumns), this.columnDimensionTree.movePosition(this.getCellHeaderPathsWithTreeNode(source.col, source.row).colHeaderPaths.length - 1, sourceCellRange.start.col - this.rowHeaderLevelCount - this.leftRowSeriesNumberColumnCount, targetCellRange.start.col - this.rowHeaderLevelCount - this.leftRowSeriesNumberColumnCount),
|
|
986
969
|
this.columnDimensionTree.reset(this.columnDimensionTree.tree.children, !0), this._CellHeaderPathMap = new Map,
|
|
987
970
|
this._largeCellRangeCache.length = 0, {
|
|
988
971
|
sourceIndex: sourceCellRange.start.col,
|
|
@@ -994,7 +977,7 @@ class PivotHeaderLayoutMap {
|
|
|
994
977
|
}
|
|
995
978
|
if (this.isRowHeader(source.col, source.row)) {
|
|
996
979
|
let targetIndex;
|
|
997
|
-
const sourceRowHeaderPaths = this.
|
|
980
|
+
const sourceRowHeaderPaths = this.getCellHeaderPathsWithTreeNode(source.col, source.row).rowHeaderPaths, targetRowHeaderPaths = this.getCellHeaderPathsWithTreeNode(target.col, target.row).rowHeaderPaths, sourceRowHeaderNode = sourceRowHeaderPaths[sourceRowHeaderPaths.length - 1], targetRowHeaderNode = targetRowHeaderPaths[sourceRowHeaderPaths.length - 1], sourceSize = sourceRowHeaderNode.size;
|
|
998
981
|
if (targetIndex = target.row >= source.row ? targetRowHeaderNode.startInTotal + targetRowHeaderNode.size - sourceSize : targetRowHeaderNode.startInTotal,
|
|
999
982
|
targetIndex === sourceCellRange.start.row - this.columnHeaderLevelCount) return null;
|
|
1000
983
|
const sourceIds = this._rowHeaderCellIds.splice(sourceCellRange.start.row - this.columnHeaderLevelCount, sourceSize);
|
|
@@ -1125,7 +1108,7 @@ class PivotHeaderLayoutMap {
|
|
|
1125
1108
|
}
|
|
1126
1109
|
isAxisCell(col, row) {
|
|
1127
1110
|
if (!this._table.isPivotChart()) return !1;
|
|
1128
|
-
if (this.indicatorKeys.length >= 1 && (0, get_chart_spec_1.checkHasCartesianChart)(this)) {
|
|
1111
|
+
if (this.indicatorKeys.length >= 1 && (0, get_chart_spec_1.checkHasCartesianChart)(this.indicatorsDefine)) {
|
|
1129
1112
|
if (this.isBottomFrozenRow(col, row) && (0, get_chart_spec_1.isHasCartesianChartInline)(col, row, "col", this) || this.isRightFrozenColumn(col, row) && (0,
|
|
1130
1113
|
get_chart_spec_1.isHasCartesianChartInline)(col, row, "row", this)) return !0;
|
|
1131
1114
|
if (this.isRowHeader(col, row) && col === this.rowHeaderLevelCount - 1 && (0, get_chart_spec_1.isHasCartesianChartInline)(col, row, "row", this)) return !0;
|
|
@@ -1171,9 +1154,21 @@ class PivotHeaderLayoutMap {
|
|
|
1171
1154
|
null === (_a = indicatorObject.chartInstance) || void 0 === _a || _a.release();
|
|
1172
1155
|
}));
|
|
1173
1156
|
}
|
|
1174
|
-
getHeadNode(
|
|
1157
|
+
getHeadNode(col, row) {
|
|
1158
|
+
var _a, _b, _c;
|
|
1159
|
+
let dimensions;
|
|
1160
|
+
const headerPaths = this.getCellHeaderPaths(col, row);
|
|
1161
|
+
return headerPaths.rowHeaderPaths && (null !== (_b = null === (_a = headerPaths.rowHeaderPaths) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0) > 0 ? dimensions = null === (_c = headerPaths.rowHeaderPaths) || void 0 === _c ? void 0 : _c.slice(0, headerPaths.rowHeaderPaths.length) : headerPaths.colHeaderPaths && headerPaths.colHeaderPaths.length > 0 && (dimensions = headerPaths.colHeaderPaths.slice(0, headerPaths.colHeaderPaths.length)),
|
|
1162
|
+
this.getHeadNodeByRowOrColDimensions(dimensions, col, row);
|
|
1163
|
+
}
|
|
1164
|
+
getHeadNodeByRowOrColDimensions(dimensions, col, row) {
|
|
1165
|
+
var _a;
|
|
1175
1166
|
if (!Array.isArray(dimensions)) return;
|
|
1176
1167
|
let rowDimension, colDimension, rowArr = this.rowTree, colArr = this.columnTree;
|
|
1168
|
+
if ((0, vutils_1.isValid)(row) && (0, vutils_1.isValid)(col) && "tree" === this.rowHierarchyType && this.extensionRows && col >= 1 + this.leftRowSeriesNumberColumnCount) {
|
|
1169
|
+
const hdId = this.getCellId(col - 1, row);
|
|
1170
|
+
rowArr = this._rowHeaderExtensionTree[hdId].tree.children;
|
|
1171
|
+
}
|
|
1177
1172
|
for (let i = 0; i < dimensions.length; i++) {
|
|
1178
1173
|
const highlightDimension = dimensions[i];
|
|
1179
1174
|
if ((highlightDimension.isPivotCorner || !highlightDimension.value) && i === dimensions.length - 1) return;
|
|
@@ -1187,7 +1182,7 @@ class PivotHeaderLayoutMap {
|
|
|
1187
1182
|
break;
|
|
1188
1183
|
}
|
|
1189
1184
|
}
|
|
1190
|
-
if (!isCol) for (let k = 0; k < rowArr.length; k++) {
|
|
1185
|
+
if (!isCol) for (let k = 0; null !== (_a = k < (null == rowArr ? void 0 : rowArr.length)) && void 0 !== _a && _a; k++) {
|
|
1191
1186
|
const dimension = rowArr[k];
|
|
1192
1187
|
if ((0, vutils_1.isValid)(highlightDimension.dimensionKey) && dimension.dimensionKey === highlightDimension.dimensionKey && dimension.value === highlightDimension.value || (0,
|
|
1193
1188
|
vutils_1.isValid)(highlightDimension.indicatorKey) && dimension.indicatorKey === highlightDimension.indicatorKey && (dimension.value === highlightDimension.value || !(0,
|
|
@@ -1391,12 +1386,7 @@ class PivotHeaderLayoutMap {
|
|
|
1391
1386
|
return this.leftRowSeriesNumberColumnCount > 0 && col >= 0 && col < this.leftRowSeriesNumberColumnCount && row >= this.headerLevelCount ? this.leftRowSeriesNumberColumn[col] : this.rightRowSeriesNumberColumnCount > 0 && col >= this.colCount - this.rightRowSeriesNumberColumnCount && row >= this.headerLevelCount ? this.rightRowSeriesNumberColumn[col - (this.colCount - this.rightRowSeriesNumberColumnCount)] : void 0;
|
|
1392
1387
|
}
|
|
1393
1388
|
changeTreeNodeTitle(col, row, value) {
|
|
1394
|
-
|
|
1395
|
-
if (headerPaths.rowHeaderPaths.length > 0) {
|
|
1396
|
-
this.getHeadNode(headerPaths.rowHeaderPaths.slice(0, headerPaths.rowHeaderPaths.length)).value = value;
|
|
1397
|
-
} else if (headerPaths.colHeaderPaths.length > 0) {
|
|
1398
|
-
this.getHeadNode(headerPaths.colHeaderPaths.slice(0, headerPaths.colHeaderPaths.length)).value = value;
|
|
1399
|
-
}
|
|
1389
|
+
this.getHeadNode(col, row).value = value;
|
|
1400
1390
|
const id = this.getCellId(col, row);
|
|
1401
1391
|
this._headerObjectMap[id].title = value;
|
|
1402
1392
|
}
|