X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/e1fef8a5849274a64f2c75ea4c7a261d67cea1a3..1eebf7be27d533a4b8ca1dba2c64e574dee8e17d:/src/smartxml/smartxml.js diff --git a/src/smartxml/smartxml.js b/src/smartxml/smartxml.js index aa04fd7..b81b0f0 100644 --- a/src/smartxml/smartxml.js +++ b/src/smartxml/smartxml.js @@ -100,7 +100,8 @@ $.extend(ElementNode.prototype, DocumentNode.prototype, { setTag: function(tagName) { var node = this.document.createElementNode({tagName: tagName}), - oldTagName = this.getTagName(); + oldTagName = this.getTagName(), + myContents = this._$.contents(); this.getAttrs().forEach(function(attribute) { node.setAttr(attribute.name, attribute.value, true); @@ -112,6 +113,7 @@ $.extend(ElementNode.prototype, DocumentNode.prototype, { } this._$.replaceWith(node._$); this._setNativeNode(node._$[0]); + this._$.append(myContents); this.triggerChangeEvent('nodeTagChange', {oldTagName: oldTagName, newTagName: this.getTagName()}); }, @@ -187,8 +189,12 @@ $.extend(ElementNode.prototype, DocumentNode.prototype, { toXML: function() { var wrapper = $('
'); - wrapper.append(this._$); + wrapper.append(this._getXMLDOMToDump()); return wrapper.html(); + }, + + _getXMLDOMToDump: function() { + return this._$; } }); @@ -236,10 +242,12 @@ $.extend(Document.prototype, Backbone.Events, { return new this.TextNodeFactory(nativeNode, this); }, - loadXML: function(xml) { + loadXML: function(xml, options) { + options = options || {}; defineDocumentProperties(this, $(parseXML(xml))); - - this.trigger('contentSet'); + if(!options.silent) { + this.trigger('contentSet'); + } }, toXML: function() {