X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/d8865b93d11a624bd55e55d2a9e92ad6c4bacde5..5f121e33df901aa33a79b2896e79759da6411948:/src/smartxml/smartxml.js diff --git a/src/smartxml/smartxml.js b/src/smartxml/smartxml.js index 628163a..c8799f1 100644 --- a/src/smartxml/smartxml.js +++ b/src/smartxml/smartxml.js @@ -78,6 +78,10 @@ $.extend(DocumentNode.prototype, { return this.document.root.sameNode(this); }, + isSiblingOf: function(node) { + return node && this.parent().sameNode(node.parent()); + }, + sameNode: function(otherNode) { return !!(otherNode) && this.nativeNode === otherNode.nativeNode; }, @@ -143,6 +147,10 @@ $.extend(DocumentNode.prototype, { return 0; } return this.parent().indexOf(this); + }, + + getNearestElementNode: function() { + return this.nodeType === Node.ELEMENT_NODE ? this : this.parent(); } }); @@ -542,6 +550,7 @@ $.extend(Document.prototype, Backbone.Events, { this._undoInProgress = false; this.redoStack.push(transaction); + this.trigger('operationEnd'); } }, redo: function() { @@ -553,6 +562,8 @@ $.extend(Document.prototype, Backbone.Events, { }); this._transformationLevel--; this.undoStack.push(transaction); + this.trigger('operationEnd'); + } }, @@ -570,6 +581,7 @@ $.extend(Document.prototype, Backbone.Events, { } if(this._currentTransaction.hasTransformations()) { this.undoStack.push(this._currentTransaction); + this.trigger('operationEnd'); } this._currentTransaction = null; },