fix(图表): 放大不支持提示轮播的图表后停止所有轮播

This commit is contained in:
jianneng-fit2cloud
2025-04-08 17:54:58 +08:00
committed by xuwei-fit2cloud
parent d0bbc7cd5e
commit 7ce55aaf74
2 changed files with 11 additions and 5 deletions

View File

@@ -325,6 +325,7 @@ const dialogInit = (canvasStyle, view, item, opt, params = { scale: 0.5 }) => {
}
nextTick(() => {
initWatermark()
ChartCarouselTooltip.paused()
})
}

View File

@@ -155,8 +155,9 @@ class ChartCarouselTooltip {
setTimeout(() => {
// 然后,恢复
CAROUSEL_MANAGER_INSTANCES?.forEach(instance => {
instance.chartIsVisible = true
instance.resume()
if (instance.chartIsVisible) {
instance.resume()
}
})
}, 400)
}
@@ -165,11 +166,14 @@ class ChartCarouselTooltip {
* 暂停轮播
* @param id
*/
static paused(id: string) {
static paused(id?: string) {
CAROUSEL_MANAGER_INSTANCES?.forEach(instance => {
if (instance.chart.id === id) {
if (id && instance.chart.id === id) {
setTimeout(() => instance.paused(), 200)
}
if (!id) {
instance.paused()
}
})
}
@@ -332,7 +336,7 @@ class ChartCarouselTooltip {
const piePoint = view
.scale()
.getGeometries()[0]
.elements.find(item => item.data.field === value)
?.elements.find(item => item.data.field === value)
?.getModel()
if (!piePoint) {
return { x: 0, y: 0 }
@@ -365,6 +369,7 @@ class ChartCarouselTooltip {
*/
private getDualAxesTooltipPosition(view, value: string) {
const xScale = view.getXScale()
if (!xScale) return { x: 0, y: 0 }
const values = xScale.values
if (values.length < 2) {
const point = view