From b64898c3aa6a77a4d60bbcca693b35f3098045c3 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 3 Sep 2024 17:02:45 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E3=80=81=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=A8=E5=B1=8F=E3=80=81=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E3=80=81=E4=B8=8B=E8=BD=BD=E4=BA=8B=E4=BB=B6=E6=94=AF=E6=8C=81?= =?UTF-8?q?#10812?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/ComponentWrapper.vue | 6 ++++ .../data-visualization/canvas/DePreview.vue | 30 ++++++++++++++++++- .../custom-component/common/CommonEvent.vue | 4 +-- .../src/custom-component/component-list.ts | 1 + .../views/dashboard/DashboardPreviewShow.vue | 12 +++++++- .../data-visualization/PreviewCanvas.vue | 23 ++++++++++++-- .../views/data-visualization/PreviewHead.vue | 8 +++-- .../views/data-visualization/PreviewShow.vue | 12 +++++++- 8 files changed, 86 insertions(+), 10 deletions(-) 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({ + +