From f4354301ecb0cbb0d6386d4f32c2641845cfc8fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20G=C3=B3mez=20Morales?= Date: Mon, 1 Dec 2025 10:48:56 +0100 Subject: [PATCH] fix(editor): Fix editor pan / zoom when inserting nodes (#22401) --- .../editor-ui/src/app/views/NodeView.vue | 9 +- .../canvas/components/WorkflowCanvas.vue | 85 ++++++++++++++++--- 2 files changed, 80 insertions(+), 14 deletions(-) diff --git a/packages/frontend/editor-ui/src/app/views/NodeView.vue b/packages/frontend/editor-ui/src/app/views/NodeView.vue index 0619d000121..3fe87877844 100644 --- a/packages/frontend/editor-ui/src/app/views/NodeView.vue +++ b/packages/frontend/editor-ui/src/app/views/NodeView.vue @@ -727,7 +727,9 @@ async function onClipboardPaste(plainTextData: string): Promise { importTags: false, viewport: viewportBoundaries.value, }); - selectNodes(result.nodes?.map((node) => node.id) ?? []); + const ids = result.nodes?.map((node) => node.id) ?? []; + + canvasRef.value?.ensureNodesAreVisible(ids); } async function onCutNodes(ids: string[]) { @@ -747,7 +749,7 @@ async function onDuplicateNodes(ids: string[]) { viewport: viewportBoundaries.value, }); - selectNodes(newIds); + canvasRef.value?.ensureNodesAreVisible(newIds); } function onPinNodes(ids: string[], source: PinDataSource) { @@ -1042,8 +1044,7 @@ async function onImportWorkflowUrlEvent(data: IDataObject) { viewport: viewportBoundaries.value, }); - fitView(); - selectNodes(workflowData.nodes?.map((node) => node.id) ?? []); + canvasRef.value?.ensureNodesAreVisible(workflowData.nodes?.map((node) => node.id) ?? []); } function addImportEventBindings() { diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/WorkflowCanvas.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/WorkflowCanvas.vue index 8e90ecbd74a..725ac5d1439 100644 --- a/packages/frontend/editor-ui/src/features/workflows/canvas/components/WorkflowCanvas.vue +++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/WorkflowCanvas.vue @@ -1,15 +1,15 @@