Prevent loops being created with junction nodes

Fixes #3799
This commit is contained in:
Nick O'Leary
2023-03-02 21:13:39 +00:00
parent 010c8eccc8
commit 81d4c60cbd
3 changed files with 27 additions and 4 deletions

View File

@@ -1090,6 +1090,11 @@ RED.nodes = (function() {
return false;
}
function getDownstreamNodes(node) {
const downstreamLinks = nodeLinks[node.id].out
const downstreamNodes = new Set(downstreamLinks.map(l => l.target))
return Array.from(downstreamNodes)
}
function getAllDownstreamNodes(node) {
return getAllFlowNodes(node,'down').filter(function(n) { return n !== node });
}
@@ -3086,6 +3091,7 @@ RED.nodes = (function() {
getAllFlowNodes: getAllFlowNodes,
getAllUpstreamNodes: getAllUpstreamNodes,
getAllDownstreamNodes: getAllDownstreamNodes,
getDownstreamNodes: getDownstreamNodes,
getNodeIslands: getNodeIslands,
createExportableNodeSet: createExportableNodeSet,
createCompleteNodeSet: createCompleteNodeSet,