Roo/form/ComboBoxArray.js
[roojs1] / Roo / HtmlEditorCore.js
index b7e33bd..23398db 100644 (file)
@@ -939,13 +939,16 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component,  {
         var nodeIsBefore   =  ss == 1;
         var nodeIsAfter    = ee == -1;
         
-        if (nodeIsBefore && nodeIsAfter)
+        if (nodeIsBefore && nodeIsAfter) {
             return 0; // outer
-        if (!nodeIsBefore && nodeIsAfter)
+        }
+        if (!nodeIsBefore && nodeIsAfter) {
             return 1; //right trailed.
+        }
         
-        if (nodeIsBefore && !nodeIsAfter)
+        if (nodeIsBefore && !nodeIsAfter) {
             return 2;  // left trailed.
+        }
         // fully contined.
         return 3;
     },
@@ -1238,7 +1241,8 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component,  {
     },
     /**
      * iterateChildren of a Node, calling fn each time, using this as the scole..
-     *
+     * @param {DomNode} node node to iterate children of.
+     * @param {Function} fn method of this class to call on each item.
      */
     iterateChildren : function(node, fn)
     {
@@ -1271,45 +1275,18 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component,  {
         if (node.nodeName == "#text" || node.nodeName == "#comment") {
             return; 
         }
-        
-        if (node.tagName.toLowerCase().match(/^(style|script|applet|embed|noframes|noscript)$/)) {
-            node.parentNode.removeChild(node);
+        Roo.log(node.tagName);
+        if (!node.tagName.toLowerCase().match(/^(table|td|tr)$/)) {
+            this.iterateChildren(node, this.cleanTableWidths);
             return;
         }
-        
-        // remove - but keep children..
-        if (node.tagName.toLowerCase().match(/^(meta|link|\\?xml:|st1:|o:|font)/)) {
-            while (node.childNodes.length) {
-                var cn = node.childNodes[0];
-                node.removeChild(cn);
-                node.parentNode.insertBefore(cn, node);
-            }
-            node.parentNode.removeChild(node);
-            cleanWordChildren();
-            return;
-        }
-        // clean styles
-        if (node.className.length) {
-            
-            var cn = node.className.split(/\W+/);
-            var cna = [];
-            Roo.each(cn, function(cls) {
-                if (cls.match(/Mso[a-zA-Z]+/)) {
-                    return;
-                }
-                cna.push(cls);
-            });
-            node.className = cna.length ? cna.join(' ') : '';
-            if (!cna.length) {
-                node.removeAttribute("class");
-            }
-        }
-        
-        if (node.hasAttribute("lang")) {
-            node.removeAttribute("lang");
+        if (node.hasAttribute('width')) {
+            node.removeAttribute('width');
         }
         
+         
         if (node.hasAttribute("style")) {
+            // pretty basic...
             
             var styles = node.getAttribute("style").split(";");
             var nstyle = [];
@@ -1318,7 +1295,7 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component,  {
                     return;
                 }
                 var kv = s.split(":");
-                if (kv[0].match(/^(mso-|line|font|background|margin|padding|color)/)) {
+                if (kv[0].match(/^\s*(width|min-width)\s*$/)) {
                     return;
                 }
                 // what ever is left... we allow.
@@ -1330,7 +1307,7 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component,  {
             }
         }
         
-        cleanWordChildren();
+        this.iterateChildren(node, this.cleanTableWidths);
         
         
     },