try and use xml serializer to correctly ouput text
[roojs1] / docs / src / Roo_htmleditor_FilterWord.js.html
index 068de8a..39c0cf9 100644 (file)
     </span><span class="jsdoc-comment">// no need to apply config.
     </span><span class="jsdoc-var">this.replaceDocBullets</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cfg.node</span><span class="jsdoc-syntax">);
 
-    </span><span class="jsdoc-var">this.walk</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cfg.node</span><span class="jsdoc-syntax">);
+   </span><span class="jsdoc-comment">// this.walk(cfg.node);
 
 
-}
+</span><span class="jsdoc-syntax">}
 
 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.htmleditor.FilterWord</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.htmleditor.Filter</span><span class="jsdoc-syntax">,
 {
 
     </span><span class="jsdoc-var">styleToObject</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">)
     {
-        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">styles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">node.getAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;style&quot;</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;;&quot;</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">styles </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">node.getAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;style&quot;</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;;&quot;</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= {};
         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">styles</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">) {
             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">s.match</span><span class="jsdoc-syntax">(/:/)) {
 
     </span><span class="jsdoc-var">replaceDocBullets </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc</span><span class="jsdoc-syntax">)
     {
+        </span><span class="jsdoc-comment">// this is a bit odd - but it appears some indents use ql-indent-1
+
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">listpara </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">doc.getElementsByClassName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'ql-indent-1'</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">listpara.length</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.replaceDocBullet</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">listpara.item</span><span class="jsdoc-syntax">(0));
+        }
+
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">listpara </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">doc.getElementsByClassName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'MsoListParagraph'</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">listpara.length</span><span class="jsdoc-syntax">) {
             </span><span class="jsdoc-var">this.replaceDocBullet</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">listpara.item</span><span class="jsdoc-syntax">(0));
-            </span><span class="jsdoc-comment">//code
-        </span><span class="jsdoc-syntax">}
+        }
     },
 
     </span><span class="jsdoc-var">replaceDocBullet </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">)
                 </span><span class="jsdoc-var">ns </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ns.nextSibling</span><span class="jsdoc-syntax">;
                 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
             }
-            </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">ns.className.match</span><span class="jsdoc-syntax">(/MsoListParagraph/i)) {
+            </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">ns.className.match</span><span class="jsdoc-syntax">(/(MsoListParagraph|ql-indent-1)/i)) {
                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
             }
             </span><span class="jsdoc-var">items.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ns</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">stack </span><span class="jsdoc-syntax">= [ </span><span class="jsdoc-var">ul </span><span class="jsdoc-syntax">];
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">last_li </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
         </span><span class="jsdoc-var">items.forEach</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">) {
-            </span><span class="jsdoc-var">parent.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-comment">//Roo.log(&quot;got innertHMLT=&quot; + n.innerHTML);
+
             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">spans </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.getElementsByTagName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">);
-            </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">spans.length </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">n.isEqualNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">spans.item</span><span class="jsdoc-syntax">(0)</span><span class="jsdoc-var">.parentNode</span><span class="jsdoc-syntax">)) {
+            </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">spans.length</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-comment">//Roo.log(&quot;No spans found&quot;);
+
+                </span><span class="jsdoc-var">parent.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// skip it...
             </span><span class="jsdoc-syntax">}
 
-            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.styleToObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
+
+
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">= {};
+            </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">spans.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+
+                </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.styleToObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">spans</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
+                </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'mso-list'</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
+                    </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
+                }
+
+                </span><span class="jsdoc-var">spans</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">spans</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]); </span><span class="jsdoc-comment">// remove the fake bullet.
+                </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
+            }
+            </span><span class="jsdoc-comment">//Roo.log(&quot;NOW GOT innertHMLT=&quot; + n.innerHTML);
+            </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.styleToObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">); </span><span class="jsdoc-comment">// mo-list is from the parent node.
             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'mso-list'</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
-                </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// skip it.
-            </span><span class="jsdoc-syntax">}
-            </span><span class="jsdoc-var">n.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">spans.item</span><span class="jsdoc-syntax">(0)); </span><span class="jsdoc-comment">// remove the fake bullet.
+                </span><span class="jsdoc-comment">//Roo.log(&quot;parent is missing level&quot;);
+                </span><span class="jsdoc-var">parent.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
+                </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+            }
+
             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">nlvl </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'mso-list'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">)[1]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/level/,</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">) *1) - 1;
             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">nlvl </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">lvl</span><span class="jsdoc-syntax">) {
                 </span><span class="jsdoc-comment">//new indent
 
             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">nli </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">stack</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">nlvl</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'li'</span><span class="jsdoc-syntax">));
             </span><span class="jsdoc-var">last_li </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">nli</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">nli.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.innerHTML</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-comment">//Roo.log(&quot;innerHTML = &quot; + n.innerHTML);
+            </span><span class="jsdoc-var">parent.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
+
             </span><span class="jsdoc-comment">// copy children of p into nli
-            </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.firstChild</span><span class="jsdoc-syntax">) {
-                </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.firstChild</span><span class="jsdoc-syntax">;
-                </span><span class="jsdoc-var">n.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fc</span><span class="jsdoc-syntax">);
-                </span><span class="jsdoc-var">nli.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fc</span><span class="jsdoc-syntax">);
-            }
+            /*while(n.firstChild) {
+                var fc = n.firstChild;
+                n.removeChild(fc);
+                nli.appendChild(fc);
+            }*/
 
 
-        },</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-syntax">},</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);