//>>built define("dojox/editor/plugins/NormalizeStyle",["dojo","dijit","dojox","dijit/_editor/html","dijit/_editor/_Plugin","dojo/_base/connect","dojo/_base/declare"],function(_1,_2,_3){ _1.declare("dojox.editor.plugins.NormalizeStyle",_2._editor._Plugin,{mode:"semantic",condenseSpans:true,setEditor:function(_4){ this.editor=_4; _4.customUndo=true; if(this.mode==="semantic"){ this.editor.contentDomPostFilters.push(_1.hitch(this,this._convertToSemantic)); }else{ if(this.mode==="css"){ this.editor.contentDomPostFilters.push(_1.hitch(this,this._convertToCss)); } } if(_1.isIE){ this.editor.contentDomPreFilters.push(_1.hitch(this,this._convertToSemantic)); this._browserFilter=this._convertToSemantic; }else{ if(_1.isWebKit){ this.editor.contentDomPreFilters.push(_1.hitch(this,this._convertToCss)); this._browserFilter=this._convertToCss; }else{ if(_1.isMoz){ this.editor.contentDomPreFilters.push(_1.hitch(this,this._convertToSemantic)); this._browserFilter=this._convertToSemantic; }else{ this.editor.contentDomPreFilters.push(_1.hitch(this,this._convertToSemantic)); this._browserFilter=this._convertToSemantic; } } } if(this.editor._inserthtmlImpl){ this.editor._oldInsertHtmlImpl=this.editor._inserthtmlImpl; } this.editor._inserthtmlImpl=_1.hitch(this,this._inserthtmlImpl); },_convertToSemantic:function(_5){ if(_5){ var w=this.editor.window; var _6=this; var _7=function(_8){ if(_8.nodeType==1){ if(_8.id!=="dijitEditorBody"){ var _9=_8.style; var _a=_8.tagName?_8.tagName.toLowerCase():""; var _b; if(_9&&_a!="table"&&_a!="ul"&&_a!="ol"){ var fw=_9.fontWeight?_9.fontWeight.toLowerCase():""; var fs=_9.fontStyle?_9.fontStyle.toLowerCase():""; var td=_9.textDecoration?_9.textDecoration.toLowerCase():""; var s=_9.fontSize?_9.fontSize.toLowerCase():""; var bc=_9.backgroundColor?_9.backgroundColor.toLowerCase():""; var c=_9.color?_9.color.toLowerCase():""; var _c=function(_d,_e){ if(_d){ while(_e.firstChild){ _d.appendChild(_e.firstChild); } if(_a=="span"&&!_e.style.cssText){ _1.place(_d,_e,"before"); _e.parentNode.removeChild(_e); _e=_d; }else{ _e.appendChild(_d); } } return _e; }; switch(fw){ case "bold": case "bolder": case "700": case "800": case "900": _b=_1.withGlobal(w,"create",_1,["b",{}]); _8.style.fontWeight=""; break; } _8=_c(_b,_8); _b=null; if(fs=="italic"){ _b=_1.withGlobal(w,"create",_1,["i",{}]); _8.style.fontStyle=""; } _8=_c(_b,_8); _b=null; if(td){ var da=td.split(" "); var _f=0; _1.forEach(da,function(s){ switch(s){ case "underline": _b=_1.withGlobal(w,"create",_1,["u",{}]); break; case "line-through": _b=_1.withGlobal(w,"create",_1,["strike",{}]); break; } _f++; if(_f==da.length){ _8.style.textDecoration=""; } _8=_c(_b,_8); _b=null; }); } if(s){ var _10={"xx-small":1,"x-small":2,"small":3,"medium":4,"large":5,"x-large":6,"xx-large":7,"-webkit-xxx-large":7}; if(s.indexOf("pt")>0){ s=s.substring(0,s.indexOf("pt")); s=parseInt(s); if(s<5){ s="xx-small"; }else{ if(s<10){ s="x-small"; }else{ if(s<15){ s="small"; }else{ if(s<20){ s="medium"; }else{ if(s<25){ s="large"; }else{ if(s<30){ s="x-large"; }else{ if(s>30){ s="xx-large"; } } } } } } } }else{ if(s.indexOf("px")>0){ s=s.substring(0,s.indexOf("px")); s=parseInt(s); if(s<5){ s="xx-small"; }else{ if(s<10){ s="x-small"; }else{ if(s<15){ s="small"; }else{ if(s<20){ s="medium"; }else{ if(s<25){ s="large"; }else{ if(s<30){ s="x-large"; }else{ if(s>30){ s="xx-large"; } } } } } } } } } var _11=_10[s]; if(!_11){ _11=3; } _b=_1.withGlobal(w,"create",_1,["font",{size:_11}]); _8.style.fontSize=""; } _8=_c(_b,_8); _b=null; if(bc&&_a!=="font"&&_6._isInline(_a)){ bc=new _1.Color(bc).toHex(); _b=_1.withGlobal(w,"create",_1,["font",{style:{backgroundColor:bc}}]); _8.style.backgroundColor=""; } if(c&&_a!=="font"){ c=new _1.Color(c).toHex(); _b=_1.withGlobal(w,"create",_1,["font",{color:c}]); _8.style.color=""; } _8=_c(_b,_8); _b=null; } } if(_8.childNodes){ var _12=[]; _1.forEach(_8.childNodes,function(n){ _12.push(n); }); _1.forEach(_12,_7); } } return _8; }; return this._normalizeTags(_7(_5)); } return _5; },_normalizeTags:function(_13){ var w=this.editor.window; var _14=_1.withGlobal(w,function(){ return _1.query("em,s,strong",_13); }); if(_14&&_14.length){ _1.forEach(_14,function(n){ if(n){ var tag=n.tagName?n.tagName.toLowerCase():""; var _15; switch(tag){ case "s": _15="strike"; break; case "em": _15="i"; break; case "strong": _15="b"; break; } if(_15){ var _16=_1.withGlobal(w,"create",_1,[_15,null,n,"before"]); while(n.firstChild){ _16.appendChild(n.firstChild); } n.parentNode.removeChild(n); } } }); } return _13; },_convertToCss:function(_17){ if(_17){ var w=this.editor.window; var _18=function(_19){ if(_19.nodeType==1){ if(_19.id!=="dijitEditorBody"){ var tag=_19.tagName?_19.tagName.toLowerCase():""; if(tag){ var _1a; switch(tag){ case "b": case "strong": _1a=_1.withGlobal(w,"create",_1,["span",{style:{"fontWeight":"bold"}}]); break; case "i": case "em": _1a=_1.withGlobal(w,"create",_1,["span",{style:{"fontStyle":"italic"}}]); break; case "u": _1a=_1.withGlobal(w,"create",_1,["span",{style:{"textDecoration":"underline"}}]); break; case "strike": case "s": _1a=_1.withGlobal(w,"create",_1,["span",{style:{"textDecoration":"line-through"}}]); break; case "font": var _1b={}; if(_1.attr(_19,"color")){ _1b.color=_1.attr(_19,"color"); } if(_1.attr(_19,"face")){ _1b.fontFace=_1.attr(_19,"face"); } if(_19.style&&_19.style.backgroundColor){ _1b.backgroundColor=_19.style.backgroundColor; } if(_19.style&&_19.style.color){ _1b.color=_19.style.color; } var _1c={1:"xx-small",2:"x-small",3:"small",4:"medium",5:"large",6:"x-large",7:"xx-large"}; if(_1.attr(_19,"size")){ _1b.fontSize=_1c[_1.attr(_19,"size")]; } _1a=_1.withGlobal(w,"create",_1,["span",{style:_1b}]); break; } if(_1a){ while(_19.firstChild){ _1a.appendChild(_19.firstChild); } _1.place(_1a,_19,"before"); _19.parentNode.removeChild(_19); _19=_1a; } } } if(_19.childNodes){ var _1d=[]; _1.forEach(_19.childNodes,function(n){ _1d.push(n); }); _1.forEach(_1d,_18); } } return _19; }; _17=_18(_17); if(this.condenseSpans){ this._condenseSpans(_17); } } return _17; },_condenseSpans:function(_1e){ var _1f=function(_20){ var _21=function(_22){ var m; if(_22){ m={}; var _23=_22.toLowerCase().split(";"); _1.forEach(_23,function(s){ if(s){ var ss=s.split(":"); var key=ss[0]?_1.trim(ss[0]):""; var val=ss[1]?_1.trim(ss[1]):""; if(key&&val){ var i; var _24=""; for(i=0;i