From 091a7d66736cd49c153423fe69acd9cd6f09fc98 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 29 May 2024 11:41:57 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E5=B5=8C=E5=85=A5=E5=BC=8F):=20?= =?UTF-8?q?=E5=9B=BE=E8=A1=A8=E5=B5=8C=E5=85=A5=E5=BC=8F=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=8F=91=E9=80=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/ComponentWrapper.vue | 7 ++++- .../data-visualization/canvas/DePreview.vue | 31 ++++++++++++++++++- .../custom-component/user-view/Component.vue | 6 ++++ .../src/pages/panel/ViewWrapper.vue | 31 ++++++++++++++++++- .../views/chart/components/views/index.vue | 10 ++---- 5 files changed, 75 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 1fdada09b5..28addd5895 100644 --- a/core/core-frontend/src/components/data-visualization/canvas/ComponentWrapper.vue +++ b/core/core-frontend/src/components/data-visualization/canvas/ComponentWrapper.vue @@ -83,7 +83,7 @@ const { config, showPosition, index, canvasStyleData, canvasViewInfo, dvInfo, se toRefs(props) let currentInstance const component = ref(null) -const emits = defineEmits(['userViewEnlargeOpen']) +const emits = defineEmits(['userViewEnlargeOpen', 'onPointClick']) const htmlToImage = () => { setTimeout(() => { @@ -180,6 +180,10 @@ const commonBackgroundSvgInner = computed(() => { } }) +const onPointClick = param => { + emits('onPointClick', param) +} + const deepScale = computed(() => scale.value / 100) @@ -234,6 +238,7 @@ const deepScale = computed(() => scale.value / 100) :scale="deepScale" :disabled="true" :is-edit="false" + @onPointClick="onPointClick" /> 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 f54036ce90..77cfc2bc78 100644 --- a/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue +++ b/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue @@ -13,9 +13,10 @@ import { isMainCanvas } from '@/utils/canvasUtils' import { activeWatermark } from '@/components/watermark/watermark' import { personInfoApi } from '@/api/user' import router from '@/router' +import { XpackComponent } from '@/components/plugin' const dvMainStore = dvMainStoreWithOut() const { pcMatrixCount, curComponent, mobileInPc } = storeToRefs(dvMainStore) - +const openHandler = ref(null) const props = defineProps({ canvasStyleData: { type: Object, @@ -281,6 +282,32 @@ const userViewEnlargeOpen = (opt, item) => { const handleMouseDown = () => { dvMainStore.setCurComponent({ component: null, index: null }) } + +const onPointClick = param => { + try { + console.info('de_inner_params send') + if (window['dataease-embedded-host'] && openHandler?.value) { + const pm = { + methodName: 'embeddedInteractive', + args: { + eventName: 'de_inner_params', + args: param + } + } + openHandler.value.invokeMethod(pm) + } else { + console.info('de_inner_params send to host') + const targetPm = { + type: 'dataease-embedded-interactive', + eventName: 'de_inner_params', + args: param + } + window.parent.postMessage(targetPm, '*') + } + } catch (e) { + console.warn('de_inner_params send error') + } +} defineExpose({ restore }) @@ -316,9 +343,11 @@ defineExpose({ :scale="mobileInPc ? 100 : scaleWidth" :is-selector="props.isSelector" @userViewEnlargeOpen="userViewEnlargeOpen($event, item)" + @onPointClick="onPointClick" /> +