Merge pull request #4857 from GogoVega/refix-4749

Fix subflow outbound-link filter
This commit is contained in:
Nick O'Leary 2024-09-11 16:12:30 +01:00 committed by GitHub
commit 163c1c5b98
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2406,11 +2406,24 @@ RED.nodes = (function() {
} else {
delete n.g
}
// If importing into a subflow, ensure an outbound-link doesn't get added
if (activeSubflow && /^link /.test(n.type) && n.links) {
// If importing a link node, ensure both ends of each link are either:
// - not in a subflow
// - both in the same subflow
if (/^link /.test(n.type) && n.links) {
n.links = n.links.filter(function(id) {
const otherNode = node_map[id] || RED.nodes.node(id);
return (otherNode && otherNode.z === activeWorkspace);
if (!otherNode) {
// Cannot find other end - remove the link
return false
}
if (otherNode.z === n.z) {
// Both ends in the same flow/subflow
return true
} else if (!!getSubflow(n.z) || !!getSubflow(otherNode.z)) {
// One end is in a subflow - remove the link
return false
}
return true
});
}
for (var d3 in n._def.defaults) {