X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/0c57fd826a58a217f499b5084c837fb8ef3f6d4f..4dc1ebae49699f3be2dfd6d1f0f41e4bac99660b:/src/smartxml/smartxml.js diff --git a/src/smartxml/smartxml.js b/src/smartxml/smartxml.js index 8039916..1e3ae44 100644 --- a/src/smartxml/smartxml.js +++ b/src/smartxml/smartxml.js @@ -162,10 +162,14 @@ $.extend(DocumentNode.prototype, { }, getIndex: function() { + var parent; + if(this.isRoot()) { return 0; } - return this.parent().indexOf(this); + + parent = this.parent(); + return parent ? parent.indexOf(this) : undefined; }, getNearestElementNode: function() { @@ -295,7 +299,7 @@ $.extend(TextNode.prototype, { var parseXML = function(xml) { var toret = $($.trim(xml)); - if(!toret.length) { + if(toret.length !== 1) { throw new Error('Unable to parse XML: ' + xml); } return toret[0]; @@ -574,7 +578,6 @@ $.extend(Document.prototype, Backbone.Events, fragments, { if(transformations.length > 1) { // In case of real transactions we don't want to run undo on all of transformations if we don't have to. - stopAt = undefined; transformations.some(function(t, idx) { if(!t.undo && t.getChangeRoot().sameNode(doc.root)) { stopAt = idx;