mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Keep proper track of moved/changed state in undo/redo history
Fixes #2999
This commit is contained in:
parent
12698dc347
commit
a92f8f36c1
@ -66,12 +66,14 @@ RED.history = (function() {
|
|||||||
var importedResult = RED.nodes.import(ev.config,{importMap: importMap})
|
var importedResult = RED.nodes.import(ev.config,{importMap: importMap})
|
||||||
inverseEv = {
|
inverseEv = {
|
||||||
t: 'replace',
|
t: 'replace',
|
||||||
config: importedResult.removedNodes
|
config: importedResult.removedNodes,
|
||||||
|
dirty: RED.nodes.dirty()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (ev.t == 'add') {
|
} else if (ev.t == 'add') {
|
||||||
inverseEv = {
|
inverseEv = {
|
||||||
t: "delete",
|
t: "delete",
|
||||||
|
dirty: RED.nodes.dirty()
|
||||||
};
|
};
|
||||||
if (ev.nodes) {
|
if (ev.nodes) {
|
||||||
inverseEv.nodes = [];
|
inverseEv.nodes = [];
|
||||||
@ -158,7 +160,8 @@ RED.history = (function() {
|
|||||||
|
|
||||||
} else if (ev.t == "delete") {
|
} else if (ev.t == "delete") {
|
||||||
inverseEv = {
|
inverseEv = {
|
||||||
t: "add"
|
t: "add",
|
||||||
|
dirty: RED.nodes.dirty()
|
||||||
};
|
};
|
||||||
if (ev.workspaces) {
|
if (ev.workspaces) {
|
||||||
inverseEv.workspaces = [];
|
inverseEv.workspaces = [];
|
||||||
@ -300,11 +303,12 @@ RED.history = (function() {
|
|||||||
} else if (ev.t == "move") {
|
} else if (ev.t == "move") {
|
||||||
inverseEv = {
|
inverseEv = {
|
||||||
t: 'move',
|
t: 'move',
|
||||||
nodes: []
|
nodes: [],
|
||||||
|
dirty: RED.nodes.dirty()
|
||||||
};
|
};
|
||||||
for (i=0;i<ev.nodes.length;i++) {
|
for (i=0;i<ev.nodes.length;i++) {
|
||||||
var n = ev.nodes[i];
|
var n = ev.nodes[i];
|
||||||
var rn = {n: n.n, ox: n.n.x, oy: n.n.y, dirty: true, moved: n.moved};
|
var rn = {n: n.n, ox: n.n.x, oy: n.n.y, dirty: true, moved: n.n.moved};
|
||||||
inverseEv.nodes.push(rn);
|
inverseEv.nodes.push(rn);
|
||||||
n.n.x = n.ox;
|
n.n.x = n.ox;
|
||||||
n.n.y = n.oy;
|
n.n.y = n.oy;
|
||||||
@ -336,7 +340,9 @@ RED.history = (function() {
|
|||||||
} else if (ev.t == "edit") {
|
} else if (ev.t == "edit") {
|
||||||
inverseEv = {
|
inverseEv = {
|
||||||
t: "edit",
|
t: "edit",
|
||||||
changes: {}
|
changes: {},
|
||||||
|
changed: ev.node.changed,
|
||||||
|
dirty: RED.nodes.dirty()
|
||||||
};
|
};
|
||||||
inverseEv.node = ev.node;
|
inverseEv.node = ev.node;
|
||||||
for (i in ev.changes) {
|
for (i in ev.changes) {
|
||||||
@ -552,7 +558,8 @@ RED.history = (function() {
|
|||||||
} else if (ev.t == "reorder") {
|
} else if (ev.t == "reorder") {
|
||||||
inverseEv = {
|
inverseEv = {
|
||||||
t: 'reorder',
|
t: 'reorder',
|
||||||
order: RED.nodes.getWorkspaceOrder()
|
order: RED.nodes.getWorkspaceOrder(),
|
||||||
|
dirty: RED.nodes.dirty()
|
||||||
};
|
};
|
||||||
if (ev.order) {
|
if (ev.order) {
|
||||||
RED.workspaces.order(ev.order);
|
RED.workspaces.order(ev.order);
|
||||||
|
Loading…
Reference in New Issue
Block a user