X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=roojs-debug.js;h=56f81942e08f095a7378b6a23df317e6a529d2cf;hb=3818ab34627387a252c8450f8b34bbe7e153cafd;hp=5154c8b7fc1b376235f40ef1f6e961f5a9973be9;hpb=71b5ca0374b16351f1f3b64dc222d3d5925622b5;p=roojs1 diff --git a/roojs-debug.js b/roojs-debug.js index 5154c8b7fc..56f81942e0 100644 --- a/roojs-debug.js +++ b/roojs-debug.js @@ -45392,7 +45392,7 @@ Roo.rtf.Parser.prototype = { this.hexStore.push(cmd); }, cmderror : function(cmd) { - throw new Exception (cmd.value); + throw cmd.value; }, /* @@ -45522,7 +45522,8 @@ Roo.rtf.Parser.prototype = { { this.emitText(); if (this.controlWord === '') { - this.emitError('empty control word'); + // do we want to track this - it seems just to cause problems. + //this.emitError('empty control word'); } else { this.push({ type: 'controlword', @@ -46125,7 +46126,10 @@ 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.. @@ -46193,7 +46197,7 @@ Roo.extend(Roo.htmleditor.FilterWord, Roo.htmleditor.Filter, ret[kv[0]] = kv[1]; }); return ret; - } + }, replaceDocBullets : function(doc) @@ -46210,9 +46214,14 @@ Roo.extend(Roo.htmleditor.FilterWord, Roo.htmleditor.Filter, // gather all the siblings. var ns = p, parent = p.parentNode, + doc = parent.ownerDocument, items = []; while (ns) { - if (!ns.className.match(/MsoListParagraph/)) { + if (ns.nodeType != 1) { + ns = ns.nextSibling; + continue; + } + if (!ns.className.match(/MsoListParagraph/i)) { break; } items.push(ns); @@ -46220,13 +46229,42 @@ Roo.extend(Roo.htmleditor.FilterWord, Roo.htmleditor.Filter, } 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); @@ -50190,6 +50228,8 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component, { }); } if (this.autoClean) { + new Roo.htmleditor.FilterWord({ node : d }); + new Roo.htmleditor.FilterStyleToTag({ node : d }); new Roo.htmleditor.FilterAttributes({ node : d,