From 8b73b1ce82f45f7f942a3b1235014c8fc2d9bdd1 Mon Sep 17 00:00:00 2001 From: Suguru Inoue Date: Thu, 7 Aug 2025 12:10:06 +0200 Subject: [PATCH] chore(editor): The zoomed view misc updates (#17865) --- .../frontend/@n8n/i18n/src/locales/en.json | 2 + .../components/ExpressionParameterInput.vue | 28 +++++- .../components/FixedCollectionParameter.vue | 1 + .../InlineExpressionEditorOutput.vue | 95 +++++++++++++------ .../InlineExpressionTip.vue | 3 +- .../editor-ui/src/components/InputPanel.vue | 32 ++++++- .../editor-ui/src/components/NodeSettings.vue | 6 ++ .../src/components/ParameterInput.test.ts | 10 ++ .../src/components/ParameterInput.vue | 45 ++++++++- .../src/components/ParameterInputFull.test.ts | 5 + .../editor-ui/src/components/RunData.vue | 8 +- .../src/components/SQLEditor.test.ts | 24 ++++- .../src/components/SqlEditor/SqlEditor.vue | 8 +- .../src/components/canvas/Canvas.vue | 10 +- .../src/components/canvas/WorkflowCanvas.vue | 2 +- .../canvas/elements/nodes/CanvasNode.vue | 21 ++-- .../elements/nodes/CanvasNodeToolbar.vue | 26 +++-- .../nodes/render-types/CanvasNodeDefault.vue | 1 + .../parts/CanvasNodeStatusIcons.vue | 44 ++++++--- .../ExperimentalCanvasNodeSettings.vue | 11 ++- .../ExperimentalEmbeddedNdvActions.vue | 8 -- .../ExperimentalEmbeddedNdvHeader.vue | 8 +- .../ExperimentalEmbeddedNdvMapper.vue | 92 +++++++----------- .../ExperimentalEmbeddedNodeDetails.vue | 53 ++++------- .../experimental/experimentalNdv.store.ts | 25 ++--- .../src/composables/useCanvasLayout.test.ts | 7 +- .../src/composables/useCanvasLayout.ts | 5 +- packages/frontend/editor-ui/src/constants.ts | 8 +- .../editor-ui/src/stores/settings.store.ts | 11 --- .../editor-ui/src/utils/nodeViewUtils.test.ts | 15 +-- .../editor-ui/src/utils/nodeViewUtils.ts | 11 ++- 31 files changed, 392 insertions(+), 233 deletions(-) diff --git a/packages/frontend/@n8n/i18n/src/locales/en.json b/packages/frontend/@n8n/i18n/src/locales/en.json index 2b2d745249..44d0d5fc29 100644 --- a/packages/frontend/@n8n/i18n/src/locales/en.json +++ b/packages/frontend/@n8n/i18n/src/locales/en.json @@ -1161,6 +1161,8 @@ "ndv.input.noOutputData.hint.tooltip": "From the earliest node which is unexecuted, or is executed but has since been changed", "ndv.input.noOutputData.schemaPreviewHint": "switch to {schema} to use the schema preview", "ndv.input.noOutputData.or": "or", + "ndv.input.noOutputData.embeddedNdv.link": "Execute previous nodes", + "ndv.input.noOutputData.embeddedNdv.description": "{link} to use their data here", "ndv.input.executingPrevious": "Executing previous nodes...", "ndv.input.notConnected.title": "Wire me up", "ndv.input.notConnected.v2.title": "No input connected", diff --git a/packages/frontend/editor-ui/src/components/ExpressionParameterInput.vue b/packages/frontend/editor-ui/src/components/ExpressionParameterInput.vue index 41d39d8044..7eddb7bbba 100644 --- a/packages/frontend/editor-ui/src/components/ExpressionParameterInput.vue +++ b/packages/frontend/editor-ui/src/components/ExpressionParameterInput.vue @@ -1,5 +1,5 @@ diff --git a/packages/frontend/editor-ui/src/components/NodeSettings.vue b/packages/frontend/editor-ui/src/components/NodeSettings.vue index 02413fce08..a9800a1607 100644 --- a/packages/frontend/editor-ui/src/components/NodeSettings.vue +++ b/packages/frontend/editor-ui/src/components/NodeSettings.vue @@ -73,6 +73,8 @@ const props = withDefaults( activeNode?: INodeUi; isEmbeddedInCanvas?: boolean; subTitle?: string; + extraTabsClassName?: string; + extraParameterWrapperClassName?: string; }>(), { inputSize: 0, @@ -94,6 +96,7 @@ const emit = defineEmits<{ activate: []; execute: []; captureWheelBody: [WheelEvent]; + dblclickHeader: [MouseEvent]; }>(); const slots = defineSlots<{ actions?: {} }>(); @@ -596,11 +599,13 @@ function handleSelectAction(params: INodeParameters) { :node-type="nodeType" :push-ref="pushRef" :sub-title="subTitle" + :extra-tabs-class-name="extraTabsClassName" :include-action="parametersByTab.action.length > 0" :include-credential="isDisplayingCredentials" :has-credential-issue="!areAllCredentialsSet" @name-changed="nameChanged" @tab-changed="onTabSelect" + @dblclick-title="emit('dblclickHeader', $event)" >