Merge pull request #3196 from node-red/link-fixes

Fix converting selection to subflow
This commit is contained in:
Nick O'Leary 2021-10-14 12:03:28 +01:00 committed by GitHub
commit fe97c78977
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -266,8 +266,8 @@ RED.nodes = (function() {
}, },
moveNode: function(n, newZ) { moveNode: function(n, newZ) {
api.removeNode(n); api.removeNode(n);
tabMap[newZ] = tabMap[newZ] || []; n.z = newZ;
tabMap[newZ].push(n); api.addNode(n)
}, },
moveNodesForwards: function(nodes) { moveNodesForwards: function(nodes) {
var result = []; var result = [];
@ -719,29 +719,29 @@ RED.nodes = (function() {
moveGroupToTab(node,z); moveGroupToTab(node,z);
return; return;
} }
var oldZ = node.z;
allNodes.moveNode(node,z); allNodes.moveNode(node,z);
var nl = nodeLinks[node.id]; var nl = nodeLinks[node.id];
if (nl) { if (nl) {
nl.in.forEach(function(l) { nl.in.forEach(function(l) {
var idx = linkTabMap[node.z].indexOf(l); var idx = linkTabMap[oldZ].indexOf(l);
if (idx != -1) { if (idx != -1) {
linkTabMap[node.z].splice(idx, 1); linkTabMap[oldZ].splice(idx, 1);
} }
if ((l.source.z === z) && linkTabMap[z]) { if ((l.source.z === z) && linkTabMap[z]) {
linkTabMap[z].push(l); linkTabMap[z].push(l);
} }
}); });
nl.out.forEach(function(l) { nl.out.forEach(function(l) {
var idx = linkTabMap[node.z].indexOf(l); var idx = linkTabMap[oldZ].indexOf(l);
if (idx != -1) { if (idx != -1) {
linkTabMap[node.z].splice(idx, 1); linkTabMap[oldZ].splice(idx, 1);
} }
if ((l.target.z === z) && linkTabMap[z]) { if ((l.target.z === z) && linkTabMap[z]) {
linkTabMap[z].push(l); linkTabMap[z].push(l);
} }
}); });
} }
node.z = z;
RED.events.emit("nodes:change",node); RED.events.emit("nodes:change",node);
} }
function moveGroupToTab(group, z) { function moveGroupToTab(group, z) {