diff --git a/core/core-frontend/src/components/data-visualization/canvas/ComponentWrapper.vue b/core/core-frontend/src/components/data-visualization/canvas/ComponentWrapper.vue index 6095b78959..391649720d 100644 --- a/core/core-frontend/src/components/data-visualization/canvas/ComponentWrapper.vue +++ b/core/core-frontend/src/components/data-visualization/canvas/ComponentWrapper.vue @@ -256,6 +256,12 @@ const onWrapperClick = e => { } } else if (config.value.events.type === 'refreshDataV') { useEmitt().emitter.emit('componentRefresh') + } else if (config.value.events.type === 'fullScreen') { + useEmitt().emitter.emit('canvasFullscreen') + } else if (config.value.events.type === 'share') { + useEmitt().emitter.emit('shareComponent') + } else if (config.value.events.type === 'download') { + useEmitt().emitter.emit('canvasDownload') } e.preventDefault() e.stopPropagation() diff --git a/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue b/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue index fceff88857..461216b749 100644 --- a/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue +++ b/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue @@ -17,12 +17,15 @@ import PopArea from '@/custom-component/pop-area/Component.vue' import CanvasFilterBtn from '@/custom-component/canvas-filter-btn/Component.vue' import { useEmitt } from '@/hooks/web/useEmitt' import DatasetParamsComponent from '@/components/visualization/DatasetParamsComponent.vue' +import DeFullscreen from '@/components/visualization/common/DeFullscreen.vue' +import ShareHandler from '@/views/share/share/ShareHandler.vue' const dvMainStore = dvMainStoreWithOut() const { pcMatrixCount, curComponent, mobileInPc, canvasState } = storeToRefs(dvMainStore) const openHandler = ref(null) const customDatasetParamsRef = ref(null) const emits = defineEmits(['onResetLayout']) - +const fullScreeRef = ref(null) +const shareComponent = ref(null) const props = defineProps({ canvasStyleData: { type: Object, @@ -189,6 +192,24 @@ useEmitt({ } }) +useEmitt({ + name: 'canvasFullscreen', + callback: function () { + if (isMainCanvas(canvasId.value)) { + fullScreeRef.value.toggleFullscreen() + } + } +}) + +useEmitt({ + name: 'shareComponent', + callback: function () { + if (isMainCanvas(canvasId.value)) { + shareComponent.value.execute() + } + } +}) + const resetLayout = () => { if (downloadStatus.value) { return @@ -430,8 +451,15 @@ defineExpose({ + +