projects
/
roojs1
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Roo/htmleditor/TidyWriter.js
[roojs1]
/
Roo
/
htmleditor
/
TidyWriter.js
diff --git
a/Roo/htmleditor/TidyWriter.js
b/Roo/htmleditor/TidyWriter.js
index
4105267
..
e4ca3a0
100644
(file)
--- a/
Roo/htmleditor/TidyWriter.js
+++ b/
Roo/htmleditor/TidyWriter.js
@@
-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
* 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)
*/
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 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 = i_inline || 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 this element is inline - then don't add stuff beforehand..
- if (!
in
_inline && !this.in_pre) {
+ if (!
e
_inline && !this.in_pre) {
this.addLine();
}
this.addLine();
}
@@
-89,8
+100,9
@@
Roo.htmleditor.TidyWriter.prototype = {
} else {
this.html[this.html.length] = '></' + name.toLowerCase() + '>';
}
} 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;
this.addLine();
}
return;
@@
-171,9
+183,12
@@
Roo.htmleditor.TidyWriter.prototype = {
this.html[this.html.length] = text;
return;
}
this.html[this.html.length] = text;
return;
}
- // see if last
line is a line break
+ // see if last
element was a inline element.
var indentstr = this.indentstr;
var indentstr = this.indentstr;
- if (node.previousSibling && node.previousSibling.nodeType == 1 && Roo.htmleditor.TidyWriter.inline_elements.indexOf(node.previousSibling.nodeName) > -1) {
+ if (node.previousSibling &&
+ node.previousSibling.nodeType == 1 &&
+ Roo.htmleditor.TidyWriter.inline_elements.indexOf(node.previousSibling.nodeName) > -1)
+ {
indentstr = '';
} else {
this.addLine();
indentstr = '';
} else {
this.addLine();