Building js & css for editor with r.js/lessc via grunt tasks
[fnpeditor.git] / modules / documentCanvas / transformations.js
index 44ab78a..2b5a5eb 100644 (file)
@@ -37,6 +37,20 @@ define(['libs/jquery-1.9.1.min'], function($) {
             transform(toBlock, 'div');\r
             transform(toInline, 'span');\r
 \r
             transform(toBlock, 'div');\r
             transform(toInline, 'span');\r
 \r
+            toret.find(":not(iframe)").addBack().contents().filter(function() {\r
+                return this.nodeType == 3} ).each(function() {\r
+                    var n = $(this); \r
+                    var hasText = /\S/g.test(n.text());\r
+                    if(!hasText) {\r
+                        n.remove();\r
+                        return;\r
+                    }\r
+                    var startSpace = /\s/g.test(n.text().substr(0,1));\r
+                    var endSpace = /\s/g.test(n.text().substr(-1)) && n.text().length > 1;\r
+                    var trimmed = $.trim(n.text());\r
+                    n.get(0).data = (startSpace ? ' ' : '') + trimmed + (endSpace ? ' ' : '');\r
+            });\r
+            \r
             return toret.children();\r
         },\r
         getMetaData: function(xml) {\r
             return toret.children();\r
         },\r
         getMetaData: function(xml) {\r
@@ -58,7 +72,7 @@ define(['libs/jquery-1.9.1.min'], function($) {
     transformations.toXML = {\r
         getXML: function(body) {\r
             \r
     transformations.toXML = {\r
         getXML: function(body) {\r
             \r
-            var inner = $(body);\r
+            var inner = body.clone();\r
             var toret = $('<div></div>');\r
             toret.append(inner);\r
             \r
             var toret = $('<div></div>');\r
             toret.append(inner);\r
             \r
@@ -76,7 +90,8 @@ define(['libs/jquery-1.9.1.min'], function($) {
                     var wlxmlName = split.splice(1).join('-');\r
                     var value = wlxmlName === 'class' ? attr.value.replace(/-/g, '.') : attr.value;\r
                     console.log(name + ': ' + value);\r
                     var wlxmlName = split.splice(1).join('-');\r
                     var value = wlxmlName === 'class' ? attr.value.replace(/-/g, '.') : attr.value;\r
                     console.log(name + ': ' + value);\r
-                    toret.attr(wlxmlName, value);\r
+                    if(value.length && value.length > 0)\r
+                        toret.attr(wlxmlName, value);\r
                 }\r
                     \r
                 toret.append(div.contents());\r
                 }\r
                     \r
                 toret.append(div.contents());\r