@visactor/vtable 1.22.11-alpha.10 → 1.22.11-alpha.12
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.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/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/index.js +1 -2
- package/cjs/layout/layout-helper.js +1 -1
- package/cjs/layout/pivot-header-layout.js +4 -3
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/row-height-map.js +1 -1
- package/cjs/layout/simple-header-layout.js +1 -1
- package/cjs/layout/tree-helper.js +1 -1
- package/cjs/plugins/custom-cell-style.js +2 -1
- package/cjs/plugins/interface.js +1 -1
- package/cjs/plugins/invert-highlight.js +1 -1
- package/cjs/plugins/list-tree-stick-cell.js +1 -1
- package/cjs/plugins/plugin-manager.js +1 -1
- package/cjs/scenegraph/graphic/active-cell-chart-list.d.ts +5 -1
- package/cjs/scenegraph/graphic/active-cell-chart-list.js +45 -12
- package/cjs/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.js +4 -3
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +7 -16
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/state/state.js +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +62 -24
- package/dist/vtable.min.js +1 -1
- 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/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/index.js +1 -2
- package/es/layout/layout-helper.js +1 -1
- package/es/layout/pivot-header-layout.js +4 -2
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/row-height-map.js +1 -1
- package/es/layout/simple-header-layout.js +1 -1
- package/es/layout/tree-helper.js +1 -1
- package/es/plugins/custom-cell-style.js +2 -1
- package/es/plugins/interface.js +1 -1
- package/es/plugins/invert-highlight.js +1 -1
- package/es/plugins/list-tree-stick-cell.js +1 -1
- package/es/plugins/plugin-manager.js +1 -1
- package/es/scenegraph/graphic/active-cell-chart-list.d.ts +5 -1
- package/es/scenegraph/graphic/active-cell-chart-list.js +40 -10
- package/es/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/es/scenegraph/graphic/chart.js +4 -4
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/scenegraph.js +8 -17
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/state/state.js +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +3 -3
|
@@ -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 setBrushingChartInstance,\n clearAllChartInstanceList,\n clearChartInstanceListByColumnDirection,\n clearChartInstanceListByRowDirection,\n generateChartInstanceListByColumnDirection,\n generateChartInstanceListByRowDirection,\n generateChartInstanceListByViewRange,\n getBrushingChartInstance,\n isDisabledTooltipToAllChartInstances\n} from './active-cell-chart-list';\nimport type { PivotChartConstructorOptions } from '../..';\nimport { getAxisConfigInPivotChart } from '../../layout/chart-helper/get-axis-config';\nimport { cancellableThrottle } from '../../tools/util';\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 activeChartInstanceLastViewBox: { x1: number; y1: number; x2: number; y2: number } = null;\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.chartInstance?.release();\n // this.chartInstance = null;\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 // console.log(\n // 'beforeRender clip',\n // clipBound.x1,\n // clipBound.y1,\n // clipBound.x2 - clipBound.x1,\n // clipBound.y2 - clipBound.y1\n // );\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 componentShowContent:\n (table.options as PivotChartConstructorOptions).chartDimensionLinkage?.showTooltip &&\n this.attribute.spec.type !== 'scatter'\n ? {\n tooltip: {\n dimension: false,\n mark: true\n },\n crosshair: false\n }\n : undefined\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, undefined);\n } else if (Chart.temp) {\n table.scenegraph.updateChartState(params?.datum, 'click');\n }\n });\n let brushChangeThrottle: any;\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage?.listenBrushChange) {\n // 创建可取消的节流函数,用于 brushChange 事件\n brushChangeThrottle = cancellableThrottle(\n table.scenegraph.updateChartState.bind(table.scenegraph),\n (table.options as PivotChartConstructorOptions).chartDimensionLinkage?.brushChangeDelay ?? 100\n );\n\n this.activeChartInstance.on('brushChange', (params: any) => {\n brushChangeThrottle.throttled(params?.value?.inBrushData, 'brush');\n });\n }\n this.activeChartInstance.on('brushStart', (params: any) => {\n const brushingChartInstance = getBrushingChartInstance();\n if (brushingChartInstance !== this.activeChartInstance) {\n if (brushingChartInstance) {\n brushingChartInstance.getChart()?.getComponentsByKey('brush')[0].clearBrushStateAndMask();\n }\n setBrushingChartInstance(this.activeChartInstance, col, row);\n }\n });\n this.activeChartInstance.on('brushEnd', (params: any) => {\n // 取消 brushChange 中可能还在等待的节流执行\n brushChangeThrottle?.cancel();\n\n // 立即执行 updateChartState,确保 brushEnd 的调用能及时执行\n table.scenegraph.updateChartState(params?.value?.inBrushData, 'brush');\n Chart.temp = 0;\n setTimeout(() => {\n Chart.temp = 1;\n }, 0);\n });\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage?.showTooltip) {\n if (this.attribute.spec.type === 'pie') {\n this.activeChartInstance.on('pointerover', { markName: 'pie' }, (params: any) => {\n const categoryField = this.attribute.spec.categoryField;\n const datum = { [categoryField]: params?.datum?.[categoryField] };\n\n generateChartInstanceListByViewRange(datum, table, false);\n });\n this.activeChartInstance.on('pointerout', { markName: 'pie' }, (params: any) => {\n const categoryField = this.attribute.spec.categoryField;\n const datum = { [categoryField]: params?.datum?.[categoryField] };\n generateChartInstanceListByViewRange(datum, table, true);\n });\n }\n this.activeChartInstance.on('dimensionHover', (params: any) => {\n if (isDisabledTooltipToAllChartInstances()) {\n return;\n }\n //和下面调用disableTooltip做对应,一个关闭,一个打开。如果这里不加这句话可能导致这个实例没有tooltip的情况(如这个实例没有机会被加入到chartInstanceListColumnByColumnDirection或chartInstanceListRowByRowDirection中)\n this.activeChartInstance.disableTooltip(false);\n\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 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 //#region 显示横纵向crosshair的labelHoverOnAxis 代码块\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 //#endregion 显示横纵向crosshair的labelHoverOnAxis 代码块\n } else {\n //hover到mark和dimension的tooltip显示逻辑有区别,hover到mark的时候只显示背景及本身的tooltip,不显示其他联动区域图表的tooltip,而hover到dimension的时候需要显示其他联动区域图表的tooltip\n //#region 为了解决鼠标快速移动于mark和dimension之间造成tooltip闪动问题,纯粹的防抖效果不好的问题,需要增加一个延迟显示tooltip的机制(写了一堆看不懂的逻辑)\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 !== false && 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 this.clearDelayRunDimensionHoverTimer();\n } else if (prev_justShowMarkTooltip === true && justShowMarkTooltip === true) {\n delayRunDimensionHover = false;\n this.clearDelayRunDimensionHoverTimer(); //及时清除之前的定时器\n }\n //#endregion\n\n if (\n params.action === 'enter' ||\n params.action === 'move' ||\n preMark !== this.activeChartInstanceHoverOnMark\n ) {\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 this.clearDelayRunDimensionHoverTimer();\n //还是需要有个延迟出现的时间,否则从mark切换到dimension时,tooltip不会出现了( preMark !== this.activeChartInstanceHoverOnMark总是为false)\n this.delayRunDimensionHoverTimer = setTimeout(() => {\n if (isDisabledTooltipToAllChartInstances()) {\n // 如果当前是禁止显示tooltip的状态,这里的逻辑不会执行。否则这个延时会导致显示tooltip\n return;\n }\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 //#region 显示横纵向crosshair的labelHoverOnAxis 代码块\n if (indicatorsAsCol) {\n const series = dimensionInfo.data[0].series;\n const width =\n this.attribute.spec.type === 'histogram' || series.type === 'line' || 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' || series.type === 'line' || 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 //#endregion 显示横纵向crosshair的labelHoverOnAxis 代码块\n }\n }\n }\n });\n }\n (table as PivotChart)._bindChartEvent?.(this.activeChartInstance);\n\n if (isDisabledTooltipToAllChartInstances()) {\n // 如果所有图表实例都禁用了dimensionHover,新建图表实例时,禁用当前图表实例的tooltip。避免在brush过程中显示tooltip\n this.activeChartInstance.disableTooltip(true);\n }\n }\n static temp: number = 1;\n\n clearDelayRunDimensionHoverTimer() {\n clearTimeout(this.delayRunDimensionHoverTimer);\n this.delayRunDimensionHoverTimer = undefined;\n }\n /**\n * 图表失去焦点\n * @param table\n */\n deactivate(\n table: BaseTableAPI,\n {\n forceRelease = false,\n releaseChartInstance = true,\n releaseColumnChartInstance = true,\n releaseRowChartInstance = true,\n releaseAllChartInstance = false\n }: {\n forceRelease?: boolean;\n releaseChartInstance?: boolean;\n releaseColumnChartInstance?: boolean;\n releaseRowChartInstance?: boolean;\n releaseAllChartInstance?: boolean;\n } = {}\n ) {\n // console.trace('------deactivate', releaseChartInstance, releaseColumnChartInstance, releaseRowChartInstance);\n this.activeChartInstanceHoverOnMark = null;\n this.justShowMarkTooltip = undefined;\n this.justShowMarkTooltipTimer = Date.now();\n this.clearDelayRunDimensionHoverTimer();\n if (releaseChartInstance) {\n // move active chart view box out of browser view\n // to avoid async render when chart is releasd\n\n if (\n this.activeChartInstance &&\n (forceRelease || !getBrushingChartInstance() || getBrushingChartInstance() !== this.activeChartInstance)\n ) {\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 }\n\n const { col, row } = this.parent;\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 } else {\n const { col, row } = this.parent;\n if (releaseColumnChartInstance) {\n // 隐藏底部横向crosshair的labelHoverOnAxis\n table.internalProps.layoutMap.isAxisCell(col, table.rowCount - table.bottomFrozenRowCount) &&\n table.scenegraph\n .getCell(col, table.rowCount - table.bottomFrozenRowCount)\n .firstChild?.hideLabelHoverOnAxis?.();\n }\n if (releaseRowChartInstance) {\n // 隐藏左侧纵向crosshair的labelHoverOnAxis\n table.internalProps.layoutMap.isAxisCell(table.rowHeaderLevelCount - 1, row) &&\n table.scenegraph.getCell(table.rowHeaderLevelCount - 1, row).firstChild?.hideLabelHoverOnAxis?.();\n }\n }\n if (releaseAllChartInstance) {\n clearAllChartInstanceList(table, forceRelease);\n } else {\n if (releaseColumnChartInstance) {\n clearChartInstanceListByColumnDirection(\n this.parent.col,\n this.attribute.spec.type === 'scatter' ? this.parent.row : undefined,\n table,\n forceRelease\n );\n }\n if (releaseRowChartInstance) {\n clearChartInstanceListByRowDirection(\n this.parent.row,\n this.attribute.spec.type === 'scatter' ? this.parent.col : undefined,\n table,\n forceRelease\n );\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 const viewBox = {\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 if (this.activeChartInstance) {\n this.activeChartInstanceLastViewBox = viewBox;\n } else {\n this.activeChartInstanceLastViewBox = null;\n }\n return viewBox;\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 setBrushingChartInstance,\n clearAllChartInstanceList,\n clearChartInstanceListByColumnDirection,\n clearChartInstanceListByRowDirection,\n generateChartInstanceListByColumnDirection,\n generateChartInstanceListByRowDirection,\n generateChartInstanceListByViewRange,\n getBrushingChartInstance,\n isDisabledTooltipToAllChartInstances,\n clearAndReleaseBrushingChartInstance\n} from './active-cell-chart-list';\nimport type { PivotChartConstructorOptions } from '../..';\nimport { getAxisConfigInPivotChart } from '../../layout/chart-helper/get-axis-config';\nimport { cancellableThrottle } from '../../tools/util';\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 activeChartInstanceLastViewBox: { x1: number; y1: number; x2: number; y2: number } = null;\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.chartInstance?.release();\n // this.chartInstance = null;\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 // console.log(\n // 'beforeRender clip',\n // clipBound.x1,\n // clipBound.y1,\n // clipBound.x2 - clipBound.x1,\n // clipBound.y2 - clipBound.y1\n // );\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 componentShowContent:\n (table.options as PivotChartConstructorOptions).chartDimensionLinkage?.showTooltip &&\n this.attribute.spec.type !== 'scatter'\n ? {\n tooltip: {\n dimension: false,\n mark: true\n },\n crosshair: false\n }\n : undefined\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, undefined);\n } else if (Chart.temp) {\n // const brushingChartInstance = getBrushingChartInstance();\n // if (brushingChartInstance && brushingChartInstance !== this.activeChartInstance) {\n table.scenegraph.updateChartState(null, 'brush');\n // }\n table.scenegraph.updateChartState(params?.datum, 'click');\n }\n });\n let brushChangeThrottle: any;\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage?.listenBrushChange) {\n // 创建可取消的节流函数,用于 brushChange 事件\n brushChangeThrottle = cancellableThrottle(\n table.scenegraph.updateChartState.bind(table.scenegraph),\n (table.options as PivotChartConstructorOptions).chartDimensionLinkage?.brushChangeDelay ?? 100\n );\n\n this.activeChartInstance.on('brushChange', (params: any) => {\n brushChangeThrottle.throttled(params?.value?.inBrushData, 'brush');\n });\n }\n this.activeChartInstance.on('brushStart', (params: any) => {\n const brushingChartInstance = getBrushingChartInstance();\n if (brushingChartInstance !== this.activeChartInstance) {\n if (brushingChartInstance) {\n // brush框选完一个图表,马上去框选另一个单元格的图表,释放掉前一个图表的实例,如果有联动情况下这个释放可能会影响,但是在dimensionhover事件中会马上新建个实例的\n clearAndReleaseBrushingChartInstance(table.scenegraph);\n // brushingChartInstance.getChart()?.getComponentsByKey('brush')[0].clearBrushStateAndMask();\n }\n setBrushingChartInstance(this.activeChartInstance, col, row);\n }\n });\n this.activeChartInstance.on('brushEnd', (params: any) => {\n // 取消 brushChange 中可能还在等待的节流执行\n brushChangeThrottle?.cancel();\n\n // 立即执行 updateChartState,确保 brushEnd 的调用能及时执行\n table.scenegraph.updateChartState(params?.value?.inBrushData, 'brush');\n Chart.temp = 0;\n setTimeout(() => {\n Chart.temp = 1;\n }, 0);\n });\n if ((table.options as PivotChartConstructorOptions).chartDimensionLinkage?.showTooltip) {\n if (this.attribute.spec.type === 'pie') {\n this.activeChartInstance.on('pointerover', { markName: 'pie' }, (params: any) => {\n const categoryField = this.attribute.spec.categoryField;\n const datum = { [categoryField]: params?.datum?.[categoryField] };\n\n generateChartInstanceListByViewRange(datum, table, false);\n });\n this.activeChartInstance.on('pointerout', { markName: 'pie' }, (params: any) => {\n const categoryField = this.attribute.spec.categoryField;\n const datum = { [categoryField]: params?.datum?.[categoryField] };\n generateChartInstanceListByViewRange(datum, table, true);\n });\n }\n this.activeChartInstance.on('dimensionHover', (params: any) => {\n if (isDisabledTooltipToAllChartInstances()) {\n return;\n }\n //和下面调用disableTooltip做对应,一个关闭,一个打开。如果这里不加这句话可能导致这个实例没有tooltip的情况(如这个实例没有机会被加入到chartInstanceListColumnByColumnDirection或chartInstanceListRowByRowDirection中)\n this.activeChartInstance.disableTooltip(false);\n\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 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 //#region 显示横纵向crosshair的labelHoverOnAxis 代码块\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 //#endregion 显示横纵向crosshair的labelHoverOnAxis 代码块\n } else {\n //hover到mark和dimension的tooltip显示逻辑有区别,hover到mark的时候只显示背景及本身的tooltip,不显示其他联动区域图表的tooltip,而hover到dimension的时候需要显示其他联动区域图表的tooltip\n //#region 为了解决鼠标快速移动于mark和dimension之间造成tooltip闪动问题,纯粹的防抖效果不好的问题,需要增加一个延迟显示tooltip的机制(写了一堆看不懂的逻辑)\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 !== false && 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 this.clearDelayRunDimensionHoverTimer();\n } else if (prev_justShowMarkTooltip === true && justShowMarkTooltip === true) {\n delayRunDimensionHover = false;\n this.clearDelayRunDimensionHoverTimer(); //及时清除之前的定时器\n }\n //#endregion\n\n if (\n params.action === 'enter' ||\n params.action === 'move' ||\n preMark !== this.activeChartInstanceHoverOnMark\n ) {\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 this.clearDelayRunDimensionHoverTimer();\n //还是需要有个延迟出现的时间,否则从mark切换到dimension时,tooltip不会出现了( preMark !== this.activeChartInstanceHoverOnMark总是为false)\n this.delayRunDimensionHoverTimer = setTimeout(() => {\n if (isDisabledTooltipToAllChartInstances()) {\n // 如果当前是禁止显示tooltip的状态,这里的逻辑不会执行。否则这个延时会导致显示tooltip\n return;\n }\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 //#region 显示横纵向crosshair的labelHoverOnAxis 代码块\n if (indicatorsAsCol) {\n const series = dimensionInfo.data[0].series;\n const width =\n this.attribute.spec.type === 'histogram' || series.type === 'line' || 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' || series.type === 'line' || 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 //#endregion 显示横纵向crosshair的labelHoverOnAxis 代码块\n }\n }\n }\n });\n }\n (table as PivotChart)._bindChartEvent?.(this.activeChartInstance);\n\n if (isDisabledTooltipToAllChartInstances()) {\n // 如果所有图表实例都禁用了dimensionHover,新建图表实例时,禁用当前图表实例的tooltip。避免在brush过程中显示tooltip\n this.activeChartInstance.disableTooltip(true);\n }\n }\n static temp: number = 1;\n\n clearDelayRunDimensionHoverTimer() {\n clearTimeout(this.delayRunDimensionHoverTimer);\n this.delayRunDimensionHoverTimer = undefined;\n }\n /**\n * 图表失去焦点\n * @param table\n */\n deactivate(\n table: BaseTableAPI,\n {\n forceRelease = false,\n releaseChartInstance = true,\n releaseColumnChartInstance = true,\n releaseRowChartInstance = true,\n releaseAllChartInstance = false\n }: {\n forceRelease?: boolean;\n releaseChartInstance?: boolean;\n releaseColumnChartInstance?: boolean;\n releaseRowChartInstance?: boolean;\n releaseAllChartInstance?: boolean;\n } = {}\n ) {\n this.activeChartInstanceHoverOnMark = null;\n this.justShowMarkTooltip = undefined;\n this.justShowMarkTooltipTimer = Date.now();\n this.clearDelayRunDimensionHoverTimer();\n if (releaseChartInstance) {\n // move active chart view box out of browser view\n // to avoid async render when chart is releasd\n\n if (\n this.activeChartInstance &&\n (forceRelease || !getBrushingChartInstance() || getBrushingChartInstance() !== this.activeChartInstance)\n ) {\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 }\n\n const { col, row } = this.parent;\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 } else {\n const { col, row } = this.parent;\n if (releaseColumnChartInstance) {\n // 隐藏底部横向crosshair的labelHoverOnAxis\n table.internalProps.layoutMap.isAxisCell(col, table.rowCount - table.bottomFrozenRowCount) &&\n table.scenegraph\n .getCell(col, table.rowCount - table.bottomFrozenRowCount)\n .firstChild?.hideLabelHoverOnAxis?.();\n }\n if (releaseRowChartInstance) {\n // 隐藏左侧纵向crosshair的labelHoverOnAxis\n table.internalProps.layoutMap.isAxisCell(table.rowHeaderLevelCount - 1, row) &&\n table.scenegraph.getCell(table.rowHeaderLevelCount - 1, row).firstChild?.hideLabelHoverOnAxis?.();\n }\n }\n if (releaseAllChartInstance) {\n clearAllChartInstanceList(table, forceRelease);\n } else {\n if (releaseColumnChartInstance) {\n clearChartInstanceListByColumnDirection(\n this.parent.col,\n this.attribute.spec.type === 'scatter' ? this.parent.row : undefined,\n table,\n forceRelease\n );\n }\n if (releaseRowChartInstance) {\n clearChartInstanceListByRowDirection(\n this.parent.row,\n this.attribute.spec.type === 'scatter' ? this.parent.col : undefined,\n table,\n forceRelease\n );\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 const viewBox = {\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 if (this.activeChartInstance) {\n this.activeChartInstanceLastViewBox = viewBox;\n } else {\n this.activeChartInstanceLastViewBox = null;\n }\n return viewBox;\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"]}
|
|
@@ -315,26 +315,17 @@ class Scenegraph {
|
|
|
315
315
|
(0, icon_update_1.resetResidentHoverIcon)(col, row, this);
|
|
316
316
|
}
|
|
317
317
|
deactivateChart(col, row, forceRelease = !1) {
|
|
318
|
-
var _a, _b, _c, _d, _e, _f
|
|
318
|
+
var _a, _b, _c, _d, _e, _f;
|
|
319
319
|
if (forceRelease) {
|
|
320
320
|
const brushingChartInstanceCellPos = (0, active_cell_chart_list_1.getBrushingChartInstanceCellPos)(), brushingChartInstance = (0,
|
|
321
321
|
active_cell_chart_list_1.getBrushingChartInstance)();
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
(null === (_a = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _a ? void 0 : _a.deactivate) && (null === (_c = null === (_b = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _b ? void 0 : _b.deactivate) || void 0 === _c || _c.call(_b, this.table, {
|
|
325
|
-
forceRelease: !0,
|
|
326
|
-
releaseChartInstance: !0,
|
|
327
|
-
releaseColumnChartInstance: !0,
|
|
328
|
-
releaseRowChartInstance: !0,
|
|
329
|
-
releaseAllChartInstance: !0
|
|
330
|
-
})), (0, update_chart_1.clearCellChartCacheImage)(brushingChartInstanceCellPos.col, brushingChartInstanceCellPos.row, this),
|
|
331
|
-
(0, active_cell_chart_list_1.clearBrushingChartInstance)();
|
|
332
|
-
}
|
|
322
|
+
brushingChartInstanceCellPos && brushingChartInstance && ((0, active_cell_chart_list_1.clearAndReleaseBrushingChartInstance)(this),
|
|
323
|
+
(0, update_chart_1.clearCellChartCacheImage)(brushingChartInstanceCellPos.col, brushingChartInstanceCellPos.row, this));
|
|
333
324
|
}
|
|
334
325
|
if (-1 === col || -1 === row) return;
|
|
335
326
|
const cellGroup = this.getCell(col, row);
|
|
336
|
-
if (null === (
|
|
337
|
-
if (forceRelease) return void (null === (
|
|
327
|
+
if (null === (_a = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _a ? void 0 : _a.deactivate) {
|
|
328
|
+
if (forceRelease) return void (null === (_c = null === (_b = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _b ? void 0 : _b.deactivate) || void 0 === _c || _c.call(_b, this.table, {
|
|
338
329
|
forceRelease: !0,
|
|
339
330
|
releaseChartInstance: !0,
|
|
340
331
|
releaseColumnChartInstance: !0,
|
|
@@ -342,7 +333,7 @@ class Scenegraph {
|
|
|
342
333
|
releaseAllChartInstance: !0
|
|
343
334
|
}));
|
|
344
335
|
const chartType = (null == cellGroup ? void 0 : cellGroup.firstChild).attribute.spec.type;
|
|
345
|
-
null === (
|
|
336
|
+
null === (_e = null === (_d = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _d ? void 0 : _d.deactivate) || void 0 === _e || _e.call(_d, this.table, (null === (_f = this.table.options.chartDimensionLinkage) || void 0 === _f ? void 0 : _f.showTooltip) ? {
|
|
346
337
|
releaseChartInstance: "pie" !== chartType && ("scatter" === chartType ? col !== this.table.stateManager.hover.cellPos.col && row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount : this.table.options.indicatorsAsCol ? row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount : col !== this.table.stateManager.hover.cellPos.col || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount),
|
|
347
338
|
releaseColumnChartInstance: "pie" !== chartType && (col !== this.table.stateManager.hover.cellPos.col || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount),
|
|
348
339
|
releaseRowChartInstance: "pie" !== chartType && (row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount)
|
|
@@ -989,4 +980,4 @@ class Scenegraph {
|
|
|
989
980
|
}
|
|
990
981
|
|
|
991
982
|
exports.Scenegraph = Scenegraph;
|
|
992
|
-
//# sourceMappingURL=scenegraph.js.map
|
|
983
|
+
//# sourceMappingURL=scenegraph.js.map
|