updated undo command to only track when a command changes the tree

This commit is contained in:
Jack Bird 2023-07-18 19:19:56 +01:00
parent a0a6e922cb
commit 6258ed501e

View file

@ -67,7 +67,8 @@ var Sandbox = Backbone.View.extend({
initGitShim: function(options) {
this.gitShim = new GitShim({
beforeCB: this.beforeCommandCB.bind(this)
beforeCB: this.beforeCommandCB.bind(this),
afterCB: this.afterCommandCB.bind(this)
});
},
@ -113,12 +114,21 @@ var Sandbox = Backbone.View.extend({
},
beforeCommandCB: function(command) {
this._treeBeforeCommand = this.mainVis.gitEngine.printTree();
},
afterCommandCB: function(command) {
this.pushUndo();
},
pushUndo: function() {
let currentTree = this.mainVis.gitEngine.printTree();
if(currentTree === this._treeBeforeCommand) {
return;
}
// go ahead and push the three onto the stack
this.undoStack.push(this.mainVis.gitEngine.printTree());
this.undoStack.push(this._treeBeforeCommand);
},
undo: function(command, deferred) {