Adding/removing lists - first approach
[fnpeditor.git] / modules / documentCanvas / transformations.js
index de72efd..4824849 100644 (file)
@@ -1,5 +1,7 @@
 define(['libs/jquery-1.9.1.min'], function($) {\r
 \r
+    'use strict';\r
+\r
     var transformations = {};\r
 \r
     transformations.fromXML = {\r
@@ -35,6 +37,20 @@ define(['libs/jquery-1.9.1.min'], function($) {
             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
@@ -74,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
-                    toret.attr(wlxmlName, value);\r
+                    if(value.length && value.length > 0)\r
+                        toret.attr(wlxmlName, value);\r
                 }\r
                     \r
                 toret.append(div.contents());\r