From 8fda3fb2aab1c5bb22f8c161667632743944bb47 Mon Sep 17 00:00:00 2001 From: Suguru Inoue Date: Wed, 2 Jul 2025 09:53:28 +0200 Subject: [PATCH] fix(editor): Make JSON copy button work in PiP window (#16887) --- .../src/components/RunDataJsonActions.vue | 47 ++++++++++++------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/packages/frontend/editor-ui/src/components/RunDataJsonActions.vue b/packages/frontend/editor-ui/src/components/RunDataJsonActions.vue index 2b561048e2..b661fcbe3b 100644 --- a/packages/frontend/editor-ui/src/components/RunDataJsonActions.vue +++ b/packages/frontend/editor-ui/src/components/RunDataJsonActions.vue @@ -9,12 +9,14 @@ import { useNDVStore } from '@/stores/ndv.store'; import { useNodeHelpers } from '@/composables/useNodeHelpers'; import { useToast } from '@/composables/useToast'; import { useI18n } from '@n8n/i18n'; -import { nonExistingJsonPath } from '@/constants'; +import { nonExistingJsonPath, PiPWindowSymbol } from '@/constants'; import { useClipboard } from '@/composables/useClipboard'; import { usePinnedData } from '@/composables/usePinnedData'; -import { computed } from 'vue'; +import { inject, computed } from 'vue'; import { useRoute } from 'vue-router'; import { useTelemetry } from '@/composables/useTelemetry'; +import { N8nIconButton } from '@n8n/design-system'; +import { ElDropdown, ElDropdownItem, ElDropdownMenu } from 'element-plus'; type JsonPathData = { path: string; @@ -36,6 +38,10 @@ const props = withDefaults( selectedJsonPath: nonExistingJsonPath, }, ); + +const pipWindow = inject(PiPWindowSymbol); +const isInPiPWindow = computed(() => pipWindow?.value !== undefined); + const ndvStore = useNDVStore(); const workflowsStore = useWorkflowsStore(); @@ -177,7 +183,7 @@ function handleCopyClick(commandData: { command: string }) {