From 86e7ec796acd9d8fbe8e42a5beba687cd6133a2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Tue, 10 Oct 2023 10:05:41 +0200 Subject: [PATCH] fix(editor): Fix completions for `.json` on quoted node name in Code node (#7382) To reproduce, request completion with `$input.first().json.` from a node with a quote in the name, e.g. `When clicking "Execute Workflow"`. Context: https://linear.app/n8n/issue/PAY-635/autocomplete-only-supports-3-levels-of-children#comment-234f738b --- .../completions/jsonField.completions.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/editor-ui/src/components/CodeNodeEditor/completions/jsonField.completions.ts b/packages/editor-ui/src/components/CodeNodeEditor/completions/jsonField.completions.ts index c8b07b8015eb3..3d7b3cf531aed 100644 --- a/packages/editor-ui/src/components/CodeNodeEditor/completions/jsonField.completions.ts +++ b/packages/editor-ui/src/components/CodeNodeEditor/completions/jsonField.completions.ts @@ -275,7 +275,16 @@ export const jsonFieldCompletions = defineComponent({ * `index` is only passed for `all()`. */ getJsonOutput(quotedNodeName: string, options?: { accessor?: string; index?: number }) { - const nodeName = quotedNodeName.replace(/['"]/g, ''); + let nodeName = quotedNodeName; + + const isSingleQuoteWrapped = quotedNodeName.startsWith("'") && quotedNodeName.endsWith("'"); + const isDoubleQuoteWrapped = quotedNodeName.startsWith('"') && quotedNodeName.endsWith('"'); + + if (isSingleQuoteWrapped) { + nodeName = quotedNodeName.replace(/^'/, '').replace(/'$/, ''); + } else if (isDoubleQuoteWrapped) { + nodeName = quotedNodeName.replace(/^"/, '').replace(/"$/, ''); + } const pinData: IPinData | undefined = this.workflowsStore.getPinData;