From 08ce6cce97f81a3db9d0ffe1c5f3c9297646ce07 Mon Sep 17 00:00:00 2001 From: NetHans Date: Sun, 14 Aug 2022 20:24:05 +0200 Subject: [PATCH] status node extended --- .../@node-red/nodes/core/common/25-status.html | 5 +++++ .../node_modules/@node-red/nodes/locales/de/messages.json | 1 + .../@node-red/nodes/locales/en-US/messages.json | 1 + packages/node_modules/@node-red/runtime/lib/flows/Flow.js | 8 +++++++- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/nodes/core/common/25-status.html b/packages/node_modules/@node-red/nodes/core/common/25-status.html index 47a3192e4..4c1b9c313 100644 --- a/packages/node_modules/@node-red/nodes/core/common/25-status.html +++ b/packages/node_modules/@node-red/nodes/core/common/25-status.html @@ -4,6 +4,7 @@ @@ -157,6 +158,8 @@ }); if (this.scope === null) { $("#node-input-scope-select").val("all"); + } else if(this.scope === "group"){ + $("#node-input-scope-select").val("group"); } else { $("#node-input-scope-select").val("target"); } @@ -166,6 +169,8 @@ var scope = $("#node-input-scope-select").val(); if (scope === 'all') { this.scope = null; + } else if(scope === 'group') { + this.scope = "group"; } else { this.scope = $("#node-input-status-target-container-div").treeList('selected').map(function(i) { return i.node.id}) } diff --git a/packages/node_modules/@node-red/nodes/locales/de/messages.json b/packages/node_modules/@node-red/nodes/locales/de/messages.json index 65f251e98..2ae7ba3b8 100755 --- a/packages/node_modules/@node-red/nodes/locales/de/messages.json +++ b/packages/node_modules/@node-red/nodes/locales/de/messages.json @@ -110,6 +110,7 @@ }, "scope": { "all": "allen Nodes", + "group": "in gleicher Gruppe", "selected": "ausgewählten Nodes" } }, 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 62d5f351f..8318693b0 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 @@ -115,6 +115,7 @@ }, "scope": { "all": "all nodes", + "group": "in same group", "selected": "selected nodes" } }, diff --git a/packages/node_modules/@node-red/runtime/lib/flows/Flow.js b/packages/node_modules/@node-red/runtime/lib/flows/Flow.js index 6350755c5..56c98be0e 100644 --- a/packages/node_modules/@node-red/runtime/lib/flows/Flow.js +++ b/packages/node_modules/@node-red/runtime/lib/flows/Flow.js @@ -665,10 +665,16 @@ class Flow { } handled = true; } else { + const flow = this; this.statusNodes.forEach(function(targetStatusNode) { - if (targetStatusNode.scope && targetStatusNode.scope.indexOf(reportingNode.id) === -1) { + if (Array.isArray(targetStatusNode.scope) && targetStatusNode.scope.indexOf(reportingNode.id) === -1) { return; } + + if (targetStatusNode.scope === "group" && flow.isNodeInSameGroup(targetStatusNode, reportingNode) === false){ + return; + } + var message = { status: clone(statusMessage) }