smartxml: Refactoring Document.transform
[fnpeditor.git] / src / editor / modules / documentCanvas / canvas / documentElement.js
index 9fe3641..60e79de 100644 (file)
@@ -172,7 +172,7 @@ $.extend(DocumentNodeElement, {
         element.setWlxml({tag: wlxmlNode.getTagName(), klass: wlxmlNode.getClass()});
 
         wlxmlNode.contents().forEach(function(node) {
-            container.append(DocumentElement.create(node).dom());
+            container.append(DocumentElement.create(node, canvas).dom());
         }.bind(this));
 
         return dom;
@@ -229,19 +229,11 @@ $.extend(DocumentNodeElement.prototype, {
 
         var elementContent = this._container().contents();
         var element = this;
-        elementContent.each(function(idx) {
+        elementContent.each(function() {
             var childElement = DocumentElement.fromHTMLElement(this, element.canvas);
             if(childElement === undefined) {
                 return true;
             }
-            if(idx === 0 && elementContent.length > 1 && elementContent[1].nodeType === Node.ELEMENT_NODE && (childElement instanceof DocumentTextElement) && $.trim($(this).text()) === '') {
-                return true;
-            }
-            if(idx > 0 && childElement instanceof DocumentTextElement) {
-                if(toret[toret.length-1] instanceof DocumentNodeElement && $.trim($(this).text()) === '') {
-                    return true;
-                }
-            }
             toret.push(childElement);
         });
         return toret;
@@ -339,17 +331,17 @@ var DocumentTextElement = function(htmlElement, canvas) {
 };
 
 $.extend(DocumentTextElement, {
-    createDOM: function(wlxmlTextNode) {
+    createDOM: function(wlxmlTextNode, canvas) {
         var dom = $('<div>')
             .attr('document-text-element', '')
             .text(wlxmlTextNode.getText() || utils.unicode.ZWS),
-        element = this.fromHTMLElement(dom[0], this);
+        element = this.fromHTMLElement(dom[0], canvas);
         element.data('wlxmlNode', wlxmlTextNode);
         return dom;
     },
 
     create: function(wlxmlTextNode, canvas) {
-        return this.fromHTMLElement(this.createDOM(wlxmlTextNode)[0]);
+        return this.fromHTMLElement(this.createDOM(wlxmlTextNode, canvas)[0], canvas);
     },
 
     fromHTMLElement: function(htmlElement, canvas) {