@visactor/vtable 0.25.5 → 0.26.0-alpha.1
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 +4 -5
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +20 -15
- package/cjs/dataset/dataset.js +88 -62
- 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/event/listener/table-group.js +3 -10
- package/cjs/event/listener/table-group.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 +43 -47
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/tree-helper.d.ts +2 -0
- package/cjs/layout/tree-helper.js +19 -11
- 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/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 -4
- 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 +902 -566
- 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 +4 -5
- package/es/core/BaseTable.js.map +1 -1
- package/es/dataset/dataset.d.ts +20 -15
- package/es/dataset/dataset.js +89 -61
- 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/event/listener/table-group.js +2 -11
- package/es/event/listener/table-group.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 +41 -46
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/tree-helper.d.ts +2 -0
- package/es/layout/tree-helper.js +19 -11
- 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/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 -4
- 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 = !0, isNeedResetRowDimensionTree = !0;
|
|
51
|
+
options.columnTree && (columnDimensionTree = new tree_helper_1.DimensionTree(null !== (_a = table.internalProps.columnTree) && void 0 !== _a ? _a : [], table.layoutNodeId),
|
|
52
|
+
isNeedResetColumnDimensionTree = !1 !== table.options.indicatorsAsCol && !columnDimensionTree.dimensionKeys.contain(global_1.IndicatorDimensionKeyPlaceholder) && (null === (_b = options.indicators) || void 0 === _b ? void 0 : _b.length) >= 1),
|
|
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
|
+
isNeedResetRowDimensionTree = !1 === table.options.indicatorsAsCol && !rowDimensionTree.dimensionKeys.contain(global_1.IndicatorDimensionKeyPlaceholder) && (null === (_e = options.indicators) || void 0 === _e ? void 0 : _e.length) >= 1);
|
|
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":"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","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 = true;\n let isNeedResetRowDimensionTree = true;\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 } else {\n isNeedResetColumnDimensionTree = false;\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 } else {\n isNeedResetRowDimensionTree = false;\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,21 +53,27 @@ 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)
|
|
63
|
+
"column" === this.cornerSetting.titleOnDimension) {
|
|
64
|
+
const colDimensionKeys = this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr();
|
|
65
|
+
this.cornerHeaderObjs = this._addCornerHeaders(this.columnHeaderTitle ? [ "" ].concat(colDimensionKeys) : colDimensionKeys, this.columnsDefine);
|
|
66
|
+
} else if ("row" === this.cornerSetting.titleOnDimension) if ("tree" === this.rowHierarchyType && (null === (_p = this.extensionRows) || void 0 === _p ? void 0 : _p.length) >= 1) {
|
|
82
67
|
const rowTreeFirstKey = [];
|
|
83
68
|
rowTreeFirstKey.push(this.rowDimensionKeys[0]), this._extensionRowDimensionKeys.forEach((extensionRowKeys => {
|
|
84
69
|
rowTreeFirstKey.push(extensionRowKeys[0]);
|
|
85
70
|
}));
|
|
86
71
|
const extensionRowDimensions = this.extensionRows.reduce(((dimensions, cur) => dimensions.concat(cur.rows)), []);
|
|
87
72
|
this.cornerHeaderObjs = this._addCornerHeaders(this.rowHeaderTitle ? [ "" ].concat(rowTreeFirstKey) : rowTreeFirstKey, this.rowsDefine.concat(extensionRowDimensions));
|
|
88
|
-
} else
|
|
73
|
+
} else {
|
|
74
|
+
const rowDimensionKeys = this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr();
|
|
75
|
+
this.cornerHeaderObjs = this._addCornerHeaders(this.rowHeaderTitle ? [ "" ].concat(rowDimensionKeys) : rowDimensionKeys, this.rowsDefine);
|
|
76
|
+
} else this.cornerHeaderObjs = this._addCornerHeaders(null, void 0);
|
|
89
77
|
this.colIndex = 0, this._headerObjectMap = this._headerObjects.reduce(((o, e) => (o[e.id] = e,
|
|
90
78
|
o)), {}), this.indicatorsAsCol && !this.hideIndicatorName ? this._indicatorShowType = "column" : this.indicatorsAsCol || this.hideIndicatorName ? this._indicatorShowType = "none" : this._indicatorShowType = "row",
|
|
91
79
|
this.setPagination(table.options.pagination), this._table.isPivotChart() && (this._chartItemSpanSize = 0,
|
|
@@ -485,7 +473,8 @@ class PivotHeaderLayoutMap {
|
|
|
485
473
|
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
474
|
let count = this.indicatorsAsCol && this.hideIndicatorName && this.colDimensionKeys[this.colDimensionKeys.length - 1] === this.indicatorDimensionKey ? this.columnDimensionTree.totalLevel - 1 : this.columnDimensionTree.totalLevel;
|
|
487
475
|
return this.columnHeaderTitle && (count += 1), this._table.isPivotChart() && this.indicatorsAsCol && !this.hasTwoIndicatorAxes && (0,
|
|
488
|
-
get_chart_spec_1.checkHasCartesianChart)(this) && (count -= 1),
|
|
476
|
+
get_chart_spec_1.checkHasCartesianChart)(this.indicatorsDefine) && (count -= 1),
|
|
477
|
+
void (this.columnHeaderLevelCount = count);
|
|
489
478
|
}
|
|
490
479
|
this.columnHeaderLevelCount = 0;
|
|
491
480
|
}
|
|
@@ -496,7 +485,7 @@ class PivotHeaderLayoutMap {
|
|
|
496
485
|
const extensionRowCount = null !== (_b = null === (_a = this.extensionRows) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0;
|
|
497
486
|
return this.rowHeaderTitle ? void (this.rowHeaderLevelCount = 2 + extensionRowCount) : void (this.rowHeaderLevelCount = 1 + extensionRowCount);
|
|
498
487
|
}
|
|
499
|
-
const rowLevelCount = this.
|
|
488
|
+
const rowLevelCount = this.rowDimensionTree.totalLevel;
|
|
500
489
|
let count = rowLevelCount;
|
|
501
490
|
return this.indicatorsAsCol || this.hideIndicatorName && this.rowDimensionKeys[this.rowDimensionKeys.length - 1] === this.indicatorDimensionKey && (count = rowLevelCount - 1),
|
|
502
491
|
this.rowHeaderTitle && (count += 1), void (this.rowHeaderLevelCount = count);
|
|
@@ -527,7 +516,7 @@ class PivotHeaderLayoutMap {
|
|
|
527
516
|
}
|
|
528
517
|
get bottomFrozenRowCount() {
|
|
529
518
|
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)) {
|
|
519
|
+
if (this.indicatorKeys.length >= 1 && (0, get_chart_spec_1.checkHasCartesianChart)(this.indicatorsDefine)) {
|
|
531
520
|
const axisOption = this._table.pivotChartAxes.find((axisOption => "bottom" === axisOption.orient));
|
|
532
521
|
return !1 === (null == axisOption ? void 0 : axisOption.visible) ? 0 : (this.indicatorsAsCol,
|
|
533
522
|
1);
|
|
@@ -708,7 +697,7 @@ class PivotHeaderLayoutMap {
|
|
|
708
697
|
return this.columnHeaderLevelCount + index;
|
|
709
698
|
}
|
|
710
699
|
getRecordShowIndexByCell(col, row) {}
|
|
711
|
-
|
|
700
|
+
getCellHeaderPathsWithTreeNode(col, row) {
|
|
712
701
|
if (col === this._lastCellCol && row === this._lastCellRow) return this._lastCellHeaderPath;
|
|
713
702
|
let _largeCellRangeCacheIndex = -1;
|
|
714
703
|
for (let i = 0; i < this._largeCellRangeCache.length; i++) {
|
|
@@ -747,7 +736,7 @@ class PivotHeaderLayoutMap {
|
|
|
747
736
|
}
|
|
748
737
|
getCellHeaderPaths(col, row) {
|
|
749
738
|
var _a, _b;
|
|
750
|
-
const headerPathsWidthNode = this.
|
|
739
|
+
const headerPathsWidthNode = this.getCellHeaderPathsWithTreeNode(col, row), headerPaths = {
|
|
751
740
|
colHeaderPaths: [],
|
|
752
741
|
rowHeaderPaths: [],
|
|
753
742
|
cellLocation: headerPathsWidthNode.cellLocation
|
|
@@ -757,14 +746,14 @@ class PivotHeaderLayoutMap {
|
|
|
757
746
|
const colHeaderPath = {};
|
|
758
747
|
colHeaderPath.dimensionKey = colHeader.dimensionKey, colHeaderPath.indicatorKey = colHeader.indicatorKey,
|
|
759
748
|
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);
|
|
749
|
+
colHeaderPath.virtual = colHeader.virtual, headerPaths.colHeaderPaths.push(colHeaderPath);
|
|
761
750
|
})), null === (_b = headerPathsWidthNode.rowHeaderPaths) || void 0 === _b || _b.forEach((rowHeader => {
|
|
762
751
|
var _a, _b, _c;
|
|
763
752
|
if ("axis" !== rowHeader.dimensionKey) {
|
|
764
753
|
const rowHeaderPath = {};
|
|
765
754
|
rowHeaderPath.dimensionKey = rowHeader.dimensionKey, rowHeaderPath.indicatorKey = rowHeader.indicatorKey,
|
|
766
755
|
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);
|
|
756
|
+
rowHeaderPath.virtual = rowHeader.virtual, headerPaths.rowHeaderPaths.push(rowHeaderPath);
|
|
768
757
|
}
|
|
769
758
|
})), headerPaths;
|
|
770
759
|
}
|
|
@@ -955,8 +944,8 @@ class PivotHeaderLayoutMap {
|
|
|
955
944
|
return this.getParentCellId(sourceCellRange.start.col, source.row) === this.getParentCellId(sourceCellRange.start.col, target.row);
|
|
956
945
|
}
|
|
957
946
|
{
|
|
958
|
-
const sourceRowHeaderPaths = (0, vutils_1.cloneDeep)(this.
|
|
959
|
-
vutils_1.cloneDeep)(this.
|
|
947
|
+
const sourceRowHeaderPaths = (0, vutils_1.cloneDeep)(this.getCellHeaderPathsWithTreeNode(source.col, source.row).rowHeaderPaths), targetRowHeaderPaths = (0,
|
|
948
|
+
vutils_1.cloneDeep)(this.getCellHeaderPathsWithTreeNode(target.col, target.row).rowHeaderPaths);
|
|
960
949
|
if (sourceRowHeaderPaths.pop(), targetRowHeaderPaths.pop(), sourceRowHeaderPaths.length <= targetRowHeaderPaths.length) {
|
|
961
950
|
if (sourceRowHeaderPaths.length === targetRowHeaderPaths.length) return !sourceRowHeaderPaths.find(((item, i) => item.dimensionKey !== targetRowHeaderPaths[i].dimensionKey || item.value !== targetRowHeaderPaths[i].value));
|
|
962
951
|
if (sourceRowHeaderPaths.length > 0) for (let i = 0; i < sourceRowHeaderPaths.length; i++) if (sourceRowHeaderPaths[i].startInTotal !== targetRowHeaderPaths[i].startInTotal) return !1;
|
|
@@ -982,7 +971,7 @@ class PivotHeaderLayoutMap {
|
|
|
982
971
|
}
|
|
983
972
|
const sourceColumns = this._columnWidths.splice(sourceCellRange.start.col - this.leftRowSeriesNumberColumnCount, sourceSize);
|
|
984
973
|
return sourceColumns.unshift(targetIndex - this.leftRowSeriesNumberColumnCount, 0),
|
|
985
|
-
Array.prototype.splice.apply(this._columnWidths, sourceColumns), this.columnDimensionTree.movePosition(this.
|
|
974
|
+
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
975
|
this.columnDimensionTree.reset(this.columnDimensionTree.tree.children, !0), this._CellHeaderPathMap = new Map,
|
|
987
976
|
this._largeCellRangeCache.length = 0, {
|
|
988
977
|
sourceIndex: sourceCellRange.start.col,
|
|
@@ -994,7 +983,7 @@ class PivotHeaderLayoutMap {
|
|
|
994
983
|
}
|
|
995
984
|
if (this.isRowHeader(source.col, source.row)) {
|
|
996
985
|
let targetIndex;
|
|
997
|
-
const sourceRowHeaderPaths = this.
|
|
986
|
+
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
987
|
if (targetIndex = target.row >= source.row ? targetRowHeaderNode.startInTotal + targetRowHeaderNode.size - sourceSize : targetRowHeaderNode.startInTotal,
|
|
999
988
|
targetIndex === sourceCellRange.start.row - this.columnHeaderLevelCount) return null;
|
|
1000
989
|
const sourceIds = this._rowHeaderCellIds.splice(sourceCellRange.start.row - this.columnHeaderLevelCount, sourceSize);
|
|
@@ -1125,7 +1114,7 @@ class PivotHeaderLayoutMap {
|
|
|
1125
1114
|
}
|
|
1126
1115
|
isAxisCell(col, row) {
|
|
1127
1116
|
if (!this._table.isPivotChart()) return !1;
|
|
1128
|
-
if (this.indicatorKeys.length >= 1 && (0, get_chart_spec_1.checkHasCartesianChart)(this)) {
|
|
1117
|
+
if (this.indicatorKeys.length >= 1 && (0, get_chart_spec_1.checkHasCartesianChart)(this.indicatorsDefine)) {
|
|
1129
1118
|
if (this.isBottomFrozenRow(col, row) && (0, get_chart_spec_1.isHasCartesianChartInline)(col, row, "col", this) || this.isRightFrozenColumn(col, row) && (0,
|
|
1130
1119
|
get_chart_spec_1.isHasCartesianChartInline)(col, row, "row", this)) return !0;
|
|
1131
1120
|
if (this.isRowHeader(col, row) && col === this.rowHeaderLevelCount - 1 && (0, get_chart_spec_1.isHasCartesianChartInline)(col, row, "row", this)) return !0;
|
|
@@ -1171,9 +1160,21 @@ class PivotHeaderLayoutMap {
|
|
|
1171
1160
|
null === (_a = indicatorObject.chartInstance) || void 0 === _a || _a.release();
|
|
1172
1161
|
}));
|
|
1173
1162
|
}
|
|
1174
|
-
getHeadNode(
|
|
1163
|
+
getHeadNode(col, row) {
|
|
1164
|
+
var _a, _b, _c;
|
|
1165
|
+
let dimensions;
|
|
1166
|
+
const headerPaths = this.getCellHeaderPaths(col, row);
|
|
1167
|
+
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)),
|
|
1168
|
+
this.getHeadNodeByRowOrColDimensions(dimensions, col, row);
|
|
1169
|
+
}
|
|
1170
|
+
getHeadNodeByRowOrColDimensions(dimensions, col, row) {
|
|
1171
|
+
var _a;
|
|
1175
1172
|
if (!Array.isArray(dimensions)) return;
|
|
1176
1173
|
let rowDimension, colDimension, rowArr = this.rowTree, colArr = this.columnTree;
|
|
1174
|
+
if ((0, vutils_1.isValid)(row) && (0, vutils_1.isValid)(col) && "tree" === this.rowHierarchyType && this.extensionRows && col >= 1 + this.leftRowSeriesNumberColumnCount) {
|
|
1175
|
+
const hdId = this.getCellId(col - 1, row);
|
|
1176
|
+
rowArr = this._rowHeaderExtensionTree[hdId].tree.children;
|
|
1177
|
+
}
|
|
1177
1178
|
for (let i = 0; i < dimensions.length; i++) {
|
|
1178
1179
|
const highlightDimension = dimensions[i];
|
|
1179
1180
|
if ((highlightDimension.isPivotCorner || !highlightDimension.value) && i === dimensions.length - 1) return;
|
|
@@ -1187,7 +1188,7 @@ class PivotHeaderLayoutMap {
|
|
|
1187
1188
|
break;
|
|
1188
1189
|
}
|
|
1189
1190
|
}
|
|
1190
|
-
if (!isCol) for (let k = 0; k < rowArr.length; k++) {
|
|
1191
|
+
if (!isCol) for (let k = 0; null !== (_a = k < (null == rowArr ? void 0 : rowArr.length)) && void 0 !== _a && _a; k++) {
|
|
1191
1192
|
const dimension = rowArr[k];
|
|
1192
1193
|
if ((0, vutils_1.isValid)(highlightDimension.dimensionKey) && dimension.dimensionKey === highlightDimension.dimensionKey && dimension.value === highlightDimension.value || (0,
|
|
1193
1194
|
vutils_1.isValid)(highlightDimension.indicatorKey) && dimension.indicatorKey === highlightDimension.indicatorKey && (dimension.value === highlightDimension.value || !(0,
|
|
@@ -1391,12 +1392,7 @@ class PivotHeaderLayoutMap {
|
|
|
1391
1392
|
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
1393
|
}
|
|
1393
1394
|
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
|
-
}
|
|
1395
|
+
this.getHeadNode(col, row).value = value;
|
|
1400
1396
|
const id = this.getCellId(col, row);
|
|
1401
1397
|
this._headerObjectMap[id].title = value;
|
|
1402
1398
|
}
|