From 7285244e8dca2d112985700053ff72a060506743 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 17 Mar 2025 16:21:14 +0000 Subject: [PATCH] Add user setting for showing the node info icon --- .../editor-client/locales/en-US/editor.json | 1 + .../editor-client/src/js/ui/userSettings.js | 1 + .../@node-red/editor-client/src/js/ui/view.js | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) 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 5a35135ee..d60969f9c 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 @@ -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", diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js b/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js index 1b61f396e..ef3e2198c 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js @@ -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} ] }, diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js index fada93327..6b6c5aced 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js @@ -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;