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