Revert and fix without using RED.group.removeFromGroup

This commit is contained in:
GogoVega 2024-05-21 19:48:21 +02:00
parent 51208fcd0c
commit abf2eacf18
No known key found for this signature in database
GPG Key ID: E1E048B63AC5AC2B
2 changed files with 12 additions and 7 deletions

View File

@ -901,11 +901,6 @@ RED.editor = (function() {
var startDirty = RED.nodes.dirty();
var removedNodes = [];
var removedLinks = [];
if (editing_node.g) {
RED.group.removeFromGroup(RED.nodes.group(editing_node.g), [{...editing_node}]);
}
var removedEntities = RED.nodes.remove(editing_node.id);
removedNodes.push(editing_node);
removedNodes = removedNodes.concat(removedEntities.nodes);
@ -919,6 +914,17 @@ RED.editor = (function() {
dirty: startDirty
}
if (editing_node.g) {
const group = RED.nodes.group(editing_node.g);
// Don't use RED.group.removeFromGroup as that emits
// a change event on the node - but we're deleting it
const index = group?.nodes.indexOf(editing_node) ?? -1;
if (index > -1) {
group.nodes.splice(index, 1);
RED.group.markDirty(group);
}
}
RED.nodes.dirty(true);
RED.view.redraw(true);
RED.history.push(historyEvent);

View File

@ -606,8 +606,7 @@ RED.group = (function() {
for (var i=0; i<nodes.length; i++) {
n = nodes[i];
n.dirty = true;
// TODO: Why Proxy indexOf returns -1 ?
var index = group.nodes.findIndex(function (node) { return node.id === n.id; });
var index = group.nodes.indexOf(n);
group.nodes.splice(index,1);
if (reparent && parentGroup) {
n.g = group.g