From 92dff4bacd61f083ef80df012f6fbec034e62ca3 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Wed, 4 Dec 2024 10:41:10 +0000 Subject: [PATCH] Apply suggestions from code review Co-authored-by: Gauthier Dandele <92022724+GogoVega@users.noreply.github.com> --- .../@node-red/editor-client/src/js/nodes.js | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/nodes.js b/packages/node_modules/@node-red/editor-client/src/js/nodes.js index 2359b9321..366120796 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/nodes.js +++ b/packages/node_modules/@node-red/editor-client/src/js/nodes.js @@ -812,20 +812,6 @@ RED.nodes = (function() { if (sf) { sf.instances.splice(sf.instances.indexOf(node),1); } - - node.env?.forEach((prop) => { - if (prop.type === "conf-type" && prop.value) { - // Remove the node from the config node users - const configNode = getNode(prop.value); - if (configNode) { - if (configNode.users.indexOf(node) !== -1) { - configNode.users.splice(configNode.users.indexOf(node), 1); - RED.events.emit('nodes:change', configNode); - updatedConfigNode = true; - } - } - } - }); } if (updatedConfigNode) { @@ -2764,15 +2750,27 @@ RED.nodes = (function() { } // Subflows can have config node env - if (n.type.indexOf("subflow:") === 0) { - n.env?.forEach((prop) => { + if (node.type.indexOf("subflow:") === 0) { + node.env?.forEach((prop) => { if (prop.type === "conf-type" && prop.value) { // Add the node to the config node users const configNode = getNode(prop.value); if (configNode) { - if (configNode.users.indexOf(n) === -1) { - configNode.users.push(n); - RED.events.emit('nodes:change', configNode); + if (options.action === "add") { + if (configNode.users.indexOf(node) === -1) { + configNode.users.push(node); + if (options.emitEvent) { + RED.events.emit('nodes:change', configNode); + } + } + } else if (options.action === "remove") { + if (configNode.users.indexOf(node) !== -1) { + const users = configNode.users; + users.splice(users.indexOf(node), 1); + if (options.emitEvent) { + RED.events.emit('nodes:change', configNode); + } + } } } }