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({
+
+