@visactor/vtable 1.22.5-alpha.0 → 1.22.5-alpha.2
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.js +4 -4
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/style-helper.js +1 -2
- package/cjs/dataset/dataset-pivot-table.js +2 -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-axis-config.js +14 -10
- package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
- package/cjs/layout/chart-helper/get-chart-spec.js +6 -2
- package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/cjs/layout/pivot-header-layout.js +20 -4
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/plugins/index.js +1 -1
- package/cjs/scenegraph/graphic/active-cell-chart-list.js +18 -2
- package/cjs/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.d.ts +3 -0
- package/cjs/scenegraph/graphic/chart.js +53 -19
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.js +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +4 -4
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +18064 -17887
- package/dist/vtable.min.js +2 -2
- package/es/PivotChart.js +4 -4
- package/es/PivotChart.js.map +1 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/style-helper.js +1 -2
- package/es/dataset/dataset-pivot-table.js +2 -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-axis-config.js +14 -10
- package/es/layout/chart-helper/get-axis-config.js.map +1 -1
- package/es/layout/chart-helper/get-chart-spec.js +5 -3
- package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/es/layout/pivot-header-layout.js +20 -4
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/plugins/index.js +1 -1
- package/es/scenegraph/graphic/active-cell-chart-list.js +18 -2
- package/es/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/es/scenegraph/graphic/chart.d.ts +3 -0
- package/es/scenegraph/graphic/chart.js +52 -18
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/refresh-node/update-chart.js +1 -1
- package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/es/ts-types/theme.d.ts +4 -4
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +4 -4
- package/cjs/layout/pivot-layout.d.ts +0 -1
- package/cjs/layout/pivot-layout.js +0 -1
- package/cjs/layout/pivot-layout.js.map +0 -1
- package/es/layout/pivot-layout.d.ts +0 -1
- package/es/layout/pivot-layout.js +0 -1
- package/es/layout/pivot-layout.js.map +0 -1
package/cjs/plugins/index.js
CHANGED
|
@@ -30,7 +30,15 @@ function generateChartInstanceListByColumnDirection(col, dimensionValueOrXValue,
|
|
|
30
30
|
isShowTooltip = rowEnd2 !== rowEnd;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
isScatter ? null === (_d = (_c = exports.chartInstanceListColumnByColumnDirection[col][i]).showCrosshair) || void 0 === _d || _d.call(_c, (axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue)) : hideTooltip ? exports.chartInstanceListColumnByColumnDirection[col][i].hideTooltip()
|
|
33
|
+
isScatter ? null === (_d = (_c = exports.chartInstanceListColumnByColumnDirection[col][i]).showCrosshair) || void 0 === _d || _d.call(_c, (axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue)) : hideTooltip ? (exports.chartInstanceListColumnByColumnDirection[col][i].hideTooltip(),
|
|
34
|
+
exports.chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {
|
|
35
|
+
tooltip: !1,
|
|
36
|
+
showTooltipOption: {
|
|
37
|
+
x: canvasXY.x,
|
|
38
|
+
y: absolutePosition.top + 3,
|
|
39
|
+
activeType: "dimension"
|
|
40
|
+
}
|
|
41
|
+
})) : exports.chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {
|
|
34
42
|
tooltip: isShowTooltip,
|
|
35
43
|
showTooltipOption: {
|
|
36
44
|
x: canvasXY.x,
|
|
@@ -83,7 +91,15 @@ function generateChartInstanceListByRowDirection(row, dimensionValueOrXValue, po
|
|
|
83
91
|
isShowTooltip = colEnd2 !== colEnd;
|
|
84
92
|
}
|
|
85
93
|
}
|
|
86
|
-
isScatter ? null === (_d = (_c = exports.chartInstanceListRowByRowDirection[row][i]).showCrosshair) || void 0 === _d || _d.call(_c, (axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue)) : hideTooltip ? exports.chartInstanceListRowByRowDirection[row][i].hideTooltip()
|
|
94
|
+
isScatter ? null === (_d = (_c = exports.chartInstanceListRowByRowDirection[row][i]).showCrosshair) || void 0 === _d || _d.call(_c, (axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue)) : hideTooltip ? (exports.chartInstanceListRowByRowDirection[row][i].hideTooltip(),
|
|
95
|
+
exports.chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {
|
|
96
|
+
tooltip: !1,
|
|
97
|
+
showTooltipOption: {
|
|
98
|
+
x: absolutePosition.left + 3,
|
|
99
|
+
y: canvasXY.y,
|
|
100
|
+
activeType: "dimension"
|
|
101
|
+
}
|
|
102
|
+
})) : exports.chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {
|
|
87
103
|
tooltip: isShowTooltip,
|
|
88
104
|
showTooltipOption: {
|
|
89
105
|
x: absolutePosition.left + 3,
|
|
@@ -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 if (table.stateManager.hover.cellPos.col !== col || table.stateManager.hover.cellPos.row !== i) {\n setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才能触发setDimensionIndex\n if (chartInstanceListColumnByColumnDirection[col]?.[i]) {\n const absolutePosition = table.getCellRelativeRect(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 heightLimitToShowTooltipForLastRow = chartDimensionLinkage.heightLimitToShowTooltipForLastRow;\n const { rowEnd: rowEnd1 } = table.getBodyVisibleRowRange(-heightLimitToShowTooltipForLastRow);\n if (rowEnd1 === rowEnd) {\n isShowTooltip = true;\n } else {\n const { rowEnd: rowEnd2 } = table.getBodyVisibleRowRange(5);\n if (rowEnd2 !== rowEnd) {\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 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 } else {\n if (hideTooltip) {\n chartInstanceListColumnByColumnDirection[col][i].hideTooltip();\n } else {\n chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: isShowTooltip,\n showTooltipOption: { x: canvasXY.x, y: absolutePosition.top + 3, 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 console.log('-----forbid_Show_Tooltip', hideTooltip);\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 if (table.stateManager.hover.cellPos.col !== i || table.stateManager.hover.cellPos.row !== row) {\n setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才可触发setDimensionIndex绘制出东西 否则会绘制出空的\n if (chartInstanceListRowByRowDirection[row]?.[i]) {\n const absolutePosition = table.getCellRelativeRect(i, row);\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 widthLimitToShowTooltipForLastColumn = chartDimensionLinkage.widthLimitToShowTooltipForLastColumn;\n const { colEnd: colEnd1 } = table.getBodyVisibleColRange(-widthLimitToShowTooltipForLastColumn);\n if (colEnd1 === colEnd) {\n isShowTooltip = true;\n } else {\n const { colEnd: colEnd2 } = table.getBodyVisibleColRange(5);\n if (colEnd2 !== colEnd) {\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 chartInstanceListRowByRowDirection[row][i].showCrosshair?.((axis: any) => {\n if (axis.layoutOrient === 'left') {\n return positionValueOrYValue;\n }\n return dimensionValueOrXValue;\n });\n } else {\n if (hideTooltip) {\n chartInstanceListRowByRowDirection[row][i].hideTooltip();\n } else {\n chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: isShowTooltip,\n showTooltipOption: { x: absolutePosition.left + 3, 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 }\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\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 if (table.stateManager.hover.cellPos.col !== col || table.stateManager.hover.cellPos.row !== i) {\n setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才能触发setDimensionIndex\n if (chartInstanceListColumnByColumnDirection[col]?.[i]) {\n const absolutePosition = table.getCellRelativeRect(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 heightLimitToShowTooltipForLastRow = chartDimensionLinkage.heightLimitToShowTooltipForLastRow;\n const { rowEnd: rowEnd1 } = table.getBodyVisibleRowRange(-heightLimitToShowTooltipForLastRow);\n if (rowEnd1 === rowEnd) {\n isShowTooltip = true;\n } else {\n const { rowEnd: rowEnd2 } = table.getBodyVisibleRowRange(5);\n if (rowEnd2 !== rowEnd) {\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 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 } else {\n if (hideTooltip) {\n chartInstanceListColumnByColumnDirection[col][i].hideTooltip();\n chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: false,\n showTooltipOption: { x: canvasXY.x, y: absolutePosition.top + 3, activeType: 'dimension' }\n });\n } else {\n chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: isShowTooltip,\n showTooltipOption: { x: canvasXY.x, y: absolutePosition.top + 3, 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 if (table.stateManager.hover.cellPos.col !== i || table.stateManager.hover.cellPos.row !== row) {\n setTimeout(() => {\n // 需要等updateNextFrame 触发了chart的drawShape后 设置了数据后 才可触发setDimensionIndex绘制出东西 否则会绘制出空的\n if (chartInstanceListRowByRowDirection[row]?.[i]) {\n const absolutePosition = table.getCellRelativeRect(i, row);\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 widthLimitToShowTooltipForLastColumn = chartDimensionLinkage.widthLimitToShowTooltipForLastColumn;\n const { colEnd: colEnd1 } = table.getBodyVisibleColRange(-widthLimitToShowTooltipForLastColumn);\n if (colEnd1 === colEnd) {\n isShowTooltip = true;\n } else {\n const { colEnd: colEnd2 } = table.getBodyVisibleColRange(5);\n if (colEnd2 !== colEnd) {\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 chartInstanceListRowByRowDirection[row][i].showCrosshair?.((axis: any) => {\n if (axis.layoutOrient === 'left') {\n return positionValueOrYValue;\n }\n return dimensionValueOrXValue;\n });\n } else {\n if (hideTooltip) {\n chartInstanceListRowByRowDirection[row][i].hideTooltip();\n chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: false,\n showTooltipOption: { x: absolutePosition.left + 3, y: canvasXY.y, activeType: 'dimension' }\n });\n } else {\n chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {\n tooltip: isShowTooltip,\n showTooltipOption: { x: absolutePosition.left + 3, 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 }\n }\n }\n delete chartInstanceListRowByRowDirection[row];\n}\n"]}
|
|
@@ -25,6 +25,9 @@ export declare class Chart extends Rect {
|
|
|
25
25
|
chartInstance: any;
|
|
26
26
|
activeChartInstance: any;
|
|
27
27
|
activeChartInstanceHoverOnMark: any;
|
|
28
|
+
justShowMarkTooltip: boolean;
|
|
29
|
+
justShowMarkTooltipTimer: number;
|
|
30
|
+
delayRunDimensionHoverTimer: any;
|
|
28
31
|
cacheCanvas: HTMLCanvasElement | {
|
|
29
32
|
x: number;
|
|
30
33
|
y: number;
|
|
@@ -4,13 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.Chart = exports.CHART_NUMBER_TYPE = void 0;
|
|
6
6
|
|
|
7
|
-
const vrender_1 = require("./../../vrender"), vutils_1 = require("@visactor/vutils"), is_cell_hover_1 = require("../../state/hover/is-cell-hover"), active_cell_chart_list_1 = require("./active-cell-chart-list");
|
|
7
|
+
const vrender_1 = require("./../../vrender"), vutils_1 = require("@visactor/vutils"), is_cell_hover_1 = require("../../state/hover/is-cell-hover"), active_cell_chart_list_1 = require("./active-cell-chart-list"), get_axis_config_1 = require("../../layout/chart-helper/get-axis-config");
|
|
8
8
|
|
|
9
9
|
exports.CHART_NUMBER_TYPE = (0, vrender_1.genNumberType)();
|
|
10
10
|
|
|
11
11
|
class Chart extends vrender_1.Rect {
|
|
12
12
|
constructor(isShareChartSpec, params) {
|
|
13
13
|
if (super(params), this.type = "chart", this.activeChartInstanceHoverOnMark = null,
|
|
14
|
+
this.justShowMarkTooltip = void 0, this.justShowMarkTooltipTimer = Date.now(), this.delayRunDimensionHoverTimer = void 0,
|
|
14
15
|
this.numberType = exports.CHART_NUMBER_TYPE, this.isShareChartSpec = isShareChartSpec,
|
|
15
16
|
params.chartInstance) this.chartInstance = params.chartInstance; else {
|
|
16
17
|
const chartInstance = this.chartInstance = new params.ClassType(params.spec, (0,
|
|
@@ -92,27 +93,58 @@ class Chart extends vrender_1.Rect {
|
|
|
92
93
|
Chart.temp = 1;
|
|
93
94
|
}), 0);
|
|
94
95
|
})), table.options.chartDimensionLinkage && this.activeChartInstance.on("dimensionHover", (params => {
|
|
95
|
-
var _a, _b
|
|
96
|
+
var _a, _b;
|
|
96
97
|
const dimensionInfo = null == params ? void 0 : params.dimensionInfo[0], canvasXY = null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.canvas, viewport = null === (_b = null == params ? void 0 : params.event) || void 0 === _b ? void 0 : _b.viewport;
|
|
97
98
|
if (viewport) {
|
|
98
99
|
const xValue = dimensionInfo.data[0].series.positionToDataX(viewport.x), yValue = dimensionInfo.data[0].series.positionToDataY(viewport.y);
|
|
99
|
-
if ("scatter" === this.attribute.spec.type)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
100
|
+
if ("scatter" === this.attribute.spec.type) {
|
|
101
|
+
(0, active_cell_chart_list_1.generateChartInstanceListByColumnDirection)(col, xValue, void 0, canvasXY, table, !1, !0),
|
|
102
|
+
(0, active_cell_chart_list_1.generateChartInstanceListByRowDirection)(row, void 0, yValue, canvasXY, table, !1, !0);
|
|
103
|
+
(0, get_axis_config_1.getAxisConfigInPivotChart)(table.rowHeaderLevelCount - 1, row, table.internalProps.layoutMap).labelHoverOnAxis && table.scenegraph.getCell(table.rowHeaderLevelCount - 1, row).firstChild.showLabelHoverOnAxis(canvasXY.y - table.getCellRelativeRect(col, row).top, yValue);
|
|
104
|
+
(0, get_axis_config_1.getAxisConfigInPivotChart)(col, table.rowCount - table.bottomFrozenRowCount, table.internalProps.layoutMap).labelHoverOnAxis && table.scenegraph.getCell(col, table.rowCount - table.bottomFrozenRowCount).firstChild.showLabelHoverOnAxis(canvasXY.x - table.getCellRelativeRect(col, row).left, xValue);
|
|
105
|
+
} else {
|
|
106
|
+
let justShowMarkTooltip = !0;
|
|
107
|
+
const preMark = this.activeChartInstanceHoverOnMark, prev_justShowMarkTooltip = this.justShowMarkTooltip;
|
|
108
|
+
params.mark && params.datum && !Array.isArray(params.datum) ? (this.activeChartInstanceHoverOnMark = params.mark,
|
|
109
|
+
justShowMarkTooltip = !0) : (this.activeChartInstanceHoverOnMark = null, justShowMarkTooltip = !1),
|
|
110
|
+
this.justShowMarkTooltip = justShowMarkTooltip;
|
|
111
|
+
let delayRunDimensionHover = !1;
|
|
112
|
+
if (!0 === prev_justShowMarkTooltip && !1 === justShowMarkTooltip ? (this.justShowMarkTooltipTimer = Date.now(),
|
|
113
|
+
delayRunDimensionHover = !0) : !1 === prev_justShowMarkTooltip && !1 === justShowMarkTooltip ? delayRunDimensionHover = Date.now() - this.justShowMarkTooltipTimer < 100 : (!1 === prev_justShowMarkTooltip && !0 === justShowMarkTooltip || !0 === prev_justShowMarkTooltip && !0 === justShowMarkTooltip) && (delayRunDimensionHover = !1,
|
|
114
|
+
clearTimeout(this.delayRunDimensionHoverTimer), this.delayRunDimensionHoverTimer = void 0),
|
|
115
|
+
"enter" === params.action || preMark !== this.activeChartInstanceHoverOnMark) {
|
|
116
|
+
const dimensionValue = dimensionInfo.value, indicatorsAsCol = table.options.indicatorsAsCol;
|
|
117
|
+
if (delayRunDimensionHover ? (clearTimeout(this.delayRunDimensionHoverTimer), this.delayRunDimensionHoverTimer = setTimeout((() => {
|
|
118
|
+
indicatorsAsCol ? (0, active_cell_chart_list_1.generateChartInstanceListByRowDirection)(row, dimensionValue, null, canvasXY, table, justShowMarkTooltip, !1) : (0,
|
|
119
|
+
active_cell_chart_list_1.generateChartInstanceListByColumnDirection)(col, dimensionValue, null, canvasXY, table, justShowMarkTooltip, !1);
|
|
120
|
+
}), 100)) : indicatorsAsCol ? (0, active_cell_chart_list_1.generateChartInstanceListByRowDirection)(row, dimensionValue, null, canvasXY, table, justShowMarkTooltip, !1) : (0,
|
|
121
|
+
active_cell_chart_list_1.generateChartInstanceListByColumnDirection)(col, dimensionValue, null, canvasXY, table, justShowMarkTooltip, !1),
|
|
122
|
+
indicatorsAsCol) {
|
|
123
|
+
const series = dimensionInfo.data[0].series, width = "histogram" === this.attribute.spec.type || "boxPlot" === this.attribute.spec.type || "line" === series.type || "area" === series.type ? 0 : series.getYAxisHelper().getBandwidth(0);
|
|
124
|
+
let y = series.valueToPositionY(dimensionValue);
|
|
125
|
+
const axisConfig = (0, get_axis_config_1.getAxisConfigInPivotChart)(table.rowHeaderLevelCount - 1, row, table.internalProps.layoutMap);
|
|
126
|
+
let hoverOnLabelValue = yValue;
|
|
127
|
+
if ("histogram" === this.attribute.spec.type) {
|
|
128
|
+
const {series: series, datum: datum} = dimensionInfo.data[0];
|
|
129
|
+
if (datum.length > 0) {
|
|
130
|
+
const rangeStartValue = datum[0][series.fieldY[0]], rangeEndValue = datum[0][series.fieldY2];
|
|
131
|
+
hoverOnLabelValue = rangeStartValue + " ~ " + rangeEndValue, y = (series.valueToPositionY(rangeStartValue) + series.valueToPositionY(rangeEndValue)) / 2;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
axisConfig.labelHoverOnAxis && table.scenegraph.getCell(table.rowHeaderLevelCount - 1, row).firstChild.showLabelHoverOnAxis(y + ("line" === series.type || "area" === series.type ? 0 : width / 2), hoverOnLabelValue);
|
|
112
135
|
} else {
|
|
113
|
-
const series = dimensionInfo.data[0].series, width = series.getXAxisHelper().getBandwidth(0)
|
|
114
|
-
|
|
115
|
-
(0,
|
|
136
|
+
const series = dimensionInfo.data[0].series, width = "histogram" === this.attribute.spec.type || "boxPlot" === this.attribute.spec.type || "line" === series.type || "area" === series.type ? 0 : series.getXAxisHelper().getBandwidth(0);
|
|
137
|
+
let x = series.valueToPositionX(dimensionValue);
|
|
138
|
+
const axisConfig = (0, get_axis_config_1.getAxisConfigInPivotChart)(col, table.rowCount - table.bottomFrozenRowCount, table.internalProps.layoutMap);
|
|
139
|
+
let hoverOnLabelValue = dimensionValue;
|
|
140
|
+
if ("histogram" === this.attribute.spec.type) {
|
|
141
|
+
const {series: series, datum: datum} = dimensionInfo.data[0];
|
|
142
|
+
if (datum.length > 0) {
|
|
143
|
+
const rangeStartValue = datum[0][series.fieldX[0]], rangeEndValue = datum[0][series.fieldX2];
|
|
144
|
+
hoverOnLabelValue = rangeStartValue + " ~ " + rangeEndValue, x = (series.valueToPositionX(rangeStartValue) + series.valueToPositionX(rangeEndValue)) / 2;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
axisConfig.labelHoverOnAxis && table.scenegraph.getCell(col, table.rowCount - table.bottomFrozenRowCount).firstChild.showLabelHoverOnAxis(x + width / 2, hoverOnLabelValue);
|
|
116
148
|
}
|
|
117
149
|
}
|
|
118
150
|
}
|
|
@@ -121,7 +153,9 @@ class Chart extends vrender_1.Rect {
|
|
|
121
153
|
}
|
|
122
154
|
deactivate(table, {releaseChartInstance: releaseChartInstance = !0, releaseColumnChartInstance: releaseColumnChartInstance = !0, releaseRowChartInstance: releaseRowChartInstance = !0} = {}) {
|
|
123
155
|
var _a, _b, _c, _d, _e, _f;
|
|
124
|
-
if (this.activeChartInstanceHoverOnMark = null,
|
|
156
|
+
if (this.activeChartInstanceHoverOnMark = null, this.justShowMarkTooltip = void 0,
|
|
157
|
+
this.justShowMarkTooltipTimer = Date.now(), clearTimeout(this.delayRunDimensionHoverTimer),
|
|
158
|
+
this.delayRunDimensionHoverTimer = void 0, releaseChartInstance) {
|
|
125
159
|
null === (_a = this.activeChartInstance) || void 0 === _a || _a.updateViewBox({
|
|
126
160
|
x1: -1e3,
|
|
127
161
|
x2: -800,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/graphic/chart.ts"],"names":[],"mappings":"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","file":"chart.js","sourcesContent":["import type { GraphicType, IGroupGraphicAttribute, Stage, Group } from './../../vrender';\nimport { genNumberType, Rect } from './../../vrender';\nimport { Bounds, merge } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { PivotChart } from '../../PivotChart';\nimport { getCellHoverColor } from '../../state/hover/is-cell-hover';\nimport {\n clearChartInstanceListByColumnDirection,\n clearChartInstanceListByRowDirection,\n generateChartInstanceListByColumnDirection,\n generateChartInstanceListByRowDirection\n} from './active-cell-chart-list';\nimport type { PivotChartConstructorOptions } from '../..';\n\ninterface IChartGraphicAttribute extends IGroupGraphicAttribute {\n canvas: HTMLCanvasElement;\n dataId: string | Record<string, string>; //如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> <dataId, series-chart的指标key用于过滤数据>\n data: any;\n spec: any;\n axes: any;\n ClassType: any;\n chartInstance: any;\n cellPadding: number[];\n mode: string;\n modeParams: any;\n dpr: number;\n // viewBox: {\n // x1: number;\n // y1: number;\n // x2: number;\n // y2: number;\n // };\n tableChartOption: any;\n col?: number;\n row?: number;\n detectPickChartItem?: boolean;\n}\n\nexport const CHART_NUMBER_TYPE = genNumberType();\n\nexport class Chart extends Rect {\n type: GraphicType = 'chart' as any;\n declare attribute: IChartGraphicAttribute;\n chartInstance: any;\n activeChartInstance: any;\n activeChartInstanceHoverOnMark: any = null;\n cacheCanvas: HTMLCanvasElement | { x: number; y: number; width: number; height: number; canvas: HTMLCanvasElement }[]; // HTMLCanvasElement\n isShareChartSpec: boolean; //针对chartSpec用户配置成函数形式的话 就不需要存储chartInstance了 会太占内存,使用这个变量 当渲染出缓存图表会就删除chartInstance实例\n constructor(isShareChartSpec: boolean, params: IChartGraphicAttribute) {\n super(params);\n this.numberType = CHART_NUMBER_TYPE;\n this.isShareChartSpec = isShareChartSpec;\n // 创建chart\n if (!params.chartInstance) {\n const chartInstance = (this.chartInstance = new params.ClassType(\n params.spec,\n merge({}, this.attribute.tableChartOption, {\n renderCanvas: params.canvas,\n mode: this.attribute.mode === 'node' ? 'node' : 'desktop-browser',\n modeParams: this.attribute.modeParams,\n canvasControled: false,\n viewBox: { x1: 0, x2: 0, y1: 0, y2: 0 },\n dpr: params.dpr,\n // viewBox: params.viewBox,\n // viewBox: this.getViewBox(),\n // viewBox: {\n // x1: params.cellPadding[3],\n // x2: params.width - params.cellPadding[1],\n // y1: params.cellPadding[0],\n // y2: params.height - params.cellPadding[2]\n // },\n interactive: false,\n animation: false,\n autoFit: false\n })\n ));\n chartInstance.renderSync();\n chartInstance.getStage().enableDirtyBounds();\n params.chartInstance = this.chartInstance = chartInstance;\n } else {\n this.chartInstance = params.chartInstance;\n }\n\n // this.chart.load().then((cache) => {\n // this.cacheCanvas = cache;\n // this.deactivate();\n // });\n }\n\n // onBeforeAttributeUpdate() {\n // if (arguments[2] === y) {\n // debugger;\n // }\n // }\n /**\n * 激活该图表元素\n * @param table\n */\n activate(table: BaseTableAPI) {\n if (this.activeChartInstance) {\n return;\n }\n const { col, row } = this.parent;\n const hoverColor = getCellHoverColor(this.parent, table);\n // this.chart = new TestChart(this.attribute.spec);\n // const ctx = this.attribute.canvas.getContext('2d');\n // const { x1, y1, x2, y2 } = this.attribute.viewBox;\n const { x1, y1, x2, y2 } = this.getViewBox();\n //获取渲染区域的bound 考虑被表头遮住部分的情况\n const tableBound = getTableBounds(col, row, table);\n const clipBound = tableBound.intersect({\n x1: x1 - table.scrollLeft,\n x2: x2 - table.scrollLeft,\n y1: y1 - table.scrollTop,\n y2: y2 - table.scrollTop\n });\n this.activeChartInstance?.release();\n this.attribute.ClassType.globalConfig.uniqueTooltip = false;\n this.activeChartInstance = new this.attribute.ClassType(\n this.attribute.spec,\n merge({}, this.attribute.tableChartOption, {\n // disableDirtyBounds: true,\n renderCanvas: this.attribute.canvas,\n mode: 'desktop-browser',\n canvasControled: false,\n // viewBox: {\n // x1: x1 - table.scrollLeft,\n // x2: x2 - table.scrollLeft,\n // y1: y1 - table.scrollTop,\n // y2: y2 - table.scrollTop\n // },\n viewBox: {\n x1: 0,\n x2: x2 - x1,\n y1: 0,\n y2: y2 - y1\n },\n dpr: table.internalProps.pixelRatio,\n animation: false,\n interactive: true,\n autoFit: false, //控制当容器变化大小时vchart实例不应响应事件进行内部处理\n beforeRender: (chartStage: Stage) => {\n const stage = this.stage;\n const ctx = chartStage.window.getContext();\n const stageMatrix = stage.window.getViewBoxTransform();\n const viewBox = stage.window.getViewBox();\n ctx.inuse = true;\n // ctx.save();\n // console.log(ctx.getImageData(0, 0, 100, 100));\n ctx.clearMatrix();\n ctx.setTransform(\n stageMatrix.a,\n stageMatrix.b,\n stageMatrix.c,\n stageMatrix.d,\n stageMatrix.e,\n stageMatrix.f,\n true\n );\n ctx.translate(viewBox.x1, viewBox.y1);\n ctx.setTransformForCurrent(true); // 替代原有的chart viewBox\n ctx.beginPath();\n ctx.rect(clipBound.x1, clipBound.y1, clipBound.x2 - clipBound.x1, clipBound.y2 - clipBound.y1);\n ctx.clip();\n ctx.clearMatrix();\n\n if (table.options.canvas && !(chartStage as any).needRender) {\n // 在使用viewbox局部渲染时,activate单独渲染chart stage,可能导致外部stage场景层级错乱\n // 此时触发整个表格的重绘,外部stage场景可以通过table的beforeRender配置触发更上一级的重绘\n chartStage.pauseRender();\n table.scenegraph.stage.dirtyBounds.union(this.globalAABBBounds);\n table.scenegraph.updateNextFrame();\n }\n },\n afterRender(stage: any) {\n const ctx = stage.window.getContext();\n ctx.inuse = false;\n\n stage.needRender = false;\n chartStage.resumeRender();\n },\n renderHooks: {\n afterClearRect(drawParams: any) {\n const { context, layer, viewBox } = drawParams;\n if (layer.main && drawParams.clear && hoverColor) {\n context.beginPath();\n context.fillStyle = hoverColor;\n context.rect(viewBox.x1, viewBox.y1, viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1);\n context.fill();\n }\n }\n }\n })\n );\n const chartStage = this.activeChartInstance.getStage();\n // chartStage.needRender = true;\n // chartStage.background = 'red';\n const matrix = this.globalTransMatrix.clone();\n const stageMatrix = this.stage.window.getViewBoxTransform();\n matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f);\n chartStage.window.setViewBoxTransform &&\n chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n\n // this.activeChartInstance.updateData('data', this.attribute.data);\n this.activeChartInstance.renderSync();\n\n (table.internalProps.layoutMap as any)?.updateDataStateToActiveChartInstance?.(this.activeChartInstance);\n this.activeChartInstance.on('click', (params: any) => {\n if (this.attribute.spec.select?.enable === false) {\n table.scenegraph.updateChartState(null);\n } else if (Chart.temp) {\n table.scenegraph.updateChartState(params?.datum);\n }\n });\n this.activeChartInstance.on('brushEnd', (params: any) => {\n table.scenegraph.updateChartState(params?.value?.inBrushData);\n Chart.temp = 0;\n setTimeout(() => {\n Chart.temp = 1;\n }, 0);\n });\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage) {\n this.activeChartInstance.on('dimensionHover', (params: any) => {\n const dimensionInfo = params?.dimensionInfo[0];\n const canvasXY = params?.event?.canvas;\n const viewport = params?.event?.viewport;\n if (viewport) {\n const xValue = dimensionInfo.data[0].series.positionToDataX(viewport.x);\n const yValue = dimensionInfo.data[0].series.positionToDataY(viewport.y);\n\n if (this.attribute.spec.type === 'scatter') {\n // console.log('receive scatter dimensionHover', params.action);\n generateChartInstanceListByColumnDirection(col, xValue, undefined, canvasXY, table, false, true);\n generateChartInstanceListByRowDirection(row, undefined, yValue, canvasXY, table, false, true);\n // 显示左侧纵向crosshair的labelHoverOnAxis\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage.labelHoverOnAxis?.left) {\n table.scenegraph\n .getCell(table.rowHeaderLevelCount - 1, row)\n .firstChild.showLabelHoverOnAxis(canvasXY.y - table.getCellRelativeRect(col, row).top, yValue);\n }\n // 显示底部横向crosshair的labelHoverOnAxis\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage.labelHoverOnAxis?.bottom) {\n table.scenegraph\n .getCell(col, table.rowCount - table.bottomFrozenRowCount)\n .firstChild.showLabelHoverOnAxis(canvasXY.x - table.getCellRelativeRect(col, row).left, xValue);\n }\n } else {\n let hideTooltip = false;\n const preMark = this.activeChartInstanceHoverOnMark;\n\n // console.log('----', params, params.datum, params.dimensionInfo[0].data[0]);\n if (params.mark && params.datum && !Array.isArray(params.datum)) {\n this.activeChartInstanceHoverOnMark = params.mark;\n hideTooltip = true;\n } else {\n this.activeChartInstanceHoverOnMark = null;\n }\n\n if (params.action === 'enter' || preMark !== this.activeChartInstanceHoverOnMark) {\n // console.log('-----preMark', params.action, hideTooltip, preMark, this.activeChartInstanceHoverOnMark);\n const dimensionValue = dimensionInfo.value;\n\n const indicatorsAsCol = (table.options as PivotChartConstructorOptions).indicatorsAsCol;\n if (indicatorsAsCol) {\n const series = dimensionInfo.data[0].series;\n const width = series.getYAxisHelper().getBandwidth(0);\n const y = series.valueToPositionY(dimensionValue);\n // 显示左侧纵向crosshair的labelHoverOnAxis\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage.labelHoverOnAxis?.left) {\n table.scenegraph\n .getCell(table.rowHeaderLevelCount - 1, row)\n .firstChild.showLabelHoverOnAxis(\n y + (series.type === 'line' || series.type === 'area' ? 0 : width / 2),\n yValue\n );\n }\n\n generateChartInstanceListByRowDirection(row, dimensionValue, null, canvasXY, table, hideTooltip, false);\n } else {\n const series = dimensionInfo.data[0].series;\n const width = series.getXAxisHelper().getBandwidth(0);\n const x = series.valueToPositionX(dimensionValue);\n // 显示底部横向crosshair的labelHoverOnAxis\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage.labelHoverOnAxis?.bottom) {\n table.scenegraph\n .getCell(col, table.rowCount - table.bottomFrozenRowCount)\n .firstChild.showLabelHoverOnAxis(\n x + (series.type === 'line' || series.type === 'area' ? 0 : width / 2),\n dimensionValue\n );\n }\n generateChartInstanceListByColumnDirection(\n col,\n dimensionValue,\n null,\n canvasXY,\n table,\n hideTooltip,\n false\n );\n }\n }\n }\n }\n });\n }\n (table as PivotChart)._bindChartEvent?.(this.activeChartInstance);\n }\n static temp: number = 1;\n /**\n * 图表失去焦点\n * @param table\n */\n deactivate(\n table: BaseTableAPI,\n {\n releaseChartInstance = true,\n releaseColumnChartInstance = true,\n releaseRowChartInstance = true\n }: { releaseChartInstance?: boolean; releaseColumnChartInstance?: boolean; releaseRowChartInstance?: boolean } = {}\n ) {\n // console.log('------deactivate', releaseChartInstance, releaseColumnChartInstance, releaseRowChartInstance);\n this.activeChartInstanceHoverOnMark = null;\n if (releaseChartInstance) {\n // move active chart view box out of browser view\n // to avoid async render when chart is releasd\n this.activeChartInstance?.updateViewBox(\n {\n x1: -1000,\n x2: -800,\n y1: -1000,\n y2: -800\n },\n false,\n false\n );\n this.activeChartInstance?.release();\n this.activeChartInstance = null;\n const { col, row } = this.parent;\n const table = (this.stage as any).table as BaseTableAPI;\n // 隐藏左侧纵向crosshair的labelHoverOnAxis\n table.internalProps.layoutMap.isAxisCell(table.rowHeaderLevelCount - 1, row) &&\n table.scenegraph.getCell(table.rowHeaderLevelCount - 1, row).firstChild.hideLabelHoverOnAxis?.();\n // 隐藏底部横向crosshair的labelHoverOnAxis\n table.internalProps.layoutMap.isAxisCell(col, table.rowCount - table.bottomFrozenRowCount) &&\n table.scenegraph.getCell(col, table.rowCount - table.bottomFrozenRowCount).firstChild.hideLabelHoverOnAxis?.();\n }\n if (releaseColumnChartInstance) {\n clearChartInstanceListByColumnDirection(\n this.parent.col,\n this.attribute.spec.type === 'scatter' ? this.parent.row : undefined,\n table\n );\n }\n if (releaseRowChartInstance) {\n clearChartInstanceListByRowDirection(\n this.parent.row,\n this.attribute.spec.type === 'scatter' ? this.parent.col : undefined,\n table\n );\n }\n }\n /** 更新图表对应数据 */\n updateData(data: any) {\n this.attribute.data = data;\n }\n\n getViewBox(): {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n } {\n const cellGroup = this.parent as Group;\n const padding = this.attribute.cellPadding;\n const table = (this.stage as any).table as BaseTableAPI;\n\n const { x1, y1, x2, y2 } = cellGroup.globalAABBBounds;\n\n return {\n x1: Math.ceil(x1 + padding[3] + table.scrollLeft + (table.options.viewBox?.x1 ?? 0)),\n x2: Math.ceil(x1 + cellGroup.attribute.width - padding[1] + table.scrollLeft + (table.options.viewBox?.x1 ?? 0)),\n y1: Math.ceil(y1 + padding[0] + table.scrollTop + (table.options.viewBox?.y1 ?? 0)),\n y2: Math.ceil(y1 + cellGroup.attribute.height - padding[2] + table.scrollTop + (table.options.viewBox?.y1 ?? 0))\n };\n }\n}\n\nfunction getTableBounds(col: number, row: number, table: BaseTableAPI) {\n const { layoutMap } = table.internalProps;\n const bodyBound = new Bounds();\n const tableBound = table.scenegraph.tableGroup.globalAABBBounds;\n bodyBound.x1 = tableBound.x1;\n bodyBound.x2 = tableBound.x2;\n bodyBound.y1 = tableBound.y1;\n bodyBound.y2 = tableBound.y2;\n if (\n layoutMap.isLeftBottomCorner(col, row) ||\n layoutMap.isRightTopCorner(col, row) ||\n layoutMap.isLeftTopCorner(col, row) ||\n layoutMap.isRightBottomCorner(col, row)\n ) {\n // frozen cornor\n } else if (layoutMap.isFrozenColumn(col, row)) {\n // left frozen\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n } else if (layoutMap.isFrozenRow(col, row)) {\n // top frozen\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n } else if (layoutMap.isRightFrozenColumn(col, row)) {\n // right frozen\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n } else if (layoutMap.isBottomFrozenRow(col, row)) {\n // bottom frozen\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n } else if (!layoutMap.isFrozenColumn(col, row) && !layoutMap.isRightFrozenColumn(col, row)) {\n // no frozen body\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n }\n\n bodyBound.x1 = bodyBound.x1 + (table.options.viewBox?.x1 ?? 0);\n bodyBound.x2 = bodyBound.x2 + (table.options.viewBox?.x1 ?? 0);\n bodyBound.y1 = bodyBound.y1 + (table.options.viewBox?.y1 ?? 0);\n bodyBound.y2 = bodyBound.y2 + (table.options.viewBox?.y1 ?? 0);\n\n return bodyBound;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/graphic/chart.ts"],"names":[],"mappings":"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","file":"chart.js","sourcesContent":["import type { GraphicType, IGroupGraphicAttribute, Stage, Group } from './../../vrender';\nimport { genNumberType, Rect } from './../../vrender';\nimport { Bounds, merge } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { PivotChart } from '../../PivotChart';\nimport { getCellHoverColor } from '../../state/hover/is-cell-hover';\nimport {\n clearChartInstanceListByColumnDirection,\n clearChartInstanceListByRowDirection,\n generateChartInstanceListByColumnDirection,\n generateChartInstanceListByRowDirection\n} from './active-cell-chart-list';\nimport type { PivotChartConstructorOptions } from '../..';\nimport { getAxisConfigInPivotChart } from '../../layout/chart-helper/get-axis-config';\n\ninterface IChartGraphicAttribute extends IGroupGraphicAttribute {\n canvas: HTMLCanvasElement;\n dataId: string | Record<string, string>; //如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> <dataId, series-chart的指标key用于过滤数据>\n data: any;\n spec: any;\n axes: any;\n ClassType: any;\n chartInstance: any;\n cellPadding: number[];\n mode: string;\n modeParams: any;\n dpr: number;\n // viewBox: {\n // x1: number;\n // y1: number;\n // x2: number;\n // y2: number;\n // };\n tableChartOption: any;\n col?: number;\n row?: number;\n detectPickChartItem?: boolean;\n}\n\nexport const CHART_NUMBER_TYPE = genNumberType();\n\nexport class Chart extends Rect {\n type: GraphicType = 'chart' as any;\n declare attribute: IChartGraphicAttribute;\n chartInstance: any;\n activeChartInstance: any;\n activeChartInstanceHoverOnMark: any = null;\n justShowMarkTooltip: boolean = undefined;\n justShowMarkTooltipTimer: number = Date.now();\n delayRunDimensionHoverTimer: any = undefined;\n cacheCanvas: HTMLCanvasElement | { x: number; y: number; width: number; height: number; canvas: HTMLCanvasElement }[]; // HTMLCanvasElement\n isShareChartSpec: boolean; //针对chartSpec用户配置成函数形式的话 就不需要存储chartInstance了 会太占内存,使用这个变量 当渲染出缓存图表会就删除chartInstance实例\n constructor(isShareChartSpec: boolean, params: IChartGraphicAttribute) {\n super(params);\n this.numberType = CHART_NUMBER_TYPE;\n this.isShareChartSpec = isShareChartSpec;\n // 创建chart\n if (!params.chartInstance) {\n const chartInstance = (this.chartInstance = new params.ClassType(\n params.spec,\n merge({}, this.attribute.tableChartOption, {\n renderCanvas: params.canvas,\n mode: this.attribute.mode === 'node' ? 'node' : 'desktop-browser',\n modeParams: this.attribute.modeParams,\n canvasControled: false,\n viewBox: { x1: 0, x2: 0, y1: 0, y2: 0 },\n dpr: params.dpr,\n // viewBox: params.viewBox,\n // viewBox: this.getViewBox(),\n // viewBox: {\n // x1: params.cellPadding[3],\n // x2: params.width - params.cellPadding[1],\n // y1: params.cellPadding[0],\n // y2: params.height - params.cellPadding[2]\n // },\n interactive: false,\n animation: false,\n autoFit: false\n })\n ));\n chartInstance.renderSync();\n chartInstance.getStage().enableDirtyBounds();\n params.chartInstance = this.chartInstance = chartInstance;\n } else {\n this.chartInstance = params.chartInstance;\n }\n\n // this.chart.load().then((cache) => {\n // this.cacheCanvas = cache;\n // this.deactivate();\n // });\n }\n\n // onBeforeAttributeUpdate() {\n // if (arguments[2] === y) {\n // debugger;\n // }\n // }\n /**\n * 激活该图表元素\n * @param table\n */\n activate(table: BaseTableAPI) {\n if (this.activeChartInstance) {\n return;\n }\n const { col, row } = this.parent;\n const hoverColor = getCellHoverColor(this.parent, table);\n // this.chart = new TestChart(this.attribute.spec);\n // const ctx = this.attribute.canvas.getContext('2d');\n // const { x1, y1, x2, y2 } = this.attribute.viewBox;\n const { x1, y1, x2, y2 } = this.getViewBox();\n //获取渲染区域的bound 考虑被表头遮住部分的情况\n const tableBound = getTableBounds(col, row, table);\n const clipBound = tableBound.intersect({\n x1: x1 - table.scrollLeft,\n x2: x2 - table.scrollLeft,\n y1: y1 - table.scrollTop,\n y2: y2 - table.scrollTop\n });\n this.activeChartInstance?.release();\n this.attribute.ClassType.globalConfig.uniqueTooltip = false;\n this.activeChartInstance = new this.attribute.ClassType(\n this.attribute.spec,\n merge({}, this.attribute.tableChartOption, {\n // disableDirtyBounds: true,\n renderCanvas: this.attribute.canvas,\n mode: 'desktop-browser',\n canvasControled: false,\n // viewBox: {\n // x1: x1 - table.scrollLeft,\n // x2: x2 - table.scrollLeft,\n // y1: y1 - table.scrollTop,\n // y2: y2 - table.scrollTop\n // },\n viewBox: {\n x1: 0,\n x2: x2 - x1,\n y1: 0,\n y2: y2 - y1\n },\n dpr: table.internalProps.pixelRatio,\n animation: false,\n interactive: true,\n autoFit: false, //控制当容器变化大小时vchart实例不应响应事件进行内部处理\n beforeRender: (chartStage: Stage) => {\n const stage = this.stage;\n const ctx = chartStage.window.getContext();\n const stageMatrix = stage.window.getViewBoxTransform();\n const viewBox = stage.window.getViewBox();\n ctx.inuse = true;\n // ctx.save();\n // console.log(ctx.getImageData(0, 0, 100, 100));\n ctx.clearMatrix();\n ctx.setTransform(\n stageMatrix.a,\n stageMatrix.b,\n stageMatrix.c,\n stageMatrix.d,\n stageMatrix.e,\n stageMatrix.f,\n true\n );\n ctx.translate(viewBox.x1, viewBox.y1);\n ctx.setTransformForCurrent(true); // 替代原有的chart viewBox\n ctx.beginPath();\n ctx.rect(clipBound.x1, clipBound.y1, clipBound.x2 - clipBound.x1, clipBound.y2 - clipBound.y1);\n ctx.clip();\n ctx.clearMatrix();\n\n if (table.options.canvas && !(chartStage as any).needRender) {\n // 在使用viewbox局部渲染时,activate单独渲染chart stage,可能导致外部stage场景层级错乱\n // 此时触发整个表格的重绘,外部stage场景可以通过table的beforeRender配置触发更上一级的重绘\n chartStage.pauseRender();\n table.scenegraph.stage.dirtyBounds.union(this.globalAABBBounds);\n table.scenegraph.updateNextFrame();\n }\n },\n afterRender(stage: any) {\n const ctx = stage.window.getContext();\n ctx.inuse = false;\n\n stage.needRender = false;\n chartStage.resumeRender();\n },\n renderHooks: {\n afterClearRect(drawParams: any) {\n const { context, layer, viewBox } = drawParams;\n if (layer.main && drawParams.clear && hoverColor) {\n context.beginPath();\n context.fillStyle = hoverColor;\n context.rect(viewBox.x1, viewBox.y1, viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1);\n context.fill();\n }\n }\n }\n })\n );\n const chartStage = this.activeChartInstance.getStage();\n // chartStage.needRender = true;\n // chartStage.background = 'red';\n const matrix = this.globalTransMatrix.clone();\n const stageMatrix = this.stage.window.getViewBoxTransform();\n matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f);\n chartStage.window.setViewBoxTransform &&\n chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n\n // this.activeChartInstance.updateData('data', this.attribute.data);\n this.activeChartInstance.renderSync();\n\n (table.internalProps.layoutMap as any)?.updateDataStateToActiveChartInstance?.(this.activeChartInstance);\n this.activeChartInstance.on('click', (params: any) => {\n if (this.attribute.spec.select?.enable === false) {\n table.scenegraph.updateChartState(null);\n } else if (Chart.temp) {\n table.scenegraph.updateChartState(params?.datum);\n }\n });\n this.activeChartInstance.on('brushEnd', (params: any) => {\n table.scenegraph.updateChartState(params?.value?.inBrushData);\n Chart.temp = 0;\n setTimeout(() => {\n Chart.temp = 1;\n }, 0);\n });\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage) {\n this.activeChartInstance.on('dimensionHover', (params: any) => {\n const dimensionInfo = params?.dimensionInfo[0];\n const canvasXY = params?.event?.canvas;\n const viewport = params?.event?.viewport;\n if (viewport) {\n const xValue = dimensionInfo.data[0].series.positionToDataX(viewport.x);\n const yValue = dimensionInfo.data[0].series.positionToDataY(viewport.y);\n\n if (this.attribute.spec.type === 'scatter') {\n // console.log('receive scatter dimensionHover', params.action);\n generateChartInstanceListByColumnDirection(col, xValue, undefined, canvasXY, table, false, true);\n generateChartInstanceListByRowDirection(row, undefined, yValue, canvasXY, table, false, true);\n const axisConfigLeft = getAxisConfigInPivotChart(\n table.rowHeaderLevelCount - 1,\n row,\n table.internalProps.layoutMap as any\n );\n // 显示左侧纵向crosshair的labelHoverOnAxis\n if (axisConfigLeft.labelHoverOnAxis) {\n table.scenegraph\n .getCell(table.rowHeaderLevelCount - 1, row)\n .firstChild.showLabelHoverOnAxis(canvasXY.y - table.getCellRelativeRect(col, row).top, yValue);\n }\n const axisConfigBottom = getAxisConfigInPivotChart(\n col,\n table.rowCount - table.bottomFrozenRowCount,\n table.internalProps.layoutMap as any\n );\n // 显示底部横向crosshair的labelHoverOnAxis\n if (axisConfigBottom.labelHoverOnAxis) {\n table.scenegraph\n .getCell(col, table.rowCount - table.bottomFrozenRowCount)\n .firstChild.showLabelHoverOnAxis(canvasXY.x - table.getCellRelativeRect(col, row).left, xValue);\n }\n } else {\n let justShowMarkTooltip = true;\n const preMark = this.activeChartInstanceHoverOnMark;\n const prev_justShowMarkTooltip = this.justShowMarkTooltip;\n // console.log('----', params, params.datum, params.dimensionInfo[0].data[0]);\n if (params.mark && params.datum && !Array.isArray(params.datum)) {\n this.activeChartInstanceHoverOnMark = params.mark;\n justShowMarkTooltip = true;\n } else {\n this.activeChartInstanceHoverOnMark = null;\n justShowMarkTooltip = false;\n }\n this.justShowMarkTooltip = justShowMarkTooltip;\n let delayRunDimensionHover: boolean = false;\n if (prev_justShowMarkTooltip === true && justShowMarkTooltip === false) {\n this.justShowMarkTooltipTimer = Date.now();\n delayRunDimensionHover = true;\n } else if (prev_justShowMarkTooltip === false && justShowMarkTooltip === false) {\n if (Date.now() - this.justShowMarkTooltipTimer < 100) {\n // 鼠标hover到空白区域时,不要立马显示tooltip,而是等100ms后显示 以防止tooltip在mark和dimension的tooltip之间来回闪烁\n delayRunDimensionHover = true;\n } else {\n delayRunDimensionHover = false;\n }\n } else if (prev_justShowMarkTooltip === false && justShowMarkTooltip === true) {\n delayRunDimensionHover = false;\n clearTimeout(this.delayRunDimensionHoverTimer);\n this.delayRunDimensionHoverTimer = undefined;\n } else if (prev_justShowMarkTooltip === true && justShowMarkTooltip === true) {\n delayRunDimensionHover = false;\n clearTimeout(this.delayRunDimensionHoverTimer); //及时清除之前的定时器\n this.delayRunDimensionHoverTimer = undefined;\n }\n\n if (params.action === 'enter' || preMark !== this.activeChartInstanceHoverOnMark) {\n // console.log('-----preMark', params.action, hideTooltip, preMark, this.activeChartInstanceHoverOnMark);\n const dimensionValue = dimensionInfo.value;\n\n const indicatorsAsCol = (table.options as PivotChartConstructorOptions).indicatorsAsCol;\n if (!delayRunDimensionHover) {\n if (indicatorsAsCol) {\n generateChartInstanceListByRowDirection(\n row,\n dimensionValue,\n null,\n canvasXY,\n table,\n justShowMarkTooltip,\n false\n );\n } else {\n generateChartInstanceListByColumnDirection(\n col,\n dimensionValue,\n null,\n canvasXY,\n table,\n justShowMarkTooltip,\n false\n );\n }\n } else {\n clearTimeout(this.delayRunDimensionHoverTimer);\n //还是需要有个延迟出现的时间,否则从mark切换到dimension时,tooltip不会出现了( preMark !== this.activeChartInstanceHoverOnMark总是为false)\n this.delayRunDimensionHoverTimer = setTimeout(() => {\n if (indicatorsAsCol) {\n generateChartInstanceListByRowDirection(\n row,\n dimensionValue,\n null,\n canvasXY,\n table,\n justShowMarkTooltip,\n false\n );\n } else {\n generateChartInstanceListByColumnDirection(\n col,\n dimensionValue,\n null,\n canvasXY,\n table,\n justShowMarkTooltip,\n false\n );\n }\n }, 100);\n }\n\n if (indicatorsAsCol) {\n const series = dimensionInfo.data[0].series;\n const width =\n this.attribute.spec.type === 'histogram' ||\n this.attribute.spec.type === 'boxPlot' ||\n series.type === 'line' ||\n series.type === 'area'\n ? 0\n : series.getYAxisHelper().getBandwidth(0);\n let y = series.valueToPositionY(dimensionValue);\n\n const axisConfig = getAxisConfigInPivotChart(\n table.rowHeaderLevelCount - 1,\n row,\n table.internalProps.layoutMap as any\n );\n let hoverOnLabelValue = yValue;\n if (this.attribute.spec.type === 'histogram') {\n const { series, datum } = dimensionInfo.data[0];\n if (datum.length > 0) {\n const rangeStartValue = datum[0][series.fieldY[0]];\n const rangeEndValue = datum[0][series.fieldY2];\n hoverOnLabelValue = rangeStartValue + ' ~ ' + rangeEndValue;\n y = (series.valueToPositionY(rangeStartValue) + series.valueToPositionY(rangeEndValue)) / 2;\n }\n }\n // 显示左侧纵向crosshair的labelHoverOnAxis\n if (axisConfig.labelHoverOnAxis) {\n table.scenegraph\n .getCell(table.rowHeaderLevelCount - 1, row)\n .firstChild.showLabelHoverOnAxis(\n y + (series.type === 'line' || series.type === 'area' ? 0 : width / 2),\n hoverOnLabelValue\n );\n }\n } else {\n const series = dimensionInfo.data[0].series;\n const width =\n this.attribute.spec.type === 'histogram' ||\n this.attribute.spec.type === 'boxPlot' ||\n series.type === 'line' ||\n series.type === 'area'\n ? 0\n : series.getXAxisHelper().getBandwidth(0);\n let x = series.valueToPositionX(dimensionValue);\n const axisConfig = getAxisConfigInPivotChart(\n col,\n table.rowCount - table.bottomFrozenRowCount,\n table.internalProps.layoutMap as any\n );\n let hoverOnLabelValue = dimensionValue;\n if (this.attribute.spec.type === 'histogram') {\n const { series, datum } = dimensionInfo.data[0];\n if (datum.length > 0) {\n const rangeStartValue = datum[0][series.fieldX[0]];\n const rangeEndValue = datum[0][series.fieldX2];\n hoverOnLabelValue = rangeStartValue + ' ~ ' + rangeEndValue;\n x = (series.valueToPositionX(rangeStartValue) + series.valueToPositionX(rangeEndValue)) / 2;\n }\n }\n // 显示底部横向crosshair的labelHoverOnAxis\n if (axisConfig.labelHoverOnAxis) {\n table.scenegraph\n .getCell(col, table.rowCount - table.bottomFrozenRowCount)\n .firstChild.showLabelHoverOnAxis(x + width / 2, hoverOnLabelValue);\n }\n }\n }\n }\n }\n });\n }\n (table as PivotChart)._bindChartEvent?.(this.activeChartInstance);\n }\n static temp: number = 1;\n /**\n * 图表失去焦点\n * @param table\n */\n deactivate(\n table: BaseTableAPI,\n {\n releaseChartInstance = true,\n releaseColumnChartInstance = true,\n releaseRowChartInstance = true\n }: { releaseChartInstance?: boolean; releaseColumnChartInstance?: boolean; releaseRowChartInstance?: boolean } = {}\n ) {\n // console.log('------deactivate', releaseChartInstance, releaseColumnChartInstance, releaseRowChartInstance);\n this.activeChartInstanceHoverOnMark = null;\n this.justShowMarkTooltip = undefined;\n this.justShowMarkTooltipTimer = Date.now();\n clearTimeout(this.delayRunDimensionHoverTimer);\n this.delayRunDimensionHoverTimer = undefined;\n if (releaseChartInstance) {\n // move active chart view box out of browser view\n // to avoid async render when chart is releasd\n this.activeChartInstance?.updateViewBox(\n {\n x1: -1000,\n x2: -800,\n y1: -1000,\n y2: -800\n },\n false,\n false\n );\n this.activeChartInstance?.release();\n this.activeChartInstance = null;\n const { col, row } = this.parent;\n const table = (this.stage as any).table as BaseTableAPI;\n // 隐藏左侧纵向crosshair的labelHoverOnAxis\n table.internalProps.layoutMap.isAxisCell(table.rowHeaderLevelCount - 1, row) &&\n table.scenegraph.getCell(table.rowHeaderLevelCount - 1, row).firstChild.hideLabelHoverOnAxis?.();\n // 隐藏底部横向crosshair的labelHoverOnAxis\n table.internalProps.layoutMap.isAxisCell(col, table.rowCount - table.bottomFrozenRowCount) &&\n table.scenegraph.getCell(col, table.rowCount - table.bottomFrozenRowCount).firstChild.hideLabelHoverOnAxis?.();\n }\n if (releaseColumnChartInstance) {\n clearChartInstanceListByColumnDirection(\n this.parent.col,\n this.attribute.spec.type === 'scatter' ? this.parent.row : undefined,\n table\n );\n }\n if (releaseRowChartInstance) {\n clearChartInstanceListByRowDirection(\n this.parent.row,\n this.attribute.spec.type === 'scatter' ? this.parent.col : undefined,\n table\n );\n }\n }\n /** 更新图表对应数据 */\n updateData(data: any) {\n this.attribute.data = data;\n }\n\n getViewBox(): {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n } {\n const cellGroup = this.parent as Group;\n const padding = this.attribute.cellPadding;\n const table = (this.stage as any).table as BaseTableAPI;\n\n const { x1, y1, x2, y2 } = cellGroup.globalAABBBounds;\n\n return {\n x1: Math.ceil(x1 + padding[3] + table.scrollLeft + (table.options.viewBox?.x1 ?? 0)),\n x2: Math.ceil(x1 + cellGroup.attribute.width - padding[1] + table.scrollLeft + (table.options.viewBox?.x1 ?? 0)),\n y1: Math.ceil(y1 + padding[0] + table.scrollTop + (table.options.viewBox?.y1 ?? 0)),\n y2: Math.ceil(y1 + cellGroup.attribute.height - padding[2] + table.scrollTop + (table.options.viewBox?.y1 ?? 0))\n };\n }\n}\n\nfunction getTableBounds(col: number, row: number, table: BaseTableAPI) {\n const { layoutMap } = table.internalProps;\n const bodyBound = new Bounds();\n const tableBound = table.scenegraph.tableGroup.globalAABBBounds;\n bodyBound.x1 = tableBound.x1;\n bodyBound.x2 = tableBound.x2;\n bodyBound.y1 = tableBound.y1;\n bodyBound.y2 = tableBound.y2;\n if (\n layoutMap.isLeftBottomCorner(col, row) ||\n layoutMap.isRightTopCorner(col, row) ||\n layoutMap.isLeftTopCorner(col, row) ||\n layoutMap.isRightBottomCorner(col, row)\n ) {\n // frozen cornor\n } else if (layoutMap.isFrozenColumn(col, row)) {\n // left frozen\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n } else if (layoutMap.isFrozenRow(col, row)) {\n // top frozen\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n } else if (layoutMap.isRightFrozenColumn(col, row)) {\n // right frozen\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n } else if (layoutMap.isBottomFrozenRow(col, row)) {\n // bottom frozen\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n } else if (!layoutMap.isFrozenColumn(col, row) && !layoutMap.isRightFrozenColumn(col, row)) {\n // no frozen body\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n }\n\n bodyBound.x1 = bodyBound.x1 + (table.options.viewBox?.x1 ?? 0);\n bodyBound.x2 = bodyBound.x2 + (table.options.viewBox?.x1 ?? 0);\n bodyBound.y1 = bodyBound.y1 + (table.options.viewBox?.y1 ?? 0);\n bodyBound.y2 = bodyBound.y2 + (table.options.viewBox?.y1 ?? 0);\n\n return bodyBound;\n}\n"]}
|
|
@@ -150,7 +150,7 @@ function updateChartState(scenegraph, datum) {
|
|
|
150
150
|
const table = scenegraph.table;
|
|
151
151
|
if (table.isPivotChart()) {
|
|
152
152
|
const preSelectItemsCount = table._selectedDataItemsInChart.length;
|
|
153
|
-
if ((null
|
|
153
|
+
if ((null == datum || 0 === (null == datum ? void 0 : datum.length) || 0 === Object.keys(datum).length) && 0 === preSelectItemsCount) return;
|
|
154
154
|
const newSelectedDataItemsInChart = [];
|
|
155
155
|
if (Array.isArray(datum)) datum.forEach((dataItem => {
|
|
156
156
|
if (dataItem && 0 !== dataItem.key && Object.keys(dataItem).length > 0) {
|