fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
wlxml: stop triggering contentSet event twice
[fnpeditor.git]
/
src
/
smartxml
/
smartxml.js
diff --git
a/src/smartxml/smartxml.js
b/src/smartxml/smartxml.js
index
aa04fd7
..
b81b0f0
100644
(file)
--- 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}),
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);
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._$.replaceWith(node._$);
this._setNativeNode(node._$[0]);
+ this._$.append(myContents);
this.triggerChangeEvent('nodeTagChange', {oldTagName: oldTagName, newTagName: this.getTagName()});
},
this.triggerChangeEvent('nodeTagChange', {oldTagName: oldTagName, newTagName: this.getTagName()});
},
@@
-187,8
+189,12
@@
$.extend(ElementNode.prototype, DocumentNode.prototype, {
toXML: function() {
var wrapper = $('<div>');
toXML: function() {
var wrapper = $('<div>');
- wrapper.append(this._
$
);
+ wrapper.append(this._
getXMLDOMToDump()
);
return wrapper.html();
return wrapper.html();
+ },
+
+ _getXMLDOMToDump: function() {
+ return this._$;
}
});
}
});
@@
-236,10
+242,12
@@
$.extend(Document.prototype, Backbone.Events, {
return new this.TextNodeFactory(nativeNode, this);
},
return new this.TextNodeFactory(nativeNode, this);
},
- loadXML: function(xml) {
+ loadXML: function(xml, options) {
+ options = options || {};
defineDocumentProperties(this, $(parseXML(xml)));
defineDocumentProperties(this, $(parseXML(xml)));
-
- this.trigger('contentSet');
+ if(!options.silent) {
+ this.trigger('contentSet');
+ }
},
toXML: function() {
},
toXML: function() {