1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Add tooltip for coping Mustache path

This commit is contained in:
Kazuhito Yokoi 2022-02-07 13:58:17 +09:00
parent a3b2b20368
commit bde5a2b7cd
3 changed files with 11 additions and 8 deletions

View File

@ -226,21 +226,22 @@ RED.utils = (function() {
var tools = $('<span class="red-ui-debug-msg-tools"></span>').appendTo(obj); var tools = $('<span class="red-ui-debug-msg-tools"></span>').appendTo(obj);
var copyTools = $('<span class="red-ui-debug-msg-tools-copy button-group"></span>').appendTo(tools); var copyTools = $('<span class="red-ui-debug-msg-tools-copy button-group"></span>').appendTo(tools);
if (!!key) { if (!!key) {
var mustachePath = key.replace(/\["([^\]]+)"\]/g,'.$1').replace(/\[([0-9]+)\]/g,'.$1');
var copyPath = $('<button class="red-ui-button red-ui-button-small"><i class="fa fa-terminal"></i></button>').appendTo(copyTools).on("click", function(e) { var copyPath = $('<button class="red-ui-button red-ui-button-small"><i class="fa fa-terminal"></i></button>').appendTo(copyTools).on("click", function(e) {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
var mustachePath; if ((e.ctrlKey || e.metaKey) && key !== mustachePath) {
if (e.ctrlKey || e.metaKey) {
mustachePath = key.replace(/\["([^\]]+)"\]/g,'.$1').replace(/\[([0-9]+)\]/g,'.$1');
}
if (!mustachePath || key === mustachePath) {
RED.clipboard.copyText(key,copyPath,"clipboard.copyMessagePath");
} else {
RED.clipboard.copyText(mustachePath,copyPath,"clipboard.copyMessagePathForMustache"); RED.clipboard.copyText(mustachePath,copyPath,"clipboard.copyMessagePathForMustache");
} else {
RED.clipboard.copyText(key,copyPath,"clipboard.copyMessagePath");
} }
}) })
if (key !== mustachePath) {
RED.popover.tooltip(copyPath,RED._("node-red:debug.sidebar.copyPathForMustache"));
} else {
RED.popover.tooltip(copyPath,RED._("node-red:debug.sidebar.copyPath")); RED.popover.tooltip(copyPath,RED._("node-red:debug.sidebar.copyPath"));
} }
}
var copyPayload = $('<button class="red-ui-button red-ui-button-small"><i class="fa fa-clipboard"></i></button>').appendTo(copyTools).on("click", function(e) { var copyPayload = $('<button class="red-ui-button red-ui-button-small"><i class="fa fa-clipboard"></i></button>').appendTo(copyTools).on("click", function(e) {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();

View File

@ -148,6 +148,7 @@
"filterLog": "Filter messages", "filterLog": "Filter messages",
"openWindow": "Open in new window", "openWindow": "Open in new window",
"copyPath": "Copy path", "copyPath": "Copy path",
"copyPathForMustache": "Copy path (Mustache path by ctrl+click)",
"copyPayload": "Copy value", "copyPayload": "Copy value",
"pinPath": "Pin open", "pinPath": "Pin open",
"selectAll": "select all", "selectAll": "select all",

View File

@ -148,6 +148,7 @@
"filterLog": "ログのフィルタリング", "filterLog": "ログのフィルタリング",
"openWindow": "新しいウィンドウで開く", "openWindow": "新しいウィンドウで開く",
"copyPath": "パスをコピー", "copyPath": "パスをコピー",
"copyPathForMustache": "パスをコピー(Ctrl+クリックでMustacheパス)",
"copyPayload": "値をコピー", "copyPayload": "値をコピー",
"pinPath": "展開を固定", "pinPath": "展開を固定",
"selectAll": "全てを選択", "selectAll": "全てを選択",