From f667c3ec48cedf5af5ed38aca21c51c476c1bd8c Mon Sep 17 00:00:00 2001 From: Alex Grozav Date: Tue, 4 Mar 2025 15:05:05 +0200 Subject: [PATCH 1/5] feat(editor): Add support for Simulate nodes to new canvas --- .../src/components/canvas/Canvas.vue | 6 ++++ .../src/components/canvas/WorkflowCanvas.vue | 34 ++++++++++++++++++- .../canvas/elements/nodes/CanvasNode.vue | 11 +++--- .../src/composables/useCanvasMapping.ts | 30 +++++++++++++++- .../frontend/editor-ui/src/types/canvas.ts | 1 + 5 files changed, 73 insertions(+), 9 deletions(-) diff --git a/packages/frontend/editor-ui/src/components/canvas/Canvas.vue b/packages/frontend/editor-ui/src/components/canvas/Canvas.vue index 918b0b06a3..f82931ae89 100644 --- a/packages/frontend/editor-ui/src/components/canvas/Canvas.vue +++ b/packages/frontend/editor-ui/src/components/canvas/Canvas.vue @@ -45,6 +45,7 @@ import { onKeyDown, onKeyUp, useThrottleFn } from '@vueuse/core'; import CanvasArrowHeadMarker from './elements/edges/CanvasArrowHeadMarker.vue'; import CanvasBackground from './elements/background/CanvasBackground.vue'; import { useCanvasTraversal } from '@/composables/useCanvasTraversal'; +import type { INodeTypeDescription } from 'n8n-workflow'; import { NodeConnectionType } from 'n8n-workflow'; import { useCanvasNodeHover } from '@/composables/useCanvasNodeHover'; import { useCanvasLayout } from '@/composables/useCanvasLayout'; @@ -96,6 +97,7 @@ const props = withDefaults( defineProps<{ id?: string; nodes: CanvasNode[]; + nodeTypeDescriptions: Record; connections: CanvasConnection[]; controlsPosition?: PanelPosition; eventBus?: EventBus; @@ -804,6 +806,10 @@ provide(CanvasKey, { :event-bus="eventBus" :hovered="nodesHoveredById[nodeProps.id]" :nearby-hovered="nodeProps.id === hoveredTriggerNode.id.value" + :node-type-description=" + nodeTypeDescriptions[`${nodeProps.data.type}@${nodeProps.data.typeVersion}`] + " + :simulated-node-type-description="nodeTypeDescriptions[nodeProps.data.simulatedType]" @delete="onDeleteNode" @run="onRunNode" @select="onSelectNode" diff --git a/packages/frontend/editor-ui/src/components/canvas/WorkflowCanvas.vue b/packages/frontend/editor-ui/src/components/canvas/WorkflowCanvas.vue index b91c6dba37..aaa5b00338 100644 --- a/packages/frontend/editor-ui/src/components/canvas/WorkflowCanvas.vue +++ b/packages/frontend/editor-ui/src/components/canvas/WorkflowCanvas.vue @@ -1,13 +1,15 @@