forked from github/dataease
feat(仪表板、数据大屏): 指标卡、富文本支持事件设置 #10960
This commit is contained in:
parent
f2bb6a3e57
commit
bf2ea2a2c6
@ -209,12 +209,12 @@ const onPointClick = param => {
|
||||
|
||||
const eventEnable = computed(
|
||||
() =>
|
||||
(['Picture', 'CanvasIcon', 'CircleShape', 'SvgTriangle', 'RectShape', 'ScrollText'].includes(
|
||||
['Picture', 'CanvasIcon', 'CircleShape', 'SvgTriangle', 'RectShape', 'ScrollText'].includes(
|
||||
config.value.component
|
||||
) ||
|
||||
config.value.innerType === 'rich-text') &&
|
||||
config.value.events &&
|
||||
config.value.events.checked
|
||||
(['indicator', 'rich-text'].includes(config.value.innerType) &&
|
||||
config.value.events &&
|
||||
config.value.events.checked)
|
||||
)
|
||||
|
||||
const onWrapperClick = e => {
|
||||
|
@ -2,7 +2,7 @@
|
||||
import { computed, nextTick, onMounted, ref, toRefs } from 'vue'
|
||||
import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { styleData, selectKey, optionMap, horizontalPosition } from '@/utils/attr'
|
||||
import { styleData } from '@/utils/attr'
|
||||
import ComponentPosition from '@/components/visualization/common/ComponentPosition.vue'
|
||||
import BackgroundOverallCommon from '@/components/visualization/component-background/BackgroundOverallCommon.vue'
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
|
@ -1,8 +1,10 @@
|
||||
<script setup lang="ts">
|
||||
import { toRefs } from 'vue'
|
||||
import { computed, toRefs } from 'vue'
|
||||
import { ElFormItem, ElIcon } from 'element-plus-secondary'
|
||||
import { snapshotStoreWithOut } from '@/store/modules/data-visualization/snapshot'
|
||||
import Icon from '../../components/icon-custom/src/Icon.vue'
|
||||
import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain'
|
||||
const dvMainStore = dvMainStoreWithOut()
|
||||
|
||||
const snapshotStore = snapshotStoreWithOut()
|
||||
|
||||
@ -16,9 +18,15 @@ const props = withDefaults(
|
||||
}
|
||||
)
|
||||
const { themes, eventsInfo } = toRefs(props)
|
||||
const isDashboard = dvMainStore.dvInfo.type === 'dashboard'
|
||||
|
||||
const curSupportEvents = ['jump', 'showHidden', 'refreshDataV']
|
||||
|
||||
const curSupportEvents = computed(() => {
|
||||
if (isDashboard) {
|
||||
return ['jump', 'refreshDataV']
|
||||
} else {
|
||||
return ['jump', 'showHidden', 'refreshDataV']
|
||||
}
|
||||
})
|
||||
const onEventChange = () => {
|
||||
snapshotStore.recordSnapshotCache('renderChart')
|
||||
}
|
||||
|
@ -224,7 +224,9 @@ export const commonAttr = {
|
||||
'picture',
|
||||
'frameLinks',
|
||||
'videoLinks',
|
||||
'streamLinks'
|
||||
'streamLinks',
|
||||
'carouselInfo',
|
||||
'events'
|
||||
], // 编辑组件时记录当前使用的是哪个折叠面板,再次回来时恢复上次打开的折叠面板,优化用户体验
|
||||
linkage: {
|
||||
duration: 0, // 过渡持续时间
|
||||
|
@ -173,7 +173,9 @@ export function historyAdaptor(
|
||||
}
|
||||
// 组件事件适配
|
||||
componentItem.events =
|
||||
componentItem.events && componentItem.events.checked !== undefined
|
||||
componentItem.events &&
|
||||
componentItem.events.checked !== undefined &&
|
||||
componentItem.events.type !== 'displayChange'
|
||||
? componentItem.events
|
||||
: deepCopy(BASE_EVENTS)
|
||||
componentItem['category'] = componentItem['category'] || 'base'
|
||||
|
@ -124,7 +124,11 @@ const positionComponentShow = computed(() => {
|
||||
})
|
||||
|
||||
const eventsShow = computed(() => {
|
||||
return !batchOptStatus.value && chart.value.type.includes('rich-text') && props.eventInfo
|
||||
return (
|
||||
!batchOptStatus.value &&
|
||||
['indicator', 'rich-text'].includes(chart.value.type) &&
|
||||
props.eventInfo
|
||||
)
|
||||
})
|
||||
|
||||
const showProperties = (property: EditorProperty) => properties.value?.includes(property)
|
||||
|
Loading…
Reference in New Issue
Block a user