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 12e0a6ef1..ace560f4a 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 @@ -809,6 +809,20 @@ 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) { @@ -2684,6 +2698,22 @@ RED.nodes = (function() { } } } + + // Subflows can have config node env + if (n.type.indexOf("subflow:") === 0) { + n.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); + } + } + } + }); + } } function flowVersion(version) {