+
+DocumentNodeElement.create = function(params) {
+ return documentElementFromHTMLElement(DocumentNodeElement.createDOM(params)[0]);
+};
+
+
+$.extend(DocumentTextElement.prototype, {
+ setText: function(text) {
+ this.$element[0].data = text;
+ },
+ getText: function() {
+ return this.$element.text();
+ },
+ after: function(params) {
+ if(params instanceof DocumentTextElement || params.text)
+ return false;
+ var dom;
+ if(params instanceof DocumentNodeElement) {
+ dom = params.dom();
+ } else {
+ dom = DocumentNodeElement.createDOM(params);
+ }
+ this.$element.wrap('<div>');
+ this.$element.parent().after(dom[0]);
+ this.$element.unwrap();
+ return documentElementFromHTMLElement(dom[0]);
+ },
+ wrapWithNodeElement: function(wlxmlNode) {
+ if(wlxmlNode.start && wlxmlNode.end) {
+ return this.canvas.wrapText({
+ inside: this.parent(),
+ textNodeIdx: this.parent().childIndex(this),
+ offsetStart: wlxmlNode.start,
+ offsetEnd: wlxmlNode.end,
+ _with: {tag: wlxmlNode.tag, klass: wlxmlNode.klass}
+ });
+ } else {
+ return DocumentElement.prototype.wrapWithNodeElement.call(this, wlxmlNode);
+ }
+ }
+});
+
+var documentElementFromHTMLElement = function(htmlElement, canvas) {
+ // if(!canvas)
+ // throw 'no canvas specified';