//>>built define("dijit/_editor/plugins/FontChoice",["dojo/_base/array","dojo/_base/declare","dojo/dom-construct","dojo/i18n","dojo/_base/lang","dojo/store/Memory","dojo/_base/window","../../registry","../../_Widget","../../_TemplatedMixin","../../_WidgetsInTemplateMixin","../../form/FilteringSelect","../_Plugin","../range","../selection","dojo/i18n!../nls/FontChoice"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f){ var _10=_2("dijit._editor.plugins._FontDropDown",[_9,_a,_b],{label:"",plainText:false,templateString:""+""+""+"",postMixInProperties:function(){ this.inherited(arguments); this.strings=_4.getLocalization("dijit._editor","FontChoice"); this.label=this.strings[this.command]; this.id=_8.getUniqueId(this.declaredClass.replace(/\./g,"_")); this.selectId=this.id+"_select"; this.inherited(arguments); },postCreate:function(){ this.select.set("store",new _6({idProperty:"value",data:_1.map(this.values,function(_11){ var _12=this.strings[_11]||_11; return {label:this.getLabel(_11,_12),name:_12,value:_11}; },this)})); this.select.set("value","",false); this.disabled=this.select.get("disabled"); },_setValueAttr:function(_13,_14){ _14=_14!==false; this.select.set("value",_1.indexOf(this.values,_13)<0?"":_13,_14); if(!_14){ this.select._lastValueReported=null; } },_getValueAttr:function(){ return this.select.get("value"); },focus:function(){ this.select.focus(); },_setDisabledAttr:function(_15){ this.disabled=_15; this.select.set("disabled",_15); }}); var _16=_2("dijit._editor.plugins._FontNameDropDown",_10,{generic:false,command:"fontName",postMixInProperties:function(){ if(!this.values){ this.values=this.generic?["serif","sans-serif","monospace","cursive","fantasy"]:["Arial","Times New Roman","Comic Sans MS","Courier New"]; } this.inherited(arguments); },getLabel:function(_17,_18){ if(this.plainText){ return _18; }else{ return "
"+_18+"
"; } },_setValueAttr:function(_19,_1a){ _1a=_1a!==false; if(this.generic){ var map={"Arial":"sans-serif","Helvetica":"sans-serif","Myriad":"sans-serif","Times":"serif","Times New Roman":"serif","Comic Sans MS":"cursive","Apple Chancery":"cursive","Courier":"monospace","Courier New":"monospace","Papyrus":"fantasy","Estrangelo Edessa":"cursive","Gabriola":"fantasy"}; _19=map[_19]||_19; } this.inherited(arguments,[_19,_1a]); }}); var _1b=_2("dijit._editor.plugins._FontSizeDropDown",_10,{command:"fontSize",values:[1,2,3,4,5,6,7],getLabel:function(_1c,_1d){ if(this.plainText){ return _1d; }else{ return ""+_1d+""; } },_setValueAttr:function(_1e,_1f){ _1f=_1f!==false; if(_1e.indexOf&&_1e.indexOf("px")!=-1){ var _20=parseInt(_1e,10); _1e={10:1,13:2,16:3,18:4,24:5,32:6,48:7}[_20]||_1e; } this.inherited(arguments,[_1e,_1f]); }}); var _21=_2("dijit._editor.plugins._FormatBlockDropDown",_10,{command:"formatBlock",values:["noFormat","p","h1","h2","h3","pre"],postCreate:function(){ this.inherited(arguments); this.set("value","noFormat",false); },getLabel:function(_22,_23){ if(this.plainText||_22=="noFormat"){ return _23; }else{ return "<"+_22+">"+_23+""; } },_execCommand:function(_24,_25,_26){ if(_26==="noFormat"){ var _27; var end; var sel=_e.getSelection(_24.window); if(sel&&sel.rangeCount>0){ var _28=sel.getRangeAt(0); var _29,tag; if(_28){ _27=_28.startContainer; end=_28.endContainer; while(_27&&_27!==_24.editNode&&_27!==_24.document.body&&_27.nodeType!==1){ _27=_27.parentNode; } while(end&&end!==_24.editNode&&end!==_24.document.body&&end.nodeType!==1){ end=end.parentNode; } var _2a=_5.hitch(this,function(_2b,ary){ if(_2b.childNodes&&_2b.childNodes.length){ var i; for(i=0;i<_2b.childNodes.length;i++){ var c=_2b.childNodes[i]; if(c.nodeType==1){ if(_7.withGlobal(_24.window,"inSelection",_f,[c])){ var tag=c.tagName?c.tagName.toLowerCase():""; if(_1.indexOf(this.values,tag)!==-1){ ary.push(c); } _2a(c,ary); } } } } }); var _2c=_5.hitch(this,function(_2d){ if(_2d&&_2d.length){ _24.beginEditing(); while(_2d.length){ this._removeFormat(_24,_2d.pop()); } _24.endEditing(); } }); var _2e=[]; if(_27==end){ var _2f; _29=_27; while(_29&&_29!==_24.editNode&&_29!==_24.document.body){ if(_29.nodeType==1){ tag=_29.tagName?_29.tagName.toLowerCase():""; if(_1.indexOf(this.values,tag)!==-1){ _2f=_29; break; } } _29=_29.parentNode; } _2a(_27,_2e); if(_2f){ _2e=[_2f].concat(_2e); } _2c(_2e); }else{ _29=_27; while(_7.withGlobal(_24.window,"inSelection",_f,[_29])){ if(_29.nodeType==1){ tag=_29.tagName?_29.tagName.toLowerCase():""; if(_1.indexOf(this.values,tag)!==-1){ _2e.push(_29); } _2a(_29,_2e); } _29=_29.nextSibling; } _2c(_2e); } _24.onDisplayChanged(); } } }else{ _24.execCommand(_25,_26); } },_removeFormat:function(_30,_31){ if(_30.customUndo){ while(_31.firstChild){ _3.place(_31.firstChild,_31,"before"); } _31.parentNode.removeChild(_31); }else{ _7.withGlobal(_30.window,"selectElementChildren",_f,[_31]); var _32=_7.withGlobal(_30.window,"getSelectedHtml",_f,[null]); _7.withGlobal(_30.window,"selectElement",_f,[_31]); _30.execCommand("inserthtml",_32||""); } }}); var _33=_2("dijit._editor.plugins.FontChoice",_d,{useDefaultCommand:false,_initButton:function(){ var _34={fontName:_16,fontSize:_1b,formatBlock:_21}[this.command],_35=this.params; if(this.params.custom){ _35.values=this.params.custom; } var _36=this.editor; this.button=new _34(_5.delegate({dir:_36.dir,lang:_36.lang},_35)); this.connect(this.button.select,"onChange",function(_37){ this.editor.focus(); if(this.command=="fontName"&&_37.indexOf(" ")!=-1){ _37="'"+_37+"'"; } if(this.button._execCommand){ this.button._execCommand(this.editor,this.command,_37); }else{ this.editor.execCommand(this.command,_37); } }); },updateState:function(){ var _38=this.editor; var _39=this.command; if(!_38||!_38.isLoaded||!_39.length){ return; } if(this.button){ var _3a=this.get("disabled"); this.button.set("disabled",_3a); if(_3a){ return; } var _3b; try{ _3b=_38.queryCommandValue(_39)||""; } catch(e){ _3b=""; } var _3c=_5.isString(_3b)&&_3b.match(/'([^']*)'/); if(_3c){ _3b=_3c[1]; } if(_39==="formatBlock"){ if(!_3b||_3b=="p"){ _3b=null; var _3d; var sel=_e.getSelection(this.editor.window); if(sel&&sel.rangeCount>0){ var _3e=sel.getRangeAt(0); if(_3e){ _3d=_3e.endContainer; } } while(_3d&&_3d!==_38.editNode&&_3d!==_38.document){ var tg=_3d.tagName?_3d.tagName.toLowerCase():""; if(tg&&_1.indexOf(this.button.values,tg)>-1){ _3b=tg; break; } _3d=_3d.parentNode; } if(!_3b){ _3b="noFormat"; } }else{ if(_1.indexOf(this.button.values,_3b)<0){ _3b="noFormat"; } } } if(_3b!==this.button.get("value")){ this.button.set("value",_3b,false); } } }}); _1.forEach(["fontName","fontSize","formatBlock"],function(_3f){ _d.registry[_3f]=function(_40){ return new _33({command:_3f,plainText:_40.plainText}); }; }); });