diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index 9bdd55155..3ceae8654 100644 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -308,6 +308,7 @@ "alreadyExists": "This node already exists" }, "copyMessagePath": "Path copied", + "copyMessagePathForMustache": "Path copied for Mustache", "copyMessageValue": "Value copied", "copyMessageValue_truncated": "Truncated value copied" }, diff --git a/packages/node_modules/@node-red/editor-client/locales/ja/editor.json b/packages/node_modules/@node-red/editor-client/locales/ja/editor.json index c0296f457..c6c53255d 100644 --- a/packages/node_modules/@node-red/editor-client/locales/ja/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/ja/editor.json @@ -308,6 +308,7 @@ "alreadyExists": "本ノードは既に存在" }, "copyMessagePath": "パスをコピーしました", + "copyMessagePathForMustache": "Mustache向けのパスをコピーしました", "copyMessageValue": "値をコピーしました", "copyMessageValue_truncated": "切り捨てられた値をコピーしました" }, diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/utils.js b/packages/node_modules/@node-red/editor-client/src/js/ui/utils.js index 49ad15d87..4b5be4620 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/utils.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/utils.js @@ -237,12 +237,21 @@ RED.utils = (function() { var tools = $('').appendTo(obj); var copyTools = $('').appendTo(tools); if (!!key) { + var mustachePath = key.replace(/\["([^\]]+)"\]/g,'.$1').replace(/\[([0-9]+)\]/g,'.$1'); var copyPath = $('').appendTo(copyTools).on("click", function(e) { e.preventDefault(); e.stopPropagation(); - RED.clipboard.copyText(key,copyPath,"clipboard.copyMessagePath"); + if ((e.ctrlKey || e.metaKey) && key !== mustachePath) { + RED.clipboard.copyText(mustachePath,copyPath,"clipboard.copyMessagePathForMustache"); + } else { + RED.clipboard.copyText(key,copyPath,"clipboard.copyMessagePath"); + } }) - RED.popover.tooltip(copyPath,RED._("node-red:debug.sidebar.copyPath")); + if (key !== mustachePath) { + RED.popover.tooltip(copyPath,RED._("node-red:debug.sidebar.copyPathForMustache")); + } else { + RED.popover.tooltip(copyPath,RED._("node-red:debug.sidebar.copyPath")); + } } var copyPayload = $('').appendTo(copyTools).on("click", function(e) { e.preventDefault(); diff --git a/packages/node_modules/@node-red/nodes/locales/en-US/messages.json b/packages/node_modules/@node-red/nodes/locales/en-US/messages.json index d26f0f56b..581246de2 100644 --- a/packages/node_modules/@node-red/nodes/locales/en-US/messages.json +++ b/packages/node_modules/@node-red/nodes/locales/en-US/messages.json @@ -161,6 +161,7 @@ "filterLog": "Filter messages", "openWindow": "Open in new window", "copyPath": "Copy path", + "copyPathForMustache": "Copy path (Mustache path by ctrl+click)", "copyPayload": "Copy value", "pinPath": "Pin open", "selectAll": "select all", diff --git a/packages/node_modules/@node-red/nodes/locales/ja/messages.json b/packages/node_modules/@node-red/nodes/locales/ja/messages.json index 1693f879e..e94158166 100644 --- a/packages/node_modules/@node-red/nodes/locales/ja/messages.json +++ b/packages/node_modules/@node-red/nodes/locales/ja/messages.json @@ -161,6 +161,7 @@ "filterLog": "ログのフィルタリング", "openWindow": "新しいウィンドウで開く", "copyPath": "パスをコピー", + "copyPathForMustache": "パスをコピー(Ctrl+クリックでMustacheパス)", "copyPayload": "値をコピー", "pinPath": "展開を固定", "selectAll": "全てを選択",