impl needs this to be able to store state that may be needed in undo implementation
this.changeRootPath = changeRoot.getPath();
}
//var toret = desc.impl.call(this.context, this.args); // a argumenty do metody?
this.changeRootPath = changeRoot.getPath();
}
//var toret = desc.impl.call(this.context, this.args); // a argumenty do metody?
- var toret = desc.impl.apply(this.context, this.args);
+ var argsToPass = desc.undo ? [this].concat(this.args) : this.args;
+ var toret = desc.impl.apply(this.context, argsToPass);
this.hasRun = true;
return toret;
},
undo: function() {
if(desc.undo) {
this.hasRun = true;
return toret;
},
undo: function() {
if(desc.undo) {
- desc.undo.call(this.context);
+ desc.undo.call(this.context, this);
} else {
this.document.getNodeByPath(this.changeRootPath).replaceWith(this.snapshot);
}
} else {
this.document.getNodeByPath(this.changeRootPath).replaceWith(this.snapshot);
}