Roo.htmleditor.FilterWord = function(cfg)
{
// no need to apply config.
+ this.replaceDocBullets(cfg.node);
+
this.walk(cfg.node);
+
+
}
Roo.extend(Roo.htmleditor.FilterWord, Roo.htmleditor.Filter,
node.removeChild(cn);
node.parentNode.insertBefore(cn, node);
// move node to parent - and clean it..
- this.replaceTag(cn);
+ if (cn.nodeType == 1) {
+ this.replaceTag(cn);
+ }
+
}
node.parentNode.removeChild(node);
/// no need to iterate chidlren = it's got none..
+ },
+
+ styleToObject: function(node)
+ {
+ var styles = node.getAttribute("style").split(";");
+ var ret = {};
+ Roo.each(styles, function(s) {
+ if (!s.match(/:/)) {
+ return;
+ }
+ var kv = s.split(":");
+
+ // what ever is left... we allow.
+ ret[kv[0]] = kv[1];
+ });
+ return ret;
+ },
+
+
+ replaceDocBullets : function(doc)
+ {
+ var listpara = doc.getElementsByClassName('MsoListParagraph');
+ while(listpara.length) {
+ this.replaceDocBullet(listpara.item(0));
+ //code
+ }
+ },
+
+ replaceDocBullet : function(p)
+ {
+ // gather all the siblings.
+ var ns = p,
+ parent = p.parentNode,
+ doc = parent.ownerDocument,
+ items = [];
+ while (ns) {
+ if (ns.nodeType != 1) {
+ ns = ns.nextSibling;
+ continue;
+ }
+ if (!ns.className.match(/MsoListParagraph/i)) {
+ break;
+ }
+ items.push(ns);
+ ns = ns.nextSibling;
+
+ }
+ var ul = parent.ownerDocument.createElement('ul'); // what about number lists...
+ parent.insertBefore(ul, p);
+ var lvl = 0;
+ var stack = [ ul ];
+ var last_li = false;
+ items.forEach(function(n) {
+ parent.removeChild(n);
+ var spans = n.getElementsByTagName('span');
+ if (!spans.length || !n.isEqualNode(spans.item(0).parentNode)) {
+ return; // skip it...
+ }
+
+ var style = this.styleToObject(n);
+ if (typeof(style['mso-list']) == 'undefined') {
+ return; // skip it.
+ }
+ n.removeChild(spans.item(0)); // remove the fake bullet.
+ var nlvl = (style['mso-list'].split(' ')[1].replace(/level/,'') *1) - 1;
+ if (nlvl > lvl) {
+ //new indent
+ var nul = doc.createElement('ul'); // what about number lists...
+ last_li.appendChild(nul);
+ stack[nlvl] = nul;
+ }
+ lvl = nlvl;
+
+ var nli = stack[nlvl].appendChild(doc.createElement('li'));
+ last_li = nli;
+ // copy children of p into nli
+ while(n.firstChild) {
+ var fc = n.firstChild;
+ n.removeChild(fc);
+ nli.appendChild(fc);
+ }
+
+
+ },this);
+
+
+
+
}
+
+
+
});
/**
* @class Roo.htmleditor.FilterStyleToTag
});
}
if (this.autoClean) {
+ new Roo.htmleditor.FilterWord({ node : d });
+
new Roo.htmleditor.FilterStyleToTag({ node : d });
new Roo.htmleditor.FilterAttributes({
node : d,
//_this.updateToolbar(null, null, pn);
_this.updateToolbar(null, null, null);
_this.updateFooter(false);
-
+
+ console.log("DADADA");
+ editorcore.syncValue();
}
}