@visactor/vtable 1.22.11-alpha.4 → 1.22.11-alpha.6
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 +3 -0
- package/cjs/PivotChart.js +12 -5
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/body-helper/style.js +2 -1
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/FouseInput.js +1 -2
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/table-group.js +10 -6
- 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/pivot-header-layout.d.ts +6 -0
- package/cjs/layout/pivot-header-layout.js +39 -20
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/plugins/custom-cell-style.js +1 -1
- package/cjs/plugins/index.js +1 -1
- package/cjs/scenegraph/graphic/active-cell-chart-list.d.ts +14 -2
- package/cjs/scenegraph/graphic/active-cell-chart-list.js +195 -75
- package/cjs/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.d.ts +9 -1
- package/cjs/scenegraph/graphic/chart.js +48 -20
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render.js +3 -4
- package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.d.ts +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.js +2 -1
- package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +2 -2
- package/cjs/scenegraph/scenegraph.js +41 -12
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/state/state.js +1 -1
- package/cjs/themes/theme-define.js +6 -0
- package/cjs/themes/theme-define.js.map +1 -1
- package/cjs/tools/util.d.ts +5 -0
- package/cjs/tools/util.js +22 -4
- package/cjs/tools/util.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +7 -0
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +541 -188
- package/dist/vtable.min.js +2 -2
- package/es/PivotChart.d.ts +3 -0
- package/es/PivotChart.js +13 -4
- package/es/PivotChart.js.map +1 -1
- package/es/body-helper/style.js +2 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/FouseInput.js +1 -2
- package/es/event/event.js.map +1 -1
- package/es/event/listener/table-group.js +9 -6
- 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/pivot-header-layout.d.ts +6 -0
- package/es/layout/pivot-header-layout.js +39 -20
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/plugins/custom-cell-style.js +1 -1
- package/es/plugins/index.js +1 -1
- package/es/scenegraph/graphic/active-cell-chart-list.d.ts +14 -2
- package/es/scenegraph/graphic/active-cell-chart-list.js +183 -68
- package/es/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/es/scenegraph/graphic/chart.d.ts +9 -1
- package/es/scenegraph/graphic/chart.js +47 -19
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render.js +3 -4
- package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/es/scenegraph/refresh-node/update-chart.d.ts +1 -1
- package/es/scenegraph/refresh-node/update-chart.js +2 -1
- package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +2 -2
- package/es/scenegraph/scenegraph.js +41 -11
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/state/state.js +1 -1
- package/es/themes/theme-define.js +6 -0
- package/es/themes/theme-define.js.map +1 -1
- package/es/tools/util.d.ts +5 -0
- package/es/tools/util.js +18 -0
- package/es/tools/util.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +7 -0
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +3 -3
package/cjs/plugins/index.js
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import type { BaseTableAPI } from '../../ts-types/base-table';
|
|
2
|
+
export declare function setBrushingChartInstance(chartInstance: any, col: number, row: number): void;
|
|
3
|
+
export declare function clearBrushingChartInstance(): void;
|
|
4
|
+
export declare function getBrushingChartInstance(): any;
|
|
5
|
+
export declare function getBrushingChartInstanceCellPos(): {
|
|
6
|
+
col: number;
|
|
7
|
+
row: number;
|
|
8
|
+
};
|
|
2
9
|
export declare const chartInstanceListColumnByColumnDirection: Record<number, Record<number, any>>;
|
|
3
10
|
export declare const chartInstanceListRowByRowDirection: Record<number, Record<number, any>>;
|
|
4
11
|
export declare function generateChartInstanceListByColumnDirection(col: number, dimensionValueOrXValue: string, positionValueOrYValue: string | number, canvasXY: {
|
|
5
12
|
x: number;
|
|
6
13
|
y: number;
|
|
7
14
|
}, table: BaseTableAPI, hideTooltip?: boolean, isScatter?: boolean): void;
|
|
8
|
-
export declare function clearChartInstanceListByColumnDirection(col: number, excludedRow: number, table: BaseTableAPI): void;
|
|
9
15
|
export declare function generateChartInstanceListByRowDirection(row: number, dimensionValueOrXValue: string, positionValueOrYValue: string | number, canvasXY: {
|
|
10
16
|
x: number;
|
|
11
17
|
y: number;
|
|
12
18
|
}, table: BaseTableAPI, hideTooltip?: boolean, isScatter?: boolean): void;
|
|
13
|
-
export declare function
|
|
19
|
+
export declare function generateChartInstanceListByViewRange(datum: any, table: BaseTableAPI, deactivate?: boolean): void;
|
|
20
|
+
export declare function clearChartInstanceListByColumnDirection(col: number, excludedRow: number, table: BaseTableAPI, forceRelease?: boolean): void;
|
|
21
|
+
export declare function clearChartInstanceListByRowDirection(row: number, excludedCol: number, table: BaseTableAPI, forceRelease?: boolean): void;
|
|
22
|
+
export declare function clearDelayRunDimensionHoverTimers(): void;
|
|
23
|
+
export declare function clearAllChartInstanceList(table: BaseTableAPI, forceRelease?: boolean): void;
|
|
24
|
+
export declare function disableDimensionHoverToAllChartInstances(): void;
|
|
25
|
+
export declare function enableDimensionHoverToAllChartInstances(): void;
|
|
@@ -2,140 +2,228 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.
|
|
5
|
+
}), exports.enableDimensionHoverToAllChartInstances = exports.disableDimensionHoverToAllChartInstances = exports.clearAllChartInstanceList = exports.clearDelayRunDimensionHoverTimers = exports.clearChartInstanceListByRowDirection = exports.clearChartInstanceListByColumnDirection = exports.generateChartInstanceListByViewRange = exports.generateChartInstanceListByRowDirection = exports.generateChartInstanceListByColumnDirection = exports.chartInstanceListRowByRowDirection = exports.chartInstanceListColumnByColumnDirection = exports.getBrushingChartInstanceCellPos = exports.getBrushingChartInstance = exports.clearBrushingChartInstance = exports.setBrushingChartInstance = void 0;
|
|
6
6
|
|
|
7
7
|
const vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
|
+
let brushingChartInstance, brushingChartInstanceCellPos = {
|
|
10
|
+
col: -1,
|
|
11
|
+
row: -1
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
function setBrushingChartInstance(chartInstance, col, row) {
|
|
15
|
+
brushingChartInstance = chartInstance, brushingChartInstanceCellPos = {
|
|
16
|
+
col: col,
|
|
17
|
+
row: row
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function clearBrushingChartInstance() {
|
|
22
|
+
brushingChartInstance = void 0, brushingChartInstanceCellPos = {
|
|
23
|
+
col: -1,
|
|
24
|
+
row: -1
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function getBrushingChartInstance() {
|
|
29
|
+
return brushingChartInstance;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function getBrushingChartInstanceCellPos() {
|
|
33
|
+
return brushingChartInstanceCellPos;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
exports.setBrushingChartInstance = setBrushingChartInstance, exports.clearBrushingChartInstance = clearBrushingChartInstance,
|
|
37
|
+
exports.getBrushingChartInstance = getBrushingChartInstance, exports.getBrushingChartInstanceCellPos = getBrushingChartInstanceCellPos,
|
|
38
|
+
exports.chartInstanceListColumnByColumnDirection = {}, exports.chartInstanceListRowByRowDirection = {};
|
|
39
|
+
|
|
40
|
+
const delayRunDimensionHoverTimer = [];
|
|
41
|
+
|
|
9
42
|
function generateChartInstanceListByColumnDirection(col, dimensionValueOrXValue, positionValueOrYValue, canvasXY, table, hideTooltip = !1, isScatter = !1) {
|
|
10
43
|
var _a;
|
|
11
|
-
(0, vutils_1.isValid)(exports.chartInstanceListColumnByColumnDirection[col]) || (exports.chartInstanceListColumnByColumnDirection[col] = {});
|
|
44
|
+
clearDelayRunDimensionHoverTimers(), (0, vutils_1.isValid)(exports.chartInstanceListColumnByColumnDirection[col]) || (exports.chartInstanceListColumnByColumnDirection[col] = {});
|
|
12
45
|
const {rowStart: rowStart} = table.getBodyVisibleRowRange();
|
|
13
46
|
let rowEnd = table.getBodyVisibleRowRange().rowEnd;
|
|
14
47
|
rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);
|
|
15
48
|
for (let i = rowStart; i <= rowEnd; i++) {
|
|
16
49
|
const cellGroup = table.scenegraph.getCell(col, i), chartNode = null === (_a = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _a ? void 0 : _a[0];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var _a, _b, _c, _d, _e, _f;
|
|
50
|
+
exports.chartInstanceListColumnByColumnDirection[col][i] || (0, vutils_1.isValid)(chartNode) && (chartNode.addUpdateShapeAndBoundsTag(),
|
|
51
|
+
chartNode.activeChartInstance || chartNode.activate(table), exports.chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance);
|
|
52
|
+
const timer = setTimeout((() => {
|
|
53
|
+
var _a, _b, _c, _d;
|
|
22
54
|
if (null === (_a = exports.chartInstanceListColumnByColumnDirection[col]) || void 0 === _a ? void 0 : _a[i]) {
|
|
23
55
|
const chartDimensionLinkage = table.options.chartDimensionLinkage;
|
|
24
56
|
let isShowTooltip = !isScatter;
|
|
25
|
-
if (
|
|
26
|
-
i ===
|
|
27
|
-
const
|
|
28
|
-
if (rowEnd1 === rowEnd) isShowTooltip = !0; else {
|
|
29
|
-
const {rowEnd: rowEnd2} = table.getBodyVisibleRowRange(0, 5);
|
|
30
|
-
isShowTooltip = rowEnd2 !== rowEnd;
|
|
31
|
-
}
|
|
32
|
-
} else if (i === rowStart && isShowTooltip) {
|
|
33
|
-
const heightLimitToShowTooltipForEdgeRow = null !== (_d = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow) && void 0 !== _d ? _d : 0, {rowStart: rowStart1} = table.getBodyVisibleRowRange(heightLimitToShowTooltipForEdgeRow, 0);
|
|
34
|
-
if (rowStart1 === rowStart) isShowTooltip = !0; else {
|
|
35
|
-
const {rowStart: rowStart2} = table.getBodyVisibleRowRange(0, -5);
|
|
36
|
-
isShowTooltip = rowStart2 !== rowStart;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (isScatter) table.stateManager.hover.cellPos.col === col && table.stateManager.hover.cellPos.row === i || null === (_f = (_e = exports.chartInstanceListColumnByColumnDirection[col][i]).showCrosshair) || void 0 === _f || _f.call(_e, (axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue)); else {
|
|
40
|
-
const bodyBoundryTop = table.frozenRowCount ? table.getCellRelativeRect(col, table.frozenRowCount - 1).bottom : 0, absolutePositionTop = Math.max(bodyBoundryTop, table.getCellRelativeRect(col, i).top);
|
|
57
|
+
if (isScatter || "object" != typeof chartDimensionLinkage || (isShowTooltip = null === (_b = chartDimensionLinkage.showTooltip) || void 0 === _b || _b,
|
|
58
|
+
isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeRow(i, table)), isScatter) table.stateManager.hover.cellPos.col === col && table.stateManager.hover.cellPos.row === i || null === (_d = (_c = exports.chartInstanceListColumnByColumnDirection[col][i]).showCrosshair) || void 0 === _d || _d.call(_c, (axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue)); else {
|
|
59
|
+
const cellBoundry = table.getCellRelativeRect(col, i), bodyBoundryTop = table.frozenRowCount ? table.getCellRelativeRect(col, table.frozenRowCount - 1).bottom : 0, absolutePositionTop = Math.max(bodyBoundryTop, table.getCellRelativeRect(col, i).top);
|
|
41
60
|
hideTooltip ? (table.stateManager.hover.cellPos.col === col && table.stateManager.hover.cellPos.row === i || exports.chartInstanceListColumnByColumnDirection[col][i].hideTooltip(),
|
|
42
61
|
exports.chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {
|
|
43
62
|
tooltip: !1,
|
|
44
63
|
showTooltipOption: {
|
|
45
|
-
x: canvasXY.x,
|
|
46
|
-
y: absolutePositionTop,
|
|
64
|
+
x: canvasXY.x - cellBoundry.left,
|
|
65
|
+
y: absolutePositionTop - cellBoundry.top,
|
|
47
66
|
activeType: "dimension"
|
|
48
67
|
}
|
|
49
68
|
})) : exports.chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {
|
|
50
69
|
tooltip: isShowTooltip,
|
|
51
70
|
showTooltipOption: {
|
|
52
|
-
x: canvasXY.x,
|
|
53
|
-
y: absolutePositionTop,
|
|
71
|
+
x: canvasXY.x - cellBoundry.left,
|
|
72
|
+
y: absolutePositionTop - cellBoundry.top,
|
|
54
73
|
activeType: "dimension"
|
|
55
74
|
}
|
|
56
75
|
});
|
|
57
76
|
}
|
|
58
77
|
}
|
|
59
|
-
}), 0)
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function clearChartInstanceListByColumnDirection(col, excludedRow, table) {
|
|
64
|
-
var _a;
|
|
65
|
-
if ((0, vutils_1.isValid)(exports.chartInstanceListColumnByColumnDirection[col])) {
|
|
66
|
-
for (const i in exports.chartInstanceListColumnByColumnDirection[col]) {
|
|
67
|
-
if ((0, vutils_1.isValid)(excludedRow) && Number(i) === excludedRow) continue;
|
|
68
|
-
const cellGroup = table.scenegraph.getCell(col, Number(i)), chartNode = null === (_a = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _a ? void 0 : _a[0];
|
|
69
|
-
chartNode.addUpdateShapeAndBoundsTag(), (0, vutils_1.isValid)(chartNode) && (chartNode.deactivate(table, {
|
|
70
|
-
releaseChartInstance: !0,
|
|
71
|
-
releaseColumnChartInstance: !1,
|
|
72
|
-
releaseRowChartInstance: !1
|
|
73
|
-
}), exports.chartInstanceListColumnByColumnDirection[col][i] = null);
|
|
74
|
-
}
|
|
75
|
-
delete exports.chartInstanceListColumnByColumnDirection[col];
|
|
78
|
+
}), 0);
|
|
79
|
+
delayRunDimensionHoverTimer.push(timer), table.scenegraph.updateNextFrame();
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
82
|
|
|
79
83
|
function generateChartInstanceListByRowDirection(row, dimensionValueOrXValue, positionValueOrYValue, canvasXY, table, hideTooltip = !1, isScatter = !1) {
|
|
80
84
|
var _a;
|
|
81
|
-
(0, vutils_1.isValid)(exports.chartInstanceListRowByRowDirection[row]) || (exports.chartInstanceListRowByRowDirection[row] = {});
|
|
85
|
+
clearDelayRunDimensionHoverTimers(), (0, vutils_1.isValid)(exports.chartInstanceListRowByRowDirection[row]) || (exports.chartInstanceListRowByRowDirection[row] = {});
|
|
82
86
|
const {colStart: colStart} = table.getBodyVisibleColRange();
|
|
83
87
|
let colEnd = table.getBodyVisibleColRange().colEnd;
|
|
84
88
|
colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);
|
|
85
89
|
for (let i = colStart; i <= colEnd; i++) {
|
|
86
90
|
const cellGroup = table.scenegraph.getCell(i, row), chartNode = null === (_a = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _a ? void 0 : _a[0];
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
setTimeout((() => {
|
|
91
|
+
exports.chartInstanceListRowByRowDirection[row][i] || (0, vutils_1.isValid)(chartNode) && (chartNode.addUpdateShapeAndBoundsTag(),
|
|
92
|
+
chartNode.activeChartInstance || chartNode.activate(table), exports.chartInstanceListRowByRowDirection[row][i] = chartNode.activeChartInstance);
|
|
93
|
+
const timer = setTimeout((() => {
|
|
91
94
|
var _a, _b, _c, _d;
|
|
92
95
|
if (null === (_a = exports.chartInstanceListRowByRowDirection[row]) || void 0 === _a ? void 0 : _a[i]) {
|
|
93
96
|
const chartDimensionLinkage = table.options.chartDimensionLinkage;
|
|
94
97
|
let isShowTooltip = !isScatter;
|
|
95
|
-
if (
|
|
96
|
-
i ===
|
|
97
|
-
const
|
|
98
|
-
if (colEnd1 === colEnd) isShowTooltip = !0; else {
|
|
99
|
-
const {colEnd: colEnd2} = table.getBodyVisibleColRange(0, 5);
|
|
100
|
-
isShowTooltip = colEnd2 !== colEnd;
|
|
101
|
-
}
|
|
102
|
-
} else if (i === colStart && isShowTooltip) {
|
|
103
|
-
const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn, {colStart: colStart1} = table.getBodyVisibleColRange(widthLimitToShowTooltipForEdgeColumn, 0);
|
|
104
|
-
if (colStart1 === colStart) isShowTooltip = !0; else {
|
|
105
|
-
const {colStart: colStart2} = table.getBodyVisibleColRange(0, -5);
|
|
106
|
-
isShowTooltip = colStart2 !== colStart;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (isScatter) table.stateManager.hover.cellPos.col === i && table.stateManager.hover.cellPos.row === row || null === (_d = (_c = exports.chartInstanceListRowByRowDirection[row][i]).showCrosshair) || void 0 === _d || _d.call(_c, (axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue)); else {
|
|
110
|
-
const bodyBoundryLeft = table.frozenColCount ? table.getCellRelativeRect(table.frozenColCount - 1, row).right : 0, absolutePositionLeft = Math.max(bodyBoundryLeft, table.getCellRelativeRect(i, row).left);
|
|
98
|
+
if (isScatter || "object" != typeof chartDimensionLinkage || (isShowTooltip = null === (_b = chartDimensionLinkage.showTooltip) || void 0 === _b || _b,
|
|
99
|
+
isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeColumn(i, table)), isScatter) table.stateManager.hover.cellPos.col === i && table.stateManager.hover.cellPos.row === row || null === (_d = (_c = exports.chartInstanceListRowByRowDirection[row][i]).showCrosshair) || void 0 === _d || _d.call(_c, (axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue)); else {
|
|
100
|
+
const cellBoundry = table.getCellRelativeRect(i, row), bodyBoundryLeft = table.frozenColCount ? table.getCellRelativeRect(table.frozenColCount - 1, row).right : 0, absolutePositionLeft = Math.max(bodyBoundryLeft, table.getCellRelativeRect(i, row).left);
|
|
111
101
|
hideTooltip ? (table.stateManager.hover.cellPos.col === i && table.stateManager.hover.cellPos.row === row || exports.chartInstanceListRowByRowDirection[row][i].hideTooltip(),
|
|
112
102
|
exports.chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {
|
|
113
103
|
tooltip: !1,
|
|
114
104
|
showTooltipOption: {
|
|
115
|
-
x: absolutePositionLeft,
|
|
116
|
-
y: canvasXY.y,
|
|
105
|
+
x: absolutePositionLeft - cellBoundry.left,
|
|
106
|
+
y: canvasXY.y - cellBoundry.top,
|
|
117
107
|
activeType: "dimension"
|
|
118
108
|
}
|
|
119
109
|
})) : exports.chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {
|
|
120
110
|
tooltip: isShowTooltip,
|
|
121
111
|
showTooltipOption: {
|
|
122
|
-
x: absolutePositionLeft,
|
|
123
|
-
y: canvasXY.y,
|
|
112
|
+
x: absolutePositionLeft - cellBoundry.left,
|
|
113
|
+
y: canvasXY.y - cellBoundry.top,
|
|
124
114
|
activeType: "dimension"
|
|
125
115
|
}
|
|
126
116
|
});
|
|
127
117
|
}
|
|
128
118
|
}
|
|
129
|
-
}), 0)
|
|
119
|
+
}), 0);
|
|
120
|
+
delayRunDimensionHoverTimer.push(timer), table.scenegraph.updateNextFrame();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function generateChartInstanceListByViewRange(datum, table, deactivate = !1) {
|
|
125
|
+
var _a;
|
|
126
|
+
clearDelayRunDimensionHoverTimers();
|
|
127
|
+
const {rowStart: rowStart} = table.getBodyVisibleRowRange();
|
|
128
|
+
let rowEnd = table.getBodyVisibleRowRange().rowEnd;
|
|
129
|
+
rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);
|
|
130
|
+
const {colStart: colStart} = table.getBodyVisibleColRange();
|
|
131
|
+
let colEnd = table.getBodyVisibleColRange().colEnd;
|
|
132
|
+
colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);
|
|
133
|
+
for (let col = colStart; col <= colEnd; col++) {
|
|
134
|
+
(0, vutils_1.isValid)(exports.chartInstanceListColumnByColumnDirection[col]) || (exports.chartInstanceListColumnByColumnDirection[col] = {});
|
|
135
|
+
for (let i = rowStart; i <= rowEnd; i++) {
|
|
136
|
+
const cellGroup = table.scenegraph.getCell(col, i), chartNode = null === (_a = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _a ? void 0 : _a[0];
|
|
137
|
+
exports.chartInstanceListColumnByColumnDirection[col][i] || (0, vutils_1.isValid)(chartNode) && (chartNode.addUpdateShapeAndBoundsTag(),
|
|
138
|
+
chartNode.activeChartInstance ? exports.chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance : "pie" === chartNode.attribute.spec.type && (chartNode.activate(table),
|
|
139
|
+
exports.chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance));
|
|
140
|
+
const timer = setTimeout((() => {
|
|
141
|
+
var _a, _b;
|
|
142
|
+
if (null === (_a = exports.chartInstanceListColumnByColumnDirection[col]) || void 0 === _a ? void 0 : _a[i]) {
|
|
143
|
+
const chartDimensionLinkage = table.options.chartDimensionLinkage;
|
|
144
|
+
let isShowTooltip = !0;
|
|
145
|
+
"object" == typeof chartDimensionLinkage && (deactivate ? (exports.chartInstanceListColumnByColumnDirection[col][i].setHovered(),
|
|
146
|
+
exports.chartInstanceListColumnByColumnDirection[col][i].hideTooltip()) : (isShowTooltip = null === (_b = chartDimensionLinkage.showTooltip) || void 0 === _b || _b,
|
|
147
|
+
isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeRow(i, table), isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeColumn(col, table),
|
|
148
|
+
exports.chartInstanceListColumnByColumnDirection[col][i].setHovered(datum), isShowTooltip && exports.chartInstanceListColumnByColumnDirection[col][i].showTooltip(datum, {
|
|
149
|
+
activeType: "mark"
|
|
150
|
+
})));
|
|
151
|
+
}
|
|
152
|
+
}), 0);
|
|
153
|
+
delayRunDimensionHoverTimer.push(timer), table.scenegraph.updateNextFrame();
|
|
154
|
+
}
|
|
130
155
|
}
|
|
131
156
|
}
|
|
132
157
|
|
|
133
|
-
function
|
|
158
|
+
function checkIsShowTooltipForEdgeRow(row, table) {
|
|
159
|
+
var _a, _b;
|
|
160
|
+
let isShowTooltip = !0;
|
|
161
|
+
const {rowStart: rowStart} = table.getBodyVisibleRowRange();
|
|
162
|
+
let rowEnd = table.getBodyVisibleRowRange().rowEnd;
|
|
163
|
+
rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);
|
|
164
|
+
const chartDimensionLinkage = table.options.chartDimensionLinkage;
|
|
165
|
+
if (row === rowEnd && isShowTooltip) {
|
|
166
|
+
const heightLimitToShowTooltipForEdgeRow = null !== (_a = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow) && void 0 !== _a ? _a : 0, {rowEnd: rowEnd1} = table.getBodyVisibleRowRange(0, -heightLimitToShowTooltipForEdgeRow);
|
|
167
|
+
if (rowEnd1 === rowEnd) isShowTooltip = !0; else {
|
|
168
|
+
const {rowEnd: rowEnd2} = table.getBodyVisibleRowRange(0, 5);
|
|
169
|
+
isShowTooltip = rowEnd2 !== rowEnd;
|
|
170
|
+
}
|
|
171
|
+
} else if (row === rowStart && isShowTooltip) {
|
|
172
|
+
const heightLimitToShowTooltipForEdgeRow = null !== (_b = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow) && void 0 !== _b ? _b : 0, {rowStart: rowStart1} = table.getBodyVisibleRowRange(heightLimitToShowTooltipForEdgeRow, 0);
|
|
173
|
+
if (rowStart1 === rowStart) isShowTooltip = !0; else {
|
|
174
|
+
const {rowStart: rowStart2} = table.getBodyVisibleRowRange(0, -5);
|
|
175
|
+
isShowTooltip = rowStart2 !== rowStart;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return isShowTooltip;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
function checkIsShowTooltipForEdgeColumn(col, table) {
|
|
182
|
+
let isShowTooltip = !0;
|
|
183
|
+
const {colStart: colStart} = table.getBodyVisibleColRange();
|
|
184
|
+
let colEnd = table.getBodyVisibleColRange().colEnd;
|
|
185
|
+
colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);
|
|
186
|
+
const chartDimensionLinkage = table.options.chartDimensionLinkage;
|
|
187
|
+
if (col === colEnd && isShowTooltip) {
|
|
188
|
+
const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn, {colEnd: colEnd1} = table.getBodyVisibleColRange(0, -widthLimitToShowTooltipForEdgeColumn);
|
|
189
|
+
if (colEnd1 === colEnd) isShowTooltip = !0; else {
|
|
190
|
+
const {colEnd: colEnd2} = table.getBodyVisibleColRange(0, 5);
|
|
191
|
+
isShowTooltip = colEnd2 !== colEnd;
|
|
192
|
+
}
|
|
193
|
+
} else if (col === colStart && isShowTooltip) {
|
|
194
|
+
const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn, {colStart: colStart1} = table.getBodyVisibleColRange(widthLimitToShowTooltipForEdgeColumn, 0);
|
|
195
|
+
if (colStart1 === colStart) isShowTooltip = !0; else {
|
|
196
|
+
const {colStart: colStart2} = table.getBodyVisibleColRange(0, -5);
|
|
197
|
+
isShowTooltip = colStart2 !== colStart;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return isShowTooltip;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
function clearChartInstanceListByColumnDirection(col, excludedRow, table, forceRelease = !1) {
|
|
204
|
+
var _a;
|
|
205
|
+
if ((0, vutils_1.isValid)(exports.chartInstanceListColumnByColumnDirection[col])) {
|
|
206
|
+
for (const i in exports.chartInstanceListColumnByColumnDirection[col]) {
|
|
207
|
+
if ((0, vutils_1.isValid)(excludedRow) && Number(i) === excludedRow) continue;
|
|
208
|
+
const cellGroup = table.scenegraph.getCell(col, Number(i)), chartNode = null === (_a = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _a ? void 0 : _a[0];
|
|
209
|
+
(0, vutils_1.isValid)(chartNode) && (chartNode.addUpdateShapeAndBoundsTag(), chartNode.deactivate(table, {
|
|
210
|
+
forceRelease: forceRelease,
|
|
211
|
+
releaseChartInstance: !0,
|
|
212
|
+
releaseColumnChartInstance: !1,
|
|
213
|
+
releaseRowChartInstance: !1
|
|
214
|
+
}), exports.chartInstanceListColumnByColumnDirection[col][i] = null);
|
|
215
|
+
}
|
|
216
|
+
delete exports.chartInstanceListColumnByColumnDirection[col];
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function clearChartInstanceListByRowDirection(row, excludedCol, table, forceRelease = !1) {
|
|
134
221
|
var _a;
|
|
135
222
|
if ((0, vutils_1.isValid)(exports.chartInstanceListRowByRowDirection[row])) for (const i in exports.chartInstanceListRowByRowDirection[row]) {
|
|
136
223
|
if ((0, vutils_1.isValid)(excludedCol) && Number(i) === excludedCol) continue;
|
|
137
224
|
const cellGroup = table.scenegraph.getCell(Number(i), row), chartNode = null === (_a = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _a ? void 0 : _a[0];
|
|
138
|
-
|
|
225
|
+
(0, vutils_1.isValid)(chartNode) && (chartNode.addUpdateShapeAndBoundsTag(), chartNode.deactivate(table, {
|
|
226
|
+
forceRelease: forceRelease,
|
|
139
227
|
releaseChartInstance: !0,
|
|
140
228
|
releaseColumnChartInstance: !1,
|
|
141
229
|
releaseRowChartInstance: !1
|
|
@@ -144,9 +232,41 @@ function clearChartInstanceListByRowDirection(row, excludedCol, table) {
|
|
|
144
232
|
delete exports.chartInstanceListRowByRowDirection[row];
|
|
145
233
|
}
|
|
146
234
|
|
|
147
|
-
|
|
235
|
+
function clearDelayRunDimensionHoverTimers() {
|
|
236
|
+
for (const timer of delayRunDimensionHoverTimer) clearTimeout(timer);
|
|
237
|
+
delayRunDimensionHoverTimer.length = 0;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
function clearAllChartInstanceList(table, forceRelease = !1) {
|
|
241
|
+
clearDelayRunDimensionHoverTimers();
|
|
242
|
+
for (const col in exports.chartInstanceListColumnByColumnDirection) clearChartInstanceListByColumnDirection(Number(col), void 0, table, forceRelease);
|
|
243
|
+
for (const row in exports.chartInstanceListRowByRowDirection) clearChartInstanceListByRowDirection(Number(row), void 0, table, forceRelease);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
function disableDimensionHoverToAllChartInstances() {
|
|
247
|
+
clearDelayRunDimensionHoverTimers();
|
|
248
|
+
for (const col in exports.chartInstanceListColumnByColumnDirection) for (const row in exports.chartInstanceListColumnByColumnDirection[col]) exports.chartInstanceListColumnByColumnDirection[col][row].disableDimensionHoverEvent(!0),
|
|
249
|
+
exports.chartInstanceListColumnByColumnDirection[col][row].disableCrossHair(!0),
|
|
250
|
+
exports.chartInstanceListColumnByColumnDirection[col][row].disableTooltip(!0), exports.chartInstanceListColumnByColumnDirection[col][row].hideTooltip();
|
|
251
|
+
for (const row in exports.chartInstanceListRowByRowDirection) for (const col in exports.chartInstanceListRowByRowDirection[row]) exports.chartInstanceListRowByRowDirection[row][col].disableDimensionHoverEvent(!0),
|
|
252
|
+
exports.chartInstanceListRowByRowDirection[row][col].disableCrossHair(!0), exports.chartInstanceListRowByRowDirection[row][col].disableTooltip(!0),
|
|
253
|
+
exports.chartInstanceListRowByRowDirection[row][col].hideTooltip();
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
function enableDimensionHoverToAllChartInstances() {
|
|
257
|
+
for (const col in exports.chartInstanceListColumnByColumnDirection) for (const row in exports.chartInstanceListColumnByColumnDirection[col]) exports.chartInstanceListColumnByColumnDirection[col][row].disableDimensionHoverEvent(!1),
|
|
258
|
+
exports.chartInstanceListColumnByColumnDirection[col][row].disableCrossHair(!1),
|
|
259
|
+
exports.chartInstanceListColumnByColumnDirection[col][row].disableTooltip(!1);
|
|
260
|
+
for (const row in exports.chartInstanceListRowByRowDirection) for (const col in exports.chartInstanceListRowByRowDirection[row]) exports.chartInstanceListRowByRowDirection[row][col].disableDimensionHoverEvent(!1),
|
|
261
|
+
exports.chartInstanceListRowByRowDirection[row][col].disableCrossHair(!1), exports.chartInstanceListRowByRowDirection[row][col].disableTooltip(!1);
|
|
262
|
+
}
|
|
263
|
+
|
|
148
264
|
exports.generateChartInstanceListByColumnDirection = generateChartInstanceListByColumnDirection,
|
|
149
|
-
exports.clearChartInstanceListByColumnDirection = clearChartInstanceListByColumnDirection,
|
|
150
265
|
exports.generateChartInstanceListByRowDirection = generateChartInstanceListByRowDirection,
|
|
151
|
-
exports.
|
|
266
|
+
exports.generateChartInstanceListByViewRange = generateChartInstanceListByViewRange,
|
|
267
|
+
exports.clearChartInstanceListByColumnDirection = clearChartInstanceListByColumnDirection,
|
|
268
|
+
exports.clearChartInstanceListByRowDirection = clearChartInstanceListByRowDirection,
|
|
269
|
+
exports.clearDelayRunDimensionHoverTimers = clearDelayRunDimensionHoverTimers, exports.clearAllChartInstanceList = clearAllChartInstanceList,
|
|
270
|
+
exports.disableDimensionHoverToAllChartInstances = disableDimensionHoverToAllChartInstances,
|
|
271
|
+
exports.enableDimensionHoverToAllChartInstances = enableDimensionHoverToAllChartInstances;
|
|
152
272
|
//# sourceMappingURL=active-cell-chart-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/graphic/active-cell-chart-list.ts"],"names":[],"mappings":"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","file":"active-cell-chart-list.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { Chart } from './chart';\nimport type { PivotChartConstructorOptions } from '../../ts-types/table-engine';\nimport { debug } from 'console';\n\n//存储可视区域内鼠标hover到的该列的图表实例,key为列号做个缓存\nexport const chartInstanceListColumnByColumnDirection: Record<number, Record<number, any>> = {};\nexport const chartInstanceListRowByRowDirection: Record<number, Record<number, any>> = {};\n\n//临时存储 用于调试\n// window.chartInstanceListColumnByColumnDirection = chartInstanceListColumnByColumnDirection;\n// window.chartInstanceListRowByRowDirection = chartInstanceListRowByRowDirection;\n/**\n * 根据列号生成可视区域内图表实例列表\n * @param col 列号\n * @param table 表格实例\n */\nexport function generateChartInstanceListByColumnDirection(\n col: number,\n dimensionValueOrXValue: string,\n positionValueOrYValue: string | number,\n canvasXY: { x: number; y: number },\n table: BaseTableAPI,\n hideTooltip: boolean = false,\n isScatter: boolean = false\n) {\n if (!isValid(chartInstanceListColumnByColumnDirection[col])) {\n chartInstanceListColumnByColumnDirection[col] = {};\n }\n const { rowStart } = table.getBodyVisibleRowRange();\n let rowEnd = table.getBodyVisibleRowRange().rowEnd;\n rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);\n //增加10像素的偏移量,最后一行不是完整显示的chart就不显示tooltip\n for (let i = rowStart; i <= rowEnd; i++) {\n const cellGroup = table.scenegraph.getCell(col, i);\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n chartNode.addUpdateShapeAndBoundsTag();\n if (chartInstanceListColumnByColumnDirection[col][i]) {\n } else if (isValid(chartNode)) {\n if (chartNode.activeChartInstance) {\n chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance;\n } else {\n chartNode.activate(table);\n chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance;\n }\n }\n\n setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才能触发setDimensionIndex\n if (chartInstanceListColumnByColumnDirection[col]?.[i]) {\n const chartDimensionLinkage = (table.options as PivotChartConstructorOptions).chartDimensionLinkage;\n let isShowTooltip = !isScatter;\n if (!isScatter && typeof chartDimensionLinkage === 'object') {\n isShowTooltip = chartDimensionLinkage.showTooltip ?? true;\n if (i === rowEnd && isShowTooltip) {\n const heightLimitToShowTooltipForEdgeRow = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow ?? 0;\n const { rowEnd: rowEnd1 } = table.getBodyVisibleRowRange(0, -heightLimitToShowTooltipForEdgeRow);\n if (rowEnd1 === rowEnd) {\n isShowTooltip = true;\n } else {\n const { rowEnd: rowEnd2 } = table.getBodyVisibleRowRange(0, 5);\n if (rowEnd2 !== rowEnd) {\n isShowTooltip = true;\n } else {\n isShowTooltip = false;\n }\n }\n } else if (i === rowStart && isShowTooltip) {\n const heightLimitToShowTooltipForEdgeRow = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow ?? 0;\n const { rowStart: rowStart1 } = table.getBodyVisibleRowRange(heightLimitToShowTooltipForEdgeRow, 0);\n if (rowStart1 === rowStart) {\n isShowTooltip = true;\n } else {\n const { rowStart: rowStart2 } = table.getBodyVisibleRowRange(0, -5);\n if (rowStart2 !== rowStart) {\n isShowTooltip = true;\n } else {\n isShowTooltip = false;\n }\n }\n }\n }\n //测试代码 用于查看图表实例的id\n // const _21Group = table.scenegraph.getCell(2, 1).firstChild.activeChartInstance;\n // console.log(\n // 'setDimensionIndex column',\n // col,\n // i,\n // chartInstanceListColumnByColumnDirection[col][i].id,\n // _21Group?.id\n // );\n if (isScatter) {\n if (table.stateManager.hover.cellPos.col !== col || table.stateManager.hover.cellPos.row !== i) {\n chartInstanceListColumnByColumnDirection[col][i].showCrosshair?.((axis: any) => {\n // console.log('showCrosshair', axis.layoutOrient, dimensionValueOrXValue);\n if (axis.layoutOrient === 'left') {\n return positionValueOrYValue;\n }\n return dimensionValueOrXValue;\n });\n }\n } else {\n const bodyBoundryTop = table.frozenRowCount\n ? table.getCellRelativeRect(col, table.frozenRowCount - 1).bottom\n : 0;\n const absolutePositionTop = Math.max(bodyBoundryTop, table.getCellRelativeRect(col, i).top);\n if (hideTooltip) {\n if (table.stateManager.hover.cellPos.col !== col || table.stateManager.hover.cellPos.row !== i) {\n chartInstanceListColumnByColumnDirection[col][i].hideTooltip();\n }\n chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: false,\n showTooltipOption: { x: canvasXY.x, y: absolutePositionTop, activeType: 'dimension' }\n });\n } else {\n chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: isShowTooltip,\n showTooltipOption: { x: canvasXY.x, y: absolutePositionTop, activeType: 'dimension' }\n });\n }\n }\n }\n }, 0);\n\n table.scenegraph.updateNextFrame();\n }\n}\nexport function clearChartInstanceListByColumnDirection(col: number, excludedRow: number, table: BaseTableAPI) {\n if (isValid(chartInstanceListColumnByColumnDirection[col])) {\n for (const i in chartInstanceListColumnByColumnDirection[col]) {\n if (isValid(excludedRow) && Number(i) === excludedRow) {\n continue;\n }\n const cellGroup = table.scenegraph.getCell(col, Number(i));\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n chartNode.addUpdateShapeAndBoundsTag();\n if (isValid(chartNode)) {\n chartNode.deactivate(table, {\n releaseChartInstance: true,\n releaseColumnChartInstance: false,\n releaseRowChartInstance: false\n });\n chartInstanceListColumnByColumnDirection[col][i] = null;\n }\n }\n delete chartInstanceListColumnByColumnDirection[col];\n }\n}\n\n/**\n * 根据行号生成可视区域内图表实例列表\n * @param row 行号\n * @param table 表格实例\n */\nexport function generateChartInstanceListByRowDirection(\n row: number,\n dimensionValueOrXValue: string,\n positionValueOrYValue: string | number,\n canvasXY: { x: number; y: number },\n table: BaseTableAPI,\n hideTooltip: boolean = false,\n isScatter: boolean = false\n) {\n if (!isValid(chartInstanceListRowByRowDirection[row])) {\n chartInstanceListRowByRowDirection[row] = {};\n }\n const { colStart } = table.getBodyVisibleColRange();\n let colEnd = table.getBodyVisibleColRange().colEnd;\n colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);\n for (let i = colStart; i <= colEnd; i++) {\n const cellGroup = table.scenegraph.getCell(i, row);\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n chartNode.addUpdateShapeAndBoundsTag();\n if (chartInstanceListRowByRowDirection[row][i]) {\n } else if (isValid(chartNode)) {\n if (chartNode.activeChartInstance) {\n chartInstanceListRowByRowDirection[row][i] = chartNode.activeChartInstance;\n } else {\n chartNode.activate(table);\n chartInstanceListRowByRowDirection[row][i] = chartNode.activeChartInstance;\n }\n }\n setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才可触发setDimensionIndex绘制出东西 否则会绘制出空的\n if (chartInstanceListRowByRowDirection[row]?.[i]) {\n const chartDimensionLinkage = (table.options as PivotChartConstructorOptions).chartDimensionLinkage;\n let isShowTooltip = !isScatter;\n if (!isScatter && typeof chartDimensionLinkage === 'object') {\n isShowTooltip = chartDimensionLinkage.showTooltip ?? true;\n if (i === colEnd && isShowTooltip) {\n const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn;\n const { colEnd: colEnd1 } = table.getBodyVisibleColRange(0, -widthLimitToShowTooltipForEdgeColumn);\n if (colEnd1 === colEnd) {\n isShowTooltip = true;\n } else {\n const { colEnd: colEnd2 } = table.getBodyVisibleColRange(0, 5);\n if (colEnd2 !== colEnd) {\n isShowTooltip = true;\n } else {\n isShowTooltip = false;\n }\n }\n } else if (i === colStart && isShowTooltip) {\n const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn;\n const { colStart: colStart1 } = table.getBodyVisibleColRange(widthLimitToShowTooltipForEdgeColumn, 0);\n if (colStart1 === colStart) {\n isShowTooltip = true;\n } else {\n const { colStart: colStart2 } = table.getBodyVisibleColRange(0, -5);\n if (colStart2 !== colStart) {\n isShowTooltip = true;\n } else {\n isShowTooltip = false;\n }\n }\n }\n }\n // console.log('setDimensionIndex row', i, row, chartInstanceListRowByRowDirection[row][i].id);\n if (isScatter) {\n if (table.stateManager.hover.cellPos.col !== i || table.stateManager.hover.cellPos.row !== row) {\n chartInstanceListRowByRowDirection[row][i].showCrosshair?.((axis: any) => {\n if (axis.layoutOrient === 'left') {\n return positionValueOrYValue;\n }\n return dimensionValueOrXValue;\n });\n }\n } else {\n const bodyBoundryLeft = table.frozenColCount\n ? table.getCellRelativeRect(table.frozenColCount - 1, row).right\n : 0;\n const absolutePositionLeft = Math.max(bodyBoundryLeft, table.getCellRelativeRect(i, row).left);\n if (hideTooltip) {\n if (table.stateManager.hover.cellPos.col !== i || table.stateManager.hover.cellPos.row !== row) {\n console.log('hideTooltip', row, i);\n chartInstanceListRowByRowDirection[row][i].hideTooltip();\n }\n chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: false,\n showTooltipOption: { x: absolutePositionLeft, y: canvasXY.y, activeType: 'dimension' }\n });\n } else {\n chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: isShowTooltip,\n showTooltipOption: { x: absolutePositionLeft, y: canvasXY.y, activeType: 'dimension' }\n });\n }\n }\n }\n }, 0);\n\n table.scenegraph.updateNextFrame();\n }\n}\n\nexport function clearChartInstanceListByRowDirection(row: number, excludedCol: number, table: BaseTableAPI) {\n if (isValid(chartInstanceListRowByRowDirection[row])) {\n for (const i in chartInstanceListRowByRowDirection[row]) {\n if (isValid(excludedCol) && Number(i) === excludedCol) {\n continue;\n }\n const cellGroup = table.scenegraph.getCell(Number(i), row);\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n chartNode.addUpdateShapeAndBoundsTag();\n if (isValid(chartNode)) {\n chartNode.deactivate(table, {\n releaseChartInstance: true,\n releaseColumnChartInstance: false,\n releaseRowChartInstance: false\n });\n chartInstanceListRowByRowDirection[row][i] = null;\n console.log('clearChartInstanceListByRowDirection', row, i);\n }\n }\n }\n delete chartInstanceListRowByRowDirection[row];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/graphic/active-cell-chart-list.ts"],"names":[],"mappings":"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","file":"active-cell-chart-list.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { Chart } from './chart';\nimport type { PivotChartConstructorOptions } from '../../ts-types/table-engine';\nimport { debug } from 'console';\n/** 存储当前被执行brush框选操作的图表实例。目的是希望在鼠标离开框选的单元格 不希望chart实例马上释放掉。 实例需要保留住,这样brush框才会不消失 */\nlet brushingChartInstance: any;\nlet brushingChartInstanceCellPos: { col: number; row: number } = { col: -1, row: -1 };\n// window.brushingChartInstance = brushingChartInstance;\nexport function setBrushingChartInstance(chartInstance: any, col: number, row: number) {\n brushingChartInstance = chartInstance;\n brushingChartInstanceCellPos = { col, row };\n}\nexport function clearBrushingChartInstance() {\n brushingChartInstance = undefined;\n brushingChartInstanceCellPos = { col: -1, row: -1 };\n}\nexport function getBrushingChartInstance() {\n return brushingChartInstance;\n}\nexport function getBrushingChartInstanceCellPos() {\n return brushingChartInstanceCellPos;\n}\n//存储可视区域内鼠标hover到的该列的图表实例,key为列号做个缓存\nexport const chartInstanceListColumnByColumnDirection: Record<number, Record<number, any>> = {};\nexport const chartInstanceListRowByRowDirection: Record<number, Record<number, any>> = {};\nconst delayRunDimensionHoverTimer: any[] = [];\n//临时存储 用于调试\n// window.chartInstanceListColumnByColumnDirection = chartInstanceListColumnByColumnDirection;\n// window.chartInstanceListRowByRowDirection = chartInstanceListRowByRowDirection;\n/**\n * 根据列号生成可视区域内图表实例列表\n * @param col 列号\n * @param table 表格实例\n */\nexport function generateChartInstanceListByColumnDirection(\n col: number,\n dimensionValueOrXValue: string,\n positionValueOrYValue: string | number,\n canvasXY: { x: number; y: number },\n table: BaseTableAPI,\n hideTooltip: boolean = false,\n isScatter: boolean = false\n) {\n // 清除之前的定时器,避免旧的定时器执行\n clearDelayRunDimensionHoverTimers();\n if (!isValid(chartInstanceListColumnByColumnDirection[col])) {\n chartInstanceListColumnByColumnDirection[col] = {};\n }\n const { rowStart } = table.getBodyVisibleRowRange();\n let rowEnd = table.getBodyVisibleRowRange().rowEnd;\n rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);\n //增加10像素的偏移量,最后一行不是完整显示的chart就不显示tooltip\n for (let i = rowStart; i <= rowEnd; i++) {\n const cellGroup = table.scenegraph.getCell(col, i);\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n\n if (chartInstanceListColumnByColumnDirection[col][i]) {\n } else if (isValid(chartNode)) {\n chartNode.addUpdateShapeAndBoundsTag();\n if (chartNode.activeChartInstance) {\n chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance;\n } else {\n chartNode.activate(table);\n chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance;\n }\n }\n\n const timer = setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才能触发setDimensionIndex\n if (chartInstanceListColumnByColumnDirection[col]?.[i]) {\n const chartDimensionLinkage = (table.options as PivotChartConstructorOptions).chartDimensionLinkage;\n let isShowTooltip = !isScatter;\n if (!isScatter && typeof chartDimensionLinkage === 'object') {\n isShowTooltip = chartDimensionLinkage.showTooltip ?? true;\n isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeRow(i, table);\n }\n //测试代码 用于查看图表实例的id\n // const _21Group = table.scenegraph.getCell(2, 1).firstChild.activeChartInstance;\n // console.log(\n // 'setDimensionIndex column',\n // col,\n // i,\n // chartInstanceListColumnByColumnDirection[col][i].id,\n // _21Group?.id\n // );\n if (isScatter) {\n if (table.stateManager.hover.cellPos.col !== col || table.stateManager.hover.cellPos.row !== i) {\n chartInstanceListColumnByColumnDirection[col][i].showCrosshair?.((axis: any) => {\n // console.log('showCrosshair', axis.layoutOrient, dimensionValueOrXValue);\n if (axis.layoutOrient === 'left') {\n return positionValueOrYValue;\n }\n return dimensionValueOrXValue;\n });\n }\n } else {\n const cellBoundry = table.getCellRelativeRect(col, i);\n const bodyBoundryTop = table.frozenRowCount\n ? table.getCellRelativeRect(col, table.frozenRowCount - 1).bottom\n : 0;\n const absolutePositionTop = Math.max(bodyBoundryTop, table.getCellRelativeRect(col, i).top);\n if (hideTooltip) {\n if (table.stateManager.hover.cellPos.col !== col || table.stateManager.hover.cellPos.row !== i) {\n chartInstanceListColumnByColumnDirection[col][i].hideTooltip();\n }\n chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: false,\n showTooltipOption: {\n x: canvasXY.x - cellBoundry.left,\n y: absolutePositionTop - cellBoundry.top,\n activeType: 'dimension'\n }\n });\n } else {\n chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: isShowTooltip,\n showTooltipOption: {\n x: canvasXY.x - cellBoundry.left,\n y: absolutePositionTop - cellBoundry.top,\n activeType: 'dimension'\n }\n });\n }\n }\n }\n }, 0);\n\n delayRunDimensionHoverTimer.push(timer);\n table.scenegraph.updateNextFrame();\n }\n}\n\n/**\n * 根据行号生成可视区域内图表实例列表\n * @param row 行号\n * @param table 表格实例\n */\nexport function generateChartInstanceListByRowDirection(\n row: number,\n dimensionValueOrXValue: string,\n positionValueOrYValue: string | number,\n canvasXY: { x: number; y: number },\n table: BaseTableAPI,\n hideTooltip: boolean = false,\n isScatter: boolean = false\n) {\n // 清除之前的定时器,避免旧的定时器执行\n clearDelayRunDimensionHoverTimers();\n if (!isValid(chartInstanceListRowByRowDirection[row])) {\n chartInstanceListRowByRowDirection[row] = {};\n }\n const { colStart } = table.getBodyVisibleColRange();\n let colEnd = table.getBodyVisibleColRange().colEnd;\n colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);\n for (let i = colStart; i <= colEnd; i++) {\n const cellGroup = table.scenegraph.getCell(i, row);\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n\n if (chartInstanceListRowByRowDirection[row][i]) {\n } else if (isValid(chartNode)) {\n chartNode.addUpdateShapeAndBoundsTag();\n if (chartNode.activeChartInstance) {\n chartInstanceListRowByRowDirection[row][i] = chartNode.activeChartInstance;\n } else {\n chartNode.activate(table);\n chartInstanceListRowByRowDirection[row][i] = chartNode.activeChartInstance;\n }\n }\n const timer = setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才可触发setDimensionIndex绘制出东西 否则会绘制出空的\n if (chartInstanceListRowByRowDirection[row]?.[i]) {\n const chartDimensionLinkage = (table.options as PivotChartConstructorOptions).chartDimensionLinkage;\n let isShowTooltip = !isScatter;\n if (!isScatter && typeof chartDimensionLinkage === 'object') {\n isShowTooltip = chartDimensionLinkage.showTooltip ?? true;\n isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeColumn(i, table);\n }\n // console.log('setDimensionIndex row', i, row, chartInstanceListRowByRowDirection[row][i].id);\n if (isScatter) {\n if (table.stateManager.hover.cellPos.col !== i || table.stateManager.hover.cellPos.row !== row) {\n chartInstanceListRowByRowDirection[row][i].showCrosshair?.((axis: any) => {\n if (axis.layoutOrient === 'left') {\n return positionValueOrYValue;\n }\n return dimensionValueOrXValue;\n });\n }\n } else {\n const cellBoundry = table.getCellRelativeRect(i, row);\n const bodyBoundryLeft = table.frozenColCount\n ? table.getCellRelativeRect(table.frozenColCount - 1, row).right\n : 0;\n const absolutePositionLeft = Math.max(bodyBoundryLeft, table.getCellRelativeRect(i, row).left);\n if (hideTooltip) {\n if (table.stateManager.hover.cellPos.col !== i || table.stateManager.hover.cellPos.row !== row) {\n chartInstanceListRowByRowDirection[row][i].hideTooltip();\n }\n chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: false,\n showTooltipOption: {\n x: absolutePositionLeft - cellBoundry.left,\n y: canvasXY.y - cellBoundry.top,\n activeType: 'dimension'\n }\n });\n } else {\n chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: isShowTooltip,\n showTooltipOption: {\n x: absolutePositionLeft - cellBoundry.left,\n y: canvasXY.y - cellBoundry.top,\n activeType: 'dimension'\n }\n });\n }\n }\n }\n }, 0);\n\n delayRunDimensionHoverTimer.push(timer);\n table.scenegraph.updateNextFrame();\n }\n}\nexport function generateChartInstanceListByViewRange(datum: any, table: BaseTableAPI, deactivate: boolean = false) {\n // 清除之前的定时器,避免旧的定时器执行\n clearDelayRunDimensionHoverTimers();\n const { rowStart } = table.getBodyVisibleRowRange();\n let rowEnd = table.getBodyVisibleRowRange().rowEnd;\n rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);\n const { colStart } = table.getBodyVisibleColRange();\n let colEnd = table.getBodyVisibleColRange().colEnd;\n colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);\n //增加10像素的偏移量,最后一行不是完整显示的chart就不显示tooltip\n for (let col = colStart; col <= colEnd; col++) {\n if (!isValid(chartInstanceListColumnByColumnDirection[col])) {\n chartInstanceListColumnByColumnDirection[col] = {};\n }\n for (let i = rowStart; i <= rowEnd; i++) {\n const cellGroup = table.scenegraph.getCell(col, i);\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n\n if (chartInstanceListColumnByColumnDirection[col][i]) {\n } else if (isValid(chartNode)) {\n chartNode.addUpdateShapeAndBoundsTag();\n if (chartNode.activeChartInstance) {\n chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance;\n } else {\n if (chartNode.attribute.spec.type === 'pie') {\n chartNode.activate(table);\n chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance;\n }\n }\n }\n\n const timer = setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才能触发setDimensionIndex\n if (chartInstanceListColumnByColumnDirection[col]?.[i]) {\n const chartDimensionLinkage = (table.options as PivotChartConstructorOptions).chartDimensionLinkage;\n let isShowTooltip = true;\n if (typeof chartDimensionLinkage === 'object') {\n if (deactivate) {\n chartInstanceListColumnByColumnDirection[col][i].setHovered();\n chartInstanceListColumnByColumnDirection[col][i].hideTooltip();\n } else {\n isShowTooltip = chartDimensionLinkage.showTooltip ?? true;\n isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeRow(i, table);\n isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeColumn(col, table);\n chartInstanceListColumnByColumnDirection[col][i].setHovered(datum);\n isShowTooltip &&\n chartInstanceListColumnByColumnDirection[col][i].showTooltip(datum, {\n activeType: 'mark'\n });\n }\n }\n }\n }, 0);\n\n delayRunDimensionHoverTimer.push(timer);\n table.scenegraph.updateNextFrame();\n }\n }\n}\n/**\n * 检查是否显示tooltip 用于检查是否边缘行,且单元格被滚动遮挡只显示一部分的情况下,检测该图表显示出来至少多高 可允许显示tooltip。\n * @param row 行号\n * @param table 表格实例\n * @returns 是否显示tooltip\n * @returns\n */\nfunction checkIsShowTooltipForEdgeRow(row: number, table: BaseTableAPI) {\n let isShowTooltip = true;\n const { rowStart } = table.getBodyVisibleRowRange();\n let rowEnd = table.getBodyVisibleRowRange().rowEnd;\n rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);\n const chartDimensionLinkage = (table.options as PivotChartConstructorOptions).chartDimensionLinkage;\n if (row === rowEnd && isShowTooltip) {\n const heightLimitToShowTooltipForEdgeRow = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow ?? 0;\n const { rowEnd: rowEnd1 } = table.getBodyVisibleRowRange(0, -heightLimitToShowTooltipForEdgeRow);\n if (rowEnd1 === rowEnd) {\n isShowTooltip = true;\n } else {\n const { rowEnd: rowEnd2 } = table.getBodyVisibleRowRange(0, 5);\n if (rowEnd2 !== rowEnd) {\n isShowTooltip = true;\n } else {\n isShowTooltip = false;\n }\n }\n } else if (row === rowStart && isShowTooltip) {\n const heightLimitToShowTooltipForEdgeRow = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow ?? 0;\n const { rowStart: rowStart1 } = table.getBodyVisibleRowRange(heightLimitToShowTooltipForEdgeRow, 0);\n if (rowStart1 === rowStart) {\n isShowTooltip = true;\n } else {\n const { rowStart: rowStart2 } = table.getBodyVisibleRowRange(0, -5);\n if (rowStart2 !== rowStart) {\n isShowTooltip = true;\n } else {\n isShowTooltip = false;\n }\n }\n }\n return isShowTooltip;\n}\n\n/**\n * 检查是否显示tooltip 用于检查是否边缘列,且单元格被滚动遮挡只显示一部分的情况下,检测该图表显示出来至少多宽 可允许显示tooltip。\n * @param col 列号\n * @param table 表格实例\n * @returns 是否显示tooltip\n * @returns\n */\nfunction checkIsShowTooltipForEdgeColumn(col: number, table: BaseTableAPI) {\n let isShowTooltip = true;\n const { colStart } = table.getBodyVisibleColRange();\n let colEnd = table.getBodyVisibleColRange().colEnd;\n colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);\n const chartDimensionLinkage = (table.options as PivotChartConstructorOptions).chartDimensionLinkage;\n if (col === colEnd && isShowTooltip) {\n const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn;\n const { colEnd: colEnd1 } = table.getBodyVisibleColRange(0, -widthLimitToShowTooltipForEdgeColumn);\n if (colEnd1 === colEnd) {\n isShowTooltip = true;\n } else {\n const { colEnd: colEnd2 } = table.getBodyVisibleColRange(0, 5);\n if (colEnd2 !== colEnd) {\n isShowTooltip = true;\n } else {\n isShowTooltip = false;\n }\n }\n } else if (col === colStart && isShowTooltip) {\n const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn;\n const { colStart: colStart1 } = table.getBodyVisibleColRange(widthLimitToShowTooltipForEdgeColumn, 0);\n if (colStart1 === colStart) {\n isShowTooltip = true;\n } else {\n const { colStart: colStart2 } = table.getBodyVisibleColRange(0, -5);\n if (colStart2 !== colStart) {\n isShowTooltip = true;\n } else {\n isShowTooltip = false;\n }\n }\n }\n return isShowTooltip;\n}\nexport function clearChartInstanceListByColumnDirection(\n col: number,\n excludedRow: number,\n table: BaseTableAPI,\n forceRelease: boolean = false\n) {\n if (isValid(chartInstanceListColumnByColumnDirection[col])) {\n for (const i in chartInstanceListColumnByColumnDirection[col]) {\n if (isValid(excludedRow) && Number(i) === excludedRow) {\n continue;\n }\n const cellGroup = table.scenegraph.getCell(col, Number(i));\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n\n if (isValid(chartNode)) {\n chartNode.addUpdateShapeAndBoundsTag();\n chartNode.deactivate(table, {\n forceRelease: forceRelease,\n releaseChartInstance: true,\n releaseColumnChartInstance: false,\n releaseRowChartInstance: false\n });\n chartInstanceListColumnByColumnDirection[col][i] = null;\n }\n }\n delete chartInstanceListColumnByColumnDirection[col];\n }\n}\n\nexport function clearChartInstanceListByRowDirection(\n row: number,\n excludedCol: number,\n table: BaseTableAPI,\n forceRelease: boolean = false\n) {\n if (isValid(chartInstanceListRowByRowDirection[row])) {\n for (const i in chartInstanceListRowByRowDirection[row]) {\n if (isValid(excludedCol) && Number(i) === excludedCol) {\n continue;\n }\n const cellGroup = table.scenegraph.getCell(Number(i), row);\n const chartNode = cellGroup?.getChildren()?.[0] as Chart;\n\n if (isValid(chartNode)) {\n chartNode.addUpdateShapeAndBoundsTag();\n chartNode.deactivate(table, {\n forceRelease: forceRelease,\n releaseChartInstance: true,\n releaseColumnChartInstance: false,\n releaseRowChartInstance: false\n });\n chartInstanceListRowByRowDirection[row][i] = null;\n }\n }\n }\n delete chartInstanceListRowByRowDirection[row];\n}\n\n/**\n * 清除所有延迟执行的定时器\n */\nexport function clearDelayRunDimensionHoverTimers() {\n for (const timer of delayRunDimensionHoverTimer) {\n clearTimeout(timer);\n }\n delayRunDimensionHoverTimer.length = 0;\n}\n\nexport function clearAllChartInstanceList(table: BaseTableAPI, forceRelease: boolean = false) {\n // 清除所有延迟执行的定时器\n clearDelayRunDimensionHoverTimers();\n for (const col in chartInstanceListColumnByColumnDirection) {\n clearChartInstanceListByColumnDirection(Number(col), undefined, table, forceRelease);\n }\n for (const row in chartInstanceListRowByRowDirection) {\n clearChartInstanceListByRowDirection(Number(row), undefined, table, forceRelease);\n }\n}\n\nexport function disableDimensionHoverToAllChartInstances() {\n clearDelayRunDimensionHoverTimers();\n for (const col in chartInstanceListColumnByColumnDirection) {\n for (const row in chartInstanceListColumnByColumnDirection[col]) {\n // chartInstanceListColumnByColumnDirection[col][row]\n // .getChart()\n // .getComponentsByKey('brush')[0]\n // .disableDimensionHover();\n chartInstanceListColumnByColumnDirection[col][row].disableDimensionHoverEvent(true);\n chartInstanceListColumnByColumnDirection[col][row].disableCrossHair(true);\n chartInstanceListColumnByColumnDirection[col][row].disableTooltip(true);\n chartInstanceListColumnByColumnDirection[col][row].hideTooltip();\n }\n }\n for (const row in chartInstanceListRowByRowDirection) {\n for (const col in chartInstanceListRowByRowDirection[row]) {\n chartInstanceListRowByRowDirection[row][col].disableDimensionHoverEvent(true);\n chartInstanceListRowByRowDirection[row][col].disableCrossHair(true);\n chartInstanceListRowByRowDirection[row][col].disableTooltip(true);\n chartInstanceListRowByRowDirection[row][col].hideTooltip();\n }\n }\n}\nexport function enableDimensionHoverToAllChartInstances() {\n for (const col in chartInstanceListColumnByColumnDirection) {\n for (const row in chartInstanceListColumnByColumnDirection[col]) {\n // chartInstanceListColumnByColumnDirection[col][row]\n // .getChart()\n // .getComponentsByKey('brush')[0]\n // .enableDimensionHover();\n chartInstanceListColumnByColumnDirection[col][row].disableDimensionHoverEvent(false);\n chartInstanceListColumnByColumnDirection[col][row].disableCrossHair(false);\n chartInstanceListColumnByColumnDirection[col][row].disableTooltip(false);\n }\n }\n for (const row in chartInstanceListRowByRowDirection) {\n for (const col in chartInstanceListRowByRowDirection[row]) {\n // chartInstanceListRowByRowDirection[row][col].getChart().getComponentsByKey('brush')[0].enableDimensionHover();\n chartInstanceListRowByRowDirection[row][col].disableDimensionHoverEvent(false);\n chartInstanceListRowByRowDirection[row][col].disableCrossHair(false);\n chartInstanceListRowByRowDirection[row][col].disableTooltip(false);\n }\n }\n}\n"]}
|
|
@@ -24,6 +24,12 @@ export declare class Chart extends Rect {
|
|
|
24
24
|
attribute: IChartGraphicAttribute;
|
|
25
25
|
chartInstance: any;
|
|
26
26
|
activeChartInstance: any;
|
|
27
|
+
activeChartInstanceLastViewBox: {
|
|
28
|
+
x1: number;
|
|
29
|
+
y1: number;
|
|
30
|
+
x2: number;
|
|
31
|
+
y2: number;
|
|
32
|
+
};
|
|
27
33
|
activeChartInstanceHoverOnMark: any;
|
|
28
34
|
justShowMarkTooltip: boolean;
|
|
29
35
|
justShowMarkTooltipTimer: number;
|
|
@@ -39,10 +45,12 @@ export declare class Chart extends Rect {
|
|
|
39
45
|
constructor(isShareChartSpec: boolean, params: IChartGraphicAttribute);
|
|
40
46
|
activate(table: BaseTableAPI): void;
|
|
41
47
|
static temp: number;
|
|
42
|
-
deactivate(table: BaseTableAPI, { releaseChartInstance, releaseColumnChartInstance, releaseRowChartInstance }?: {
|
|
48
|
+
deactivate(table: BaseTableAPI, { forceRelease, releaseChartInstance, releaseColumnChartInstance, releaseRowChartInstance, releaseAllChartInstance }?: {
|
|
49
|
+
forceRelease?: boolean;
|
|
43
50
|
releaseChartInstance?: boolean;
|
|
44
51
|
releaseColumnChartInstance?: boolean;
|
|
45
52
|
releaseRowChartInstance?: boolean;
|
|
53
|
+
releaseAllChartInstance?: boolean;
|
|
46
54
|
}): void;
|
|
47
55
|
updateData(data: any): void;
|
|
48
56
|
getViewBox(): {
|