X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/29a87f7c5b2ddddf7c5c738c4747ffd6f6bb35bb..fb3b7d9bff29aa5c99298ce9e4bae53c2eb47a7d:/src/smartxml/smartxml.js diff --git a/src/smartxml/smartxml.js b/src/smartxml/smartxml.js index 502eda6..de70e9b 100644 --- a/src/smartxml/smartxml.js +++ b/src/smartxml/smartxml.js @@ -123,9 +123,17 @@ $.extend(DocumentNode.prototype, { }, isSurroundedByTextNodes: function() { - var prev = this.prev(), - next = this.next(); - return prev && (prev.nodeType === Node.TEXT_NODE) && next && (next.nodeType === Node.TEXT_NODE); + return this.isPrecededByTextNode() && this.isFollowedByTextNode(); + }, + + isPrecededByTextNode: function() { + var prev = this.prev(); + return prev && prev.nodeType === Node.TEXT_NODE; + }, + + isFollowedByTextNode: function() { + var next = this.next(); + return next && next.nodeType === Node.TEXT_NODE; }, triggerChangeEvent: function(type, metaData, origParent, nodeWasContained) { @@ -169,8 +177,12 @@ $.extend(ElementNode.prototype, { nodeType: Node.ELEMENT_NODE, setData: function(key, value) { - if(value !== undefined) { - this._$.data(key, value); + if(arguments.length === 2) { + if(_.isUndefined(value)) { + this._$.removeData(key); + } else { + this._$.data(key, value); + } } else { this._$.removeData(_.keys(this._$.data())); this._$.data(key);