mirror of
https://github.com/dataease/dataease.git
synced 2026-05-15 13:32:18 +08:00
style(图表): 优化图表操作下拉菜单与tooltip的显示问题
This commit is contained in:
committed by
jianneng-fit2cloud
parent
dc599736b0
commit
3b82d7efff
@@ -1,6 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dropdown :teleported="false" trigger="click" @visible-change="visibleChange">
|
||||
<el-dropdown
|
||||
:id="'view-track-bar-' + chartId"
|
||||
:teleported="false"
|
||||
trigger="click"
|
||||
@visible-change="visibleChange"
|
||||
>
|
||||
<input id="input" ref="trackButton" type="button" hidden />
|
||||
<template #dropdown>
|
||||
<div :class="{ 'data-mobile': isDataVMobile }">
|
||||
@@ -63,10 +68,10 @@ const state = reactive({
|
||||
event_refreshView: t('visualization.refresh_view')
|
||||
}
|
||||
})
|
||||
const visibleChange = isVisible => {
|
||||
const visibleChange = _isVisible => {
|
||||
document.querySelectorAll('.g2-tooltip')?.forEach(tooltip => {
|
||||
if (tooltip.id?.includes(chartId.value)) {
|
||||
tooltip.classList.toggle('hidden-tooltip', isVisible)
|
||||
tooltip.classList.toggle('hidden-tooltip', true)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1788,6 +1788,8 @@ export function configPlotTooltipEvent<O extends PickOptions, P extends Plot<O>>
|
||||
if (!tooltipCtl) {
|
||||
return
|
||||
}
|
||||
// 处理 tooltip 与下拉菜单的显示冲突问题
|
||||
const viewTrackBarElement = document.getElementById('view-track-bar-' + chart.id)
|
||||
const event = plot.chart.interactions.tooltip?.context?.event
|
||||
// 是否时轮播模式
|
||||
const isCarousel =
|
||||
@@ -1801,6 +1803,10 @@ export function configPlotTooltipEvent<O extends PickOptions, P extends Plot<O>>
|
||||
if (tooltipCtl.tooltip) {
|
||||
// 处理视图放大后再关闭 tooltip 的 dom 被清除
|
||||
const container = tooltipCtl.tooltip.cfg.container
|
||||
// 当下拉菜单不显示时,移除tooltip的hidden-tooltip样式
|
||||
if (viewTrackBarElement?.getAttribute('aria-expanded') === 'false') {
|
||||
container.classList.toggle('hidden-tooltip', false)
|
||||
}
|
||||
container.style.display = 'block'
|
||||
const dom = document.getElementById(container.id)
|
||||
if (!dom) {
|
||||
|
||||
Reference in New Issue
Block a user