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": "全てを選択",