Add user setting for showing the node info icon

This commit is contained in:
Nick O'Leary
2025-03-17 16:21:14 +00:00
parent ba7eec44fa
commit 7285244e8d
3 changed files with 16 additions and 1 deletions

View File

@@ -111,6 +111,7 @@
"userSettings": "User Settings",
"nodes": "Nodes",
"displayStatus": "Show node status",
"displayInfoIcon": "Show node information icon",
"displayConfig": "Configuration nodes",
"import": "Import",
"importExample": "Import example flow",

View File

@@ -140,6 +140,7 @@ RED.userSettings = (function() {
title: "menu.label.nodes",
options: [
{setting:"view-node-status",oldSetting:"menu-menu-item-status",label:"menu.label.displayStatus",default: true, toggle:true,onchange:"core:toggle-status"},
{setting:"view-node-info-icon", label:"menu.label.displayInfoIcon", default: true, toggle:true,onchange:"core:toggle-node-info-icon"},
{setting:"view-node-show-label",label:"menu.label.showNodeLabelDefault",default: true, toggle:true}
]
},

View File

@@ -82,6 +82,7 @@ RED.view = (function() {
var slicePathLast = null;
var ghostNode = null;
var showStatus = false;
let showNodeInfo = true;
var lastClickNode = null;
var dblClickPrimed = null;
var clickTime = 0;
@@ -860,6 +861,13 @@ RED.view = (function() {
toggleStatus(state);
}
});
RED.actions.add("core:toggle-node-info-icon", function (state) {
if (state === undefined) {
RED.userSettings.toggle("view-node-info-icon");
} else {
toggleNodeInfo(state)
}
})
RED.view.annotations.init();
RED.view.navigator.init();
@@ -896,7 +904,7 @@ RED.view = (function() {
return docsBadge;
},
show: function(n) { return !!n.info }
show: function(n) { return showNodeInfo && !!n.info }
})
RED.view.annotations.register("red-ui-flow-node-changed",{
@@ -6040,6 +6048,11 @@ RED.view = (function() {
//TODO: subscribe/unsubscribe here
redraw();
}
function toggleNodeInfo(s) {
showNodeInfo = s
RED.nodes.eachNode(function(n) { n.dirty = true;});
redraw();
}
function setSelectedNodeState(isDisabled) {
if (mouse_mode === RED.state.SELECTING_NODE) {
return;