/* globals document */
from = document.createTextNode(from.text);
} else {
+ if(!from.tagName) {
+ throw new Error('tagName missing');
+ }
var node = $('<' + from.tagName + '>');
_.keys(from.attrs || {}).forEach(function(key) {
throw new Error('End of transaction requested, but there is no transaction in progress!');
}
this._transactionInProgress = false;
- this.undoStack.push(this._transactionStack);
- this._transactionStack = [];
+ if(this._transactionStack.length) {
+ this.undoStack.push(this._transactionStack);
+ this._transactionStack = [];
+ }
},
getNodeByPath: function(path) {