mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Merge pull request #3437 from Steve-Mcl/fix-multiple-wires
bug fix: Dont add wires to undo buffer twice
This commit is contained in:
commit
264047dc0c
@ -2338,14 +2338,21 @@ RED.view = (function() {
|
|||||||
var removedSubflowStatus;
|
var removedSubflowStatus;
|
||||||
var subflowInstances = [];
|
var subflowInstances = [];
|
||||||
var historyEvents = [];
|
var historyEvents = [];
|
||||||
|
var addToRemovedLinks = function(links) {
|
||||||
|
if(!links) { return; }
|
||||||
|
var _links = Array.isArray(links) ? links : [links];
|
||||||
|
_links.forEach(function(l) {
|
||||||
|
removedLinks.push(l);
|
||||||
|
selectedLinks.remove(l);
|
||||||
|
})
|
||||||
|
}
|
||||||
if (reconnectWires) {
|
if (reconnectWires) {
|
||||||
var reconnectResult = RED.nodes.detachNodes(movingSet.nodes())
|
var reconnectResult = RED.nodes.detachNodes(movingSet.nodes())
|
||||||
var addedLinks = reconnectResult.newLinks;
|
var addedLinks = reconnectResult.newLinks;
|
||||||
if (addedLinks.length > 0) {
|
if (addedLinks.length > 0) {
|
||||||
historyEvents.push({ t:'add', links: addedLinks })
|
historyEvents.push({ t:'add', links: addedLinks })
|
||||||
}
|
}
|
||||||
removedLinks = removedLinks.concat(reconnectResult.removedLinks)
|
addToRemovedLinks(reconnectResult.removedLinks)
|
||||||
}
|
}
|
||||||
|
|
||||||
var startDirty = RED.nodes.dirty();
|
var startDirty = RED.nodes.dirty();
|
||||||
@ -2377,7 +2384,7 @@ RED.view = (function() {
|
|||||||
var removedEntities = RED.nodes.remove(node.id);
|
var removedEntities = RED.nodes.remove(node.id);
|
||||||
removedNodes.push(node);
|
removedNodes.push(node);
|
||||||
removedNodes = removedNodes.concat(removedEntities.nodes);
|
removedNodes = removedNodes.concat(removedEntities.nodes);
|
||||||
removedLinks = removedLinks.concat(removedEntities.links);
|
addToRemovedLinks(removedNodes.removedLinks);
|
||||||
if (node.g) {
|
if (node.g) {
|
||||||
var group = RED.nodes.group(node.g);
|
var group = RED.nodes.group(node.g);
|
||||||
if (selectedGroups.indexOf(group) === -1) {
|
if (selectedGroups.indexOf(group) === -1) {
|
||||||
@ -2410,20 +2417,20 @@ RED.view = (function() {
|
|||||||
if (removedSubflowOutputs.length > 0) {
|
if (removedSubflowOutputs.length > 0) {
|
||||||
result = RED.subflow.removeOutput(removedSubflowOutputs);
|
result = RED.subflow.removeOutput(removedSubflowOutputs);
|
||||||
if (result) {
|
if (result) {
|
||||||
removedLinks = removedLinks.concat(result.links);
|
addToRemovedLinks(result.links);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Assume 0/1 inputs
|
// Assume 0/1 inputs
|
||||||
if (removedSubflowInputs.length == 1) {
|
if (removedSubflowInputs.length == 1) {
|
||||||
result = RED.subflow.removeInput();
|
result = RED.subflow.removeInput();
|
||||||
if (result) {
|
if (result) {
|
||||||
removedLinks = removedLinks.concat(result.links);
|
addToRemovedLinks(result.links);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (removedSubflowStatus) {
|
if (removedSubflowStatus) {
|
||||||
result = RED.subflow.removeStatus();
|
result = RED.subflow.removeStatus();
|
||||||
if (result) {
|
if (result) {
|
||||||
removedLinks = removedLinks.concat(result.links);
|
addToRemovedLinks(result.links);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user