From 12604fe1da41ae25aa2e816090c62bdffc0ed89c Mon Sep 17 00:00:00 2001 From: Alex Grozav Date: Mon, 17 Jun 2024 15:46:55 +0300 Subject: [PATCH] feat(editor): Add capability to open NDV and rename node (no-changelog) (#9712) --- packages/editor-ui/src/__tests__/mocks.ts | 32 ++- .../src/components/canvas/Canvas.vue | 7 +- .../canvas/elements/nodes/CanvasNode.vue | 7 +- .../composables/useCanvasOperations.spec.ts | 92 ++++++- .../src/composables/useCanvasOperations.ts | 67 ++++- .../editor-ui/src/stores/nodeCreator.store.ts | 196 +++++++++++++- .../editor-ui/src/stores/workflows.store.ts | 10 + packages/editor-ui/src/views/NodeView.v2.vue | 254 ++++++++++++------ 8 files changed, 568 insertions(+), 97 deletions(-) diff --git a/packages/editor-ui/src/__tests__/mocks.ts b/packages/editor-ui/src/__tests__/mocks.ts index 6b7e31a3a..65de1a99c 100644 --- a/packages/editor-ui/src/__tests__/mocks.ts +++ b/packages/editor-ui/src/__tests__/mocks.ts @@ -45,23 +45,37 @@ export function createTestNodeTypes(data: INodeTypeData = {}): INodeTypes { }; } -export function createTestWorkflowObject(options: { +export function createTestWorkflowObject({ + id = uuid(), + name = 'Test Workflow', + nodes = [], + connections = {}, + active = false, + nodeTypes = {}, + staticData = {}, + settings = {}, + pinData = {}, +}: { id?: string; name?: string; - nodes: INode[]; - connections: IConnections; + nodes?: INode[]; + connections?: IConnections; active?: boolean; nodeTypes?: INodeTypeData; staticData?: IDataObject; settings?: IWorkflowSettings; pinData?: IPinData; -}) { +} = {}) { return new Workflow({ - ...options, - id: options.id ?? uuid(), - active: options.active ?? false, - nodeTypes: createTestNodeTypes(options.nodeTypes), - connections: options.connections ?? {}, + id, + name, + nodes, + connections, + active, + staticData, + settings, + pinData, + nodeTypes: createTestNodeTypes(nodeTypes), }); } diff --git a/packages/editor-ui/src/components/canvas/Canvas.vue b/packages/editor-ui/src/components/canvas/Canvas.vue index 84997b70f..0adea73ad 100644 --- a/packages/editor-ui/src/components/canvas/Canvas.vue +++ b/packages/editor-ui/src/components/canvas/Canvas.vue @@ -14,6 +14,7 @@ const $style = useCssModule(); const emit = defineEmits<{ 'update:modelValue': [elements: CanvasElement[]]; 'update:node:position': [id: string, position: { x: number; y: number }]; + 'update:node:active': [id: string]; 'delete:node': [id: string]; 'delete:connection': [connection: Connection]; 'create:connection': [connection: Connection]; @@ -52,6 +53,10 @@ function onNodeDragStop(e: NodeDragEvent) { }); } +function onSetNodeActive(id: string) { + emit('update:node:active', id); +} + function onDeleteNode(id: string) { emit('delete:node', id); } @@ -97,7 +102,7 @@ function onMouseLeaveEdge(event: EdgeMouseEvent) { @connect="onConnect" >