Roo/htmleditor/TidyWriter.js
[roojs1] / Roo / htmleditor / TidyWriter.js
index d09f094..575efdc 100644 (file)
@@ -2,6 +2,12 @@
  * This is based loosely on tinymce 
  * @class Roo.htmleditor.TidyWriter
  * https://github.com/thorn0/tinymce.html/blob/master/tinymce.html.js
+ *
+ * Known issues?
+ * - not tested much with 'PRE' formated elements.
+ * - long text inside of inline can be wrapped and clened?
+ *
+ *
  */
 
 Roo.htmleditor.TidyWriter = function(settings)
@@ -66,11 +72,16 @@ Roo.htmleditor.TidyWriter.prototype = {
         
         var is_short   = empty ? Roo.htmleditor.TidyWriter.shortend_elements.indexOf(name) > -1 : false;
         
+        var i_inline = name == 'BR' ? false : in_inline;
 
-        var indentstr = in_inline || this.in_pre ? '' : this.indentstr;
+        var indentstr = in_inli_inlineine || this.in_pre ? '' : this.indentstr;
+        
+        // e_inline = elements that can be inline, but still allow \n before and after?
+        // only 'BR' ??? any others?
+        var e_inline = name == 'BR' ? false : this.in_inline;
         
         // if this element is inline - then don't add stuff beforehand..
-        if (!in_inline && !this.in_pre) {
+        if (!e_inline && !this.in_pre) {
             this.addLine();
         }
         
@@ -89,8 +100,9 @@ Roo.htmleditor.TidyWriter.prototype = {
             } else {
                 this.html[this.html.length] = '></' + name.toLowerCase() + '>';
             }
+            var e_inline = name == 'BR' ? false : this.in_inline;
             
-            if (!this.in_inline && !this.in_pre) {
+            if (!e_inline && !this.in_pre) {
                 this.addLine();
             }
             return;