From a92f8f36c197047e426aca7fadc27f29636b69f7 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Wed, 2 Jun 2021 14:07:22 +0100 Subject: [PATCH] Keep proper track of moved/changed state in undo/redo history Fixes #2999 --- .../@node-red/editor-client/src/js/history.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/history.js b/packages/node_modules/@node-red/editor-client/src/js/history.js index 7fedf84be..338d955e1 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/history.js +++ b/packages/node_modules/@node-red/editor-client/src/js/history.js @@ -66,12 +66,14 @@ RED.history = (function() { var importedResult = RED.nodes.import(ev.config,{importMap: importMap}) inverseEv = { t: 'replace', - config: importedResult.removedNodes + config: importedResult.removedNodes, + dirty: RED.nodes.dirty() } } } else if (ev.t == 'add') { inverseEv = { t: "delete", + dirty: RED.nodes.dirty() }; if (ev.nodes) { inverseEv.nodes = []; @@ -158,7 +160,8 @@ RED.history = (function() { } else if (ev.t == "delete") { inverseEv = { - t: "add" + t: "add", + dirty: RED.nodes.dirty() }; if (ev.workspaces) { inverseEv.workspaces = []; @@ -300,11 +303,12 @@ RED.history = (function() { } else if (ev.t == "move") { inverseEv = { t: 'move', - nodes: [] + nodes: [], + dirty: RED.nodes.dirty() }; for (i=0;i