fix(editor): Escape node names with quotes in autocomplete and drag'n'drop (#8663)

This commit is contained in:
Elias Meire
2024-02-21 10:43:34 +01:00
committed by GitHub
parent c346002cc6
commit 890c2bd52b
5 changed files with 35 additions and 9 deletions

View File

@@ -18,6 +18,10 @@ export function generatePath(root: string, path: Array<string | number>): string
}, root);
}
export function escapeMappingString(str: string): string {
return str.replace(/\'/g, "\\'");
}
export function getMappedExpression({
nodeName,
distanceFromActive,
@@ -28,7 +32,9 @@ export function getMappedExpression({
path: Array<string | number> | string;
}) {
const root =
distanceFromActive === 1 ? '$json' : generatePath(`$('${nodeName}')`, ['item', 'json']);
distanceFromActive === 1
? '$json'
: generatePath(`$('${escapeMappingString(nodeName)}')`, ['item', 'json']);
if (typeof path === 'string') {
return `{{ ${root}${path} }}`;