From c98893189821a72e9196b8916a64f9c773fcffa9 Mon Sep 17 00:00:00 2001 From: Alex Grozav Date: Thu, 29 Aug 2024 13:07:39 +0300 Subject: [PATCH] feat(editor): Add support for changing sticky notes color in new canvas (no-changelog) (#10593) --- .../editor-ui/src/__tests__/data/canvas.ts | 6 + .../src/components/canvas/Canvas.vue | 26 ++- .../src/components/canvas/WorkflowCanvas.vue | 5 +- .../canvas/elements/nodes/CanvasNode.vue | 35 +++- .../elements/nodes/CanvasNodeToolbar.vue | 10 + .../render-types/CanvasNodeStickyNote.vue | 32 +++- .../CanvasNodeStickyColorSelector.spec.ts | 43 +++++ .../toolbar/CanvasNodeStickyColorSelector.vue | 171 ++++++++++++++++++ .../src/composables/useCanvasNode.ts | 3 + packages/editor-ui/src/types/canvas.ts | 21 ++- packages/editor-ui/src/views/NodeView.v2.vue | 5 +- 11 files changed, 340 insertions(+), 17 deletions(-) create mode 100644 packages/editor-ui/src/components/canvas/elements/nodes/toolbar/CanvasNodeStickyColorSelector.spec.ts create mode 100644 packages/editor-ui/src/components/canvas/elements/nodes/toolbar/CanvasNodeStickyColorSelector.vue diff --git a/packages/editor-ui/src/__tests__/data/canvas.ts b/packages/editor-ui/src/__tests__/data/canvas.ts index d91ac2629b..6455c6dec5 100644 --- a/packages/editor-ui/src/__tests__/data/canvas.ts +++ b/packages/editor-ui/src/__tests__/data/canvas.ts @@ -3,11 +3,14 @@ import { ref } from 'vue'; import type { CanvasNode, CanvasNodeData, + CanvasNodeEventBusEvents, CanvasNodeHandleInjectionData, CanvasNodeInjectionData, } from '@/types'; import { CanvasConnectionMode, CanvasNodeRenderType } from '@/types'; import { NodeConnectionType } from 'n8n-workflow'; +import type { EventBus } from 'n8n-design-system'; +import { createEventBus } from 'n8n-design-system'; export function createCanvasNodeData({ id = 'node', @@ -89,11 +92,13 @@ export function createCanvasNodeProvide({ label = 'Test Node', selected = false, data = {}, + eventBus = createEventBus(), }: { id?: string; label?: string; selected?: boolean; data?: Partial; + eventBus?: EventBus; } = {}) { const props = createCanvasNodeProps({ id, label, selected, data }); return { @@ -102,6 +107,7 @@ export function createCanvasNodeProvide({ label: ref(props.label), selected: ref(props.selected), data: ref(props.data), + eventBus: ref(eventBus), } satisfies CanvasNodeInjectionData, }; } diff --git a/packages/editor-ui/src/components/canvas/Canvas.vue b/packages/editor-ui/src/components/canvas/Canvas.vue index 429dddfaa5..e7277c6761 100644 --- a/packages/editor-ui/src/components/canvas/Canvas.vue +++ b/packages/editor-ui/src/components/canvas/Canvas.vue @@ -1,5 +1,11 @@