diff options
Diffstat (limited to 'lib/dijit/form/ComboBox.js')
-rw-r--r-- | lib/dijit/form/ComboBox.js | 615 |
1 files changed, 615 insertions, 0 deletions
diff --git a/lib/dijit/form/ComboBox.js b/lib/dijit/form/ComboBox.js new file mode 100644 index 000000000..694c43ed1 --- /dev/null +++ b/lib/dijit/form/ComboBox.js @@ -0,0 +1,615 @@ +/* + Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved. + Available via Academic Free License >= 2.1 OR the modified BSD license. + see: http://dojotoolkit.org/license for details +*/ + + +if(!dojo._hasResource["dijit.form.ComboBox"]){ +dojo._hasResource["dijit.form.ComboBox"]=true; +dojo.provide("dijit.form.ComboBox"); +dojo.require("dojo.window"); +dojo.require("dojo.regexp"); +dojo.require("dojo.data.util.simpleFetch"); +dojo.require("dojo.data.util.filter"); +dojo.require("dijit._CssStateMixin"); +dojo.require("dijit.form._FormWidget"); +dojo.require("dijit.form.ValidationTextBox"); +dojo.requireLocalization("dijit.form","ComboBox",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); +dojo.declare("dijit.form.ComboBoxMixin",null,{item:null,pageSize:Infinity,store:null,fetchProperties:{},query:{},autoComplete:true,highlightMatch:"first",searchDelay:100,searchAttr:"name",labelAttr:"",labelType:"text",queryExpr:"${0}*",ignoreCase:true,hasDownArrow:true,templateString:dojo.cache("dijit.form","templates/ComboBox.html","<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachPoint=\"comboNode\" waiRole=\"combobox\"\n\t><div class='dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonContainer'\n\t\tdojoAttachPoint=\"downArrowNode\" waiRole=\"presentation\"\n\t\tdojoAttachEvent=\"onmousedown:_onArrowMouseDown\"\n\t\t><input class=\"dijitReset dijitInputField dijitArrowButtonInner\" value=\"▼ \" type=\"text\" tabIndex=\"-1\" readOnly waiRole=\"presentation\"\n\t\t\t${_buttonInputDisabled}\n\t/></div\n\t><div class='dijitReset dijitValidationContainer'\n\t\t><input class=\"dijitReset dijitInputField dijitValidationIcon dijitValidationInner\" value=\"Χ \" type=\"text\" tabIndex=\"-1\" readOnly waiRole=\"presentation\"\n\t/></div\n\t><div class=\"dijitReset dijitInputField dijitInputContainer\"\n\t\t><input class='dijitReset dijitInputInner' ${!nameAttrSetting} type=\"text\" autocomplete=\"off\"\n\t\t\tdojoAttachEvent=\"onkeypress:_onKeyPress,compositionend\"\n\t\t\tdojoAttachPoint=\"textbox,focusNode\" waiRole=\"textbox\" waiState=\"haspopup-true,autocomplete-list\"\n\t/></div\n></div>\n"),baseClass:"dijitTextBox dijitComboBox",cssStateNodes:{"downArrowNode":"dijitDownArrowButton"},_getCaretPos:function(_1){ +var _2=0; +if(typeof (_1.selectionStart)=="number"){ +_2=_1.selectionStart; +}else{ +if(dojo.isIE){ +var tr=dojo.doc.selection.createRange().duplicate(); +var _3=_1.createTextRange(); +tr.move("character",0); +_3.move("character",0); +try{ +_3.setEndPoint("EndToEnd",tr); +_2=String(_3.text).replace(/\r/g,"").length; +} +catch(e){ +} +} +} +return _2; +},_setCaretPos:function(_4,_5){ +_5=parseInt(_5); +dijit.selectInputText(_4,_5,_5); +},_setDisabledAttr:function(_6){ +this.inherited(arguments); +dijit.setWaiState(this.comboNode,"disabled",_6); +},_abortQuery:function(){ +if(this.searchTimer){ +clearTimeout(this.searchTimer); +this.searchTimer=null; +} +if(this._fetchHandle){ +if(this._fetchHandle.abort){ +this._fetchHandle.abort(); +} +this._fetchHandle=null; +} +},_onInput:function(_7){ +if(!this.searchTimer&&(_7.type=="paste"||_7.type=="input")&&this._lastInput!=this.textbox.value){ +this.searchTimer=setTimeout(dojo.hitch(this,function(){ +this._onKeyPress({charOrCode:229}); +}),100); +} +this.inherited(arguments); +},_onKeyPress:function(_8){ +var _9=_8.charOrCode; +if(_8.altKey||((_8.ctrlKey||_8.metaKey)&&(_9!="x"&&_9!="v"))||_9==dojo.keys.SHIFT){ +return; +} +var _a=false; +var _b="_startSearchFromInput"; +var pw=this._popupWidget; +var dk=dojo.keys; +var _c=null; +this._prev_key_backspace=false; +this._abortQuery(); +if(this._isShowingNow){ +pw.handleKey(_9); +_c=pw.getHighlightedOption(); +} +switch(_9){ +case dk.PAGE_DOWN: +case dk.DOWN_ARROW: +case dk.PAGE_UP: +case dk.UP_ARROW: +if(!this._isShowingNow){ +_a=true; +_b="_startSearchAll"; +}else{ +this._announceOption(_c); +} +dojo.stopEvent(_8); +break; +case dk.ENTER: +if(_c){ +if(_c==pw.nextButton){ +this._nextSearch(1); +dojo.stopEvent(_8); +break; +}else{ +if(_c==pw.previousButton){ +this._nextSearch(-1); +dojo.stopEvent(_8); +break; +} +} +}else{ +this._setBlurValue(); +this._setCaretPos(this.focusNode,this.focusNode.value.length); +} +_8.preventDefault(); +case dk.TAB: +var _d=this.get("displayedValue"); +if(pw&&(_d==pw._messages["previousMessage"]||_d==pw._messages["nextMessage"])){ +break; +} +if(_c){ +this._selectOption(); +} +if(this._isShowingNow){ +this._lastQuery=null; +this._hideResultList(); +} +break; +case " ": +if(_c){ +dojo.stopEvent(_8); +this._selectOption(); +this._hideResultList(); +}else{ +_a=true; +} +break; +case dk.ESCAPE: +if(this._isShowingNow){ +dojo.stopEvent(_8); +this._hideResultList(); +} +break; +case dk.DELETE: +case dk.BACKSPACE: +this._prev_key_backspace=true; +_a=true; +break; +default: +_a=typeof _9=="string"||_9==229; +} +if(_a){ +this.item=undefined; +this.searchTimer=setTimeout(dojo.hitch(this,_b),1); +} +},_autoCompleteText:function(_e){ +var fn=this.focusNode; +dijit.selectInputText(fn,fn.value.length); +var _f=this.ignoreCase?"toLowerCase":"substr"; +if(_e[_f](0).indexOf(this.focusNode.value[_f](0))==0){ +var _10=this._getCaretPos(fn); +if((_10+1)>fn.value.length){ +fn.value=_e; +dijit.selectInputText(fn,_10); +} +}else{ +fn.value=_e; +dijit.selectInputText(fn); +} +},_openResultList:function(_11,_12){ +this._fetchHandle=null; +if(this.disabled||this.readOnly||(_12.query[this.searchAttr]!=this._lastQuery)){ +return; +} +this._popupWidget.clearResultList(); +if(!_11.length&&!this._maxOptions){ +this._hideResultList(); +return; +} +_12._maxOptions=this._maxOptions; +var _13=this._popupWidget.createOptions(_11,_12,dojo.hitch(this,"_getMenuLabelFromItem")); +this._showResultList(); +if(_12.direction){ +if(1==_12.direction){ +this._popupWidget.highlightFirstOption(); +}else{ +if(-1==_12.direction){ +this._popupWidget.highlightLastOption(); +} +} +this._announceOption(this._popupWidget.getHighlightedOption()); +}else{ +if(this.autoComplete&&!this._prev_key_backspace&&!/^[*]+$/.test(_12.query[this.searchAttr])){ +this._announceOption(_13[1]); +} +} +},_showResultList:function(){ +this._hideResultList(); +this.displayMessage(""); +dojo.style(this._popupWidget.domNode,{width:"",height:""}); +var _14=this.open(); +var _15=dojo.marginBox(this._popupWidget.domNode); +this._popupWidget.domNode.style.overflow=((_14.h==_15.h)&&(_14.w==_15.w))?"hidden":"auto"; +var _16=_14.w; +if(_14.h<this._popupWidget.domNode.scrollHeight){ +_16+=16; +} +dojo.marginBox(this._popupWidget.domNode,{h:_14.h,w:Math.max(_16,this.domNode.offsetWidth)}); +if(_16<this.domNode.offsetWidth){ +this._popupWidget.domNode.parentNode.style.left=dojo.position(this.domNode,true).x+"px"; +} +dijit.setWaiState(this.comboNode,"expanded","true"); +},_hideResultList:function(){ +this._abortQuery(); +if(this._isShowingNow){ +dijit.popup.close(this._popupWidget); +this._isShowingNow=false; +dijit.setWaiState(this.comboNode,"expanded","false"); +dijit.removeWaiState(this.focusNode,"activedescendant"); +} +},_setBlurValue:function(){ +var _17=this.get("displayedValue"); +var pw=this._popupWidget; +if(pw&&(_17==pw._messages["previousMessage"]||_17==pw._messages["nextMessage"])){ +this._setValueAttr(this._lastValueReported,true); +}else{ +if(typeof this.item=="undefined"){ +this.item=null; +this.set("displayedValue",_17); +}else{ +if(this.value!=this._lastValueReported){ +dijit.form._FormValueWidget.prototype._setValueAttr.call(this,this.value,true); +} +this._refreshState(); +} +} +},_onBlur:function(){ +this._hideResultList(); +this.inherited(arguments); +},_setItemAttr:function(_18,_19,_1a){ +if(!_1a){ +_1a=this.labelFunc(_18,this.store); +} +this.value=this._getValueField()!=this.searchAttr?this.store.getIdentity(_18):_1a; +this.item=_18; +dijit.form.ComboBox.superclass._setValueAttr.call(this,this.value,_19,_1a); +},_announceOption:function(_1b){ +if(!_1b){ +return; +} +var _1c; +if(_1b==this._popupWidget.nextButton||_1b==this._popupWidget.previousButton){ +_1c=_1b.innerHTML; +this.item=undefined; +this.value=""; +}else{ +_1c=this.labelFunc(_1b.item,this.store); +this.set("item",_1b.item,false,_1c); +} +this.focusNode.value=this.focusNode.value.substring(0,this._lastInput.length); +dijit.setWaiState(this.focusNode,"activedescendant",dojo.attr(_1b,"id")); +this._autoCompleteText(_1c); +},_selectOption:function(evt){ +if(evt){ +this._announceOption(evt.target); +} +this._hideResultList(); +this._setCaretPos(this.focusNode,this.focusNode.value.length); +dijit.form._FormValueWidget.prototype._setValueAttr.call(this,this.value,true); +},_onArrowMouseDown:function(evt){ +if(this.disabled||this.readOnly){ +return; +} +dojo.stopEvent(evt); +this.focus(); +if(this._isShowingNow){ +this._hideResultList(); +}else{ +this._startSearchAll(); +} +},_startSearchAll:function(){ +this._startSearch(""); +},_startSearchFromInput:function(){ +this._startSearch(this.focusNode.value.replace(/([\\\*\?])/g,"\\$1")); +},_getQueryString:function(_1d){ +return dojo.string.substitute(this.queryExpr,[_1d]); +},_startSearch:function(key){ +if(!this._popupWidget){ +var _1e=this.id+"_popup"; +this._popupWidget=new dijit.form._ComboBoxMenu({onChange:dojo.hitch(this,this._selectOption),id:_1e,dir:this.dir}); +dijit.removeWaiState(this.focusNode,"activedescendant"); +dijit.setWaiState(this.textbox,"owns",_1e); +} +var _1f=dojo.clone(this.query); +this._lastInput=key; +this._lastQuery=_1f[this.searchAttr]=this._getQueryString(key); +this.searchTimer=setTimeout(dojo.hitch(this,function(_20,_21){ +this.searchTimer=null; +var _22={queryOptions:{ignoreCase:this.ignoreCase,deep:true},query:_20,onBegin:dojo.hitch(this,"_setMaxOptions"),onComplete:dojo.hitch(this,"_openResultList"),onError:function(_23){ +_21._fetchHandle=null; +console.error("dijit.form.ComboBox: "+_23); +dojo.hitch(_21,"_hideResultList")(); +},start:0,count:this.pageSize}; +dojo.mixin(_22,_21.fetchProperties); +this._fetchHandle=_21.store.fetch(_22); +var _24=function(_25,_26){ +_25.start+=_25.count*_26; +_25.direction=_26; +this._fetchHandle=this.store.fetch(_25); +}; +this._nextSearch=this._popupWidget.onPage=dojo.hitch(this,_24,this._fetchHandle); +},_1f,this),this.searchDelay); +},_setMaxOptions:function(_27,_28){ +this._maxOptions=_27; +},_getValueField:function(){ +return this.searchAttr; +},compositionend:function(evt){ +this._onKeyPress({charOrCode:229}); +},constructor:function(){ +this.query={}; +this.fetchProperties={}; +},postMixInProperties:function(){ +if(!this.store){ +var _29=this.srcNodeRef; +this.store=new dijit.form._ComboBoxDataStore(_29); +if(!("value" in this.params)){ +var _2a=this.store.fetchSelectedItem(); +if(_2a){ +var _2b=this._getValueField(); +this.value=_2b!=this.searchAttr?this.store.getValue(_2a,_2b):this.labelFunc(_2a,this.store); +} +} +} +this.inherited(arguments); +},postCreate:function(){ +if(!this.hasDownArrow){ +this.downArrowNode.style.display="none"; +} +var _2c=dojo.query("label[for=\""+this.id+"\"]"); +if(_2c.length){ +_2c[0].id=(this.id+"_label"); +var cn=this.comboNode; +dijit.setWaiState(cn,"labelledby",_2c[0].id); +} +this.inherited(arguments); +},uninitialize:function(){ +if(this._popupWidget&&!this._popupWidget._destroyed){ +this._hideResultList(); +this._popupWidget.destroy(); +} +this.inherited(arguments); +},_getMenuLabelFromItem:function(_2d){ +var _2e=this.labelAttr?this.store.getValue(_2d,this.labelAttr):this.labelFunc(_2d,this.store); +var _2f=this.labelType; +if(this.highlightMatch!="none"&&this.labelType=="text"&&this._lastInput){ +_2e=this.doHighlight(_2e,this._escapeHtml(this._lastInput)); +_2f="html"; +} +return {html:_2f=="html",label:_2e}; +},doHighlight:function(_30,_31){ +var _32="i"+(this.highlightMatch=="all"?"g":""); +var _33=this._escapeHtml(_30); +_31=dojo.regexp.escapeString(_31); +var ret=_33.replace(new RegExp("(^|\\s)("+_31+")",_32),"$1<span class=\"dijitComboBoxHighlightMatch\">$2</span>"); +return ret; +},_escapeHtml:function(str){ +str=String(str).replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">").replace(/"/gm,"""); +return str; +},open:function(){ +this._isShowingNow=true; +return dijit.popup.open({popup:this._popupWidget,around:this.domNode,parent:this}); +},reset:function(){ +this.item=null; +this.inherited(arguments); +},labelFunc:function(_34,_35){ +return _35.getValue(_34,this.searchAttr).toString(); +}}); +dojo.declare("dijit.form._ComboBoxMenu",[dijit._Widget,dijit._Templated,dijit._CssStateMixin],{templateString:"<ul class='dijitReset dijitMenu' dojoAttachEvent='onmousedown:_onMouseDown,onmouseup:_onMouseUp,onmouseover:_onMouseOver,onmouseout:_onMouseOut' tabIndex='-1' style='overflow: \"auto\"; overflow-x: \"hidden\";'>"+"<li class='dijitMenuItem dijitMenuPreviousButton' dojoAttachPoint='previousButton' waiRole='option'></li>"+"<li class='dijitMenuItem dijitMenuNextButton' dojoAttachPoint='nextButton' waiRole='option'></li>"+"</ul>",_messages:null,baseClass:"dijitComboBoxMenu",postMixInProperties:function(){ +this._messages=dojo.i18n.getLocalization("dijit.form","ComboBox",this.lang); +this.inherited(arguments); +},_setValueAttr:function(_36){ +this.value=_36; +this.onChange(_36); +},onChange:function(_37){ +},onPage:function(_38){ +},postCreate:function(){ +this.previousButton.innerHTML=this._messages["previousMessage"]; +this.nextButton.innerHTML=this._messages["nextMessage"]; +this.inherited(arguments); +},onClose:function(){ +this._blurOptionNode(); +},_createOption:function(_39,_3a){ +var _3b=_3a(_39); +var _3c=dojo.doc.createElement("li"); +dijit.setWaiRole(_3c,"option"); +if(_3b.html){ +_3c.innerHTML=_3b.label; +}else{ +_3c.appendChild(dojo.doc.createTextNode(_3b.label)); +} +if(_3c.innerHTML==""){ +_3c.innerHTML=" "; +} +_3c.item=_39; +return _3c; +},createOptions:function(_3d,_3e,_3f){ +this.previousButton.style.display=(_3e.start==0)?"none":""; +dojo.attr(this.previousButton,"id",this.id+"_prev"); +dojo.forEach(_3d,function(_40,i){ +var _41=this._createOption(_40,_3f); +_41.className="dijitReset dijitMenuItem"+(this.isLeftToRight()?"":" dijitMenuItemRtl"); +dojo.attr(_41,"id",this.id+i); +this.domNode.insertBefore(_41,this.nextButton); +},this); +var _42=false; +if(_3e._maxOptions&&_3e._maxOptions!=-1){ +if((_3e.start+_3e.count)<_3e._maxOptions){ +_42=true; +}else{ +if((_3e.start+_3e.count)>_3e._maxOptions&&_3e.count==_3d.length){ +_42=true; +} +} +}else{ +if(_3e.count==_3d.length){ +_42=true; +} +} +this.nextButton.style.display=_42?"":"none"; +dojo.attr(this.nextButton,"id",this.id+"_next"); +return this.domNode.childNodes; +},clearResultList:function(){ +while(this.domNode.childNodes.length>2){ +this.domNode.removeChild(this.domNode.childNodes[this.domNode.childNodes.length-2]); +} +},_onMouseDown:function(evt){ +dojo.stopEvent(evt); +},_onMouseUp:function(evt){ +if(evt.target===this.domNode||!this._highlighted_option){ +return; +}else{ +if(evt.target==this.previousButton){ +this.onPage(-1); +}else{ +if(evt.target==this.nextButton){ +this.onPage(1); +}else{ +var tgt=evt.target; +while(!tgt.item){ +tgt=tgt.parentNode; +} +this._setValueAttr({target:tgt},true); +} +} +} +},_onMouseOver:function(evt){ +if(evt.target===this.domNode){ +return; +} +var tgt=evt.target; +if(!(tgt==this.previousButton||tgt==this.nextButton)){ +while(!tgt.item){ +tgt=tgt.parentNode; +} +} +this._focusOptionNode(tgt); +},_onMouseOut:function(evt){ +if(evt.target===this.domNode){ +return; +} +this._blurOptionNode(); +},_focusOptionNode:function(_43){ +if(this._highlighted_option!=_43){ +this._blurOptionNode(); +this._highlighted_option=_43; +dojo.addClass(this._highlighted_option,"dijitMenuItemSelected"); +} +},_blurOptionNode:function(){ +if(this._highlighted_option){ +dojo.removeClass(this._highlighted_option,"dijitMenuItemSelected"); +this._highlighted_option=null; +} +},_highlightNextOption:function(){ +if(!this.getHighlightedOption()){ +var fc=this.domNode.firstChild; +this._focusOptionNode(fc.style.display=="none"?fc.nextSibling:fc); +}else{ +var ns=this._highlighted_option.nextSibling; +if(ns&&ns.style.display!="none"){ +this._focusOptionNode(ns); +}else{ +this.highlightFirstOption(); +} +} +dojo.window.scrollIntoView(this._highlighted_option); +},highlightFirstOption:function(){ +var _44=this.domNode.firstChild; +var _45=_44.nextSibling; +this._focusOptionNode(_45.style.display=="none"?_44:_45); +dojo.window.scrollIntoView(this._highlighted_option); +},highlightLastOption:function(){ +this._focusOptionNode(this.domNode.lastChild.previousSibling); +dojo.window.scrollIntoView(this._highlighted_option); +},_highlightPrevOption:function(){ +if(!this.getHighlightedOption()){ +var lc=this.domNode.lastChild; +this._focusOptionNode(lc.style.display=="none"?lc.previousSibling:lc); +}else{ +var ps=this._highlighted_option.previousSibling; +if(ps&&ps.style.display!="none"){ +this._focusOptionNode(ps); +}else{ +this.highlightLastOption(); +} +} +dojo.window.scrollIntoView(this._highlighted_option); +},_page:function(up){ +var _46=0; +var _47=this.domNode.scrollTop; +var _48=dojo.style(this.domNode,"height"); +if(!this.getHighlightedOption()){ +this._highlightNextOption(); +} +while(_46<_48){ +if(up){ +if(!this.getHighlightedOption().previousSibling||this._highlighted_option.previousSibling.style.display=="none"){ +break; +} +this._highlightPrevOption(); +}else{ +if(!this.getHighlightedOption().nextSibling||this._highlighted_option.nextSibling.style.display=="none"){ +break; +} +this._highlightNextOption(); +} +var _49=this.domNode.scrollTop; +_46+=(_49-_47)*(up?-1:1); +_47=_49; +} +},pageUp:function(){ +this._page(true); +},pageDown:function(){ +this._page(false); +},getHighlightedOption:function(){ +var ho=this._highlighted_option; +return (ho&&ho.parentNode)?ho:null; +},handleKey:function(key){ +switch(key){ +case dojo.keys.DOWN_ARROW: +this._highlightNextOption(); +break; +case dojo.keys.PAGE_DOWN: +this.pageDown(); +break; +case dojo.keys.UP_ARROW: +this._highlightPrevOption(); +break; +case dojo.keys.PAGE_UP: +this.pageUp(); +break; +} +}}); +dojo.declare("dijit.form.ComboBox",[dijit.form.ValidationTextBox,dijit.form.ComboBoxMixin],{_setValueAttr:function(_4a,_4b,_4c){ +this.item=null; +if(!_4a){ +_4a=""; +} +dijit.form.ValidationTextBox.prototype._setValueAttr.call(this,_4a,_4b,_4c); +}}); +dojo.declare("dijit.form._ComboBoxDataStore",null,{constructor:function(_4d){ +this.root=_4d; +if(_4d.tagName!="SELECT"&&_4d.firstChild){ +_4d=dojo.query("select",_4d); +if(_4d.length>0){ +_4d=_4d[0]; +}else{ +this.root.innerHTML="<SELECT>"+this.root.innerHTML+"</SELECT>"; +_4d=this.root.firstChild; +} +this.root=_4d; +} +dojo.query("> option",_4d).forEach(function(_4e){ +_4e.innerHTML=dojo.trim(_4e.innerHTML); +}); +},getValue:function(_4f,_50,_51){ +return (_50=="value")?_4f.value:(_4f.innerText||_4f.textContent||""); +},isItemLoaded:function(_52){ +return true; +},getFeatures:function(){ +return {"dojo.data.api.Read":true,"dojo.data.api.Identity":true}; +},_fetchItems:function(_53,_54,_55){ +if(!_53.query){ +_53.query={}; +} +if(!_53.query.name){ +_53.query.name=""; +} +if(!_53.queryOptions){ +_53.queryOptions={}; +} +var _56=dojo.data.util.filter.patternToRegExp(_53.query.name,_53.queryOptions.ignoreCase),_57=dojo.query("> option",this.root).filter(function(_58){ +return (_58.innerText||_58.textContent||"").match(_56); +}); +if(_53.sort){ +_57.sort(dojo.data.util.sorter.createSortFunction(_53.sort,this)); +} +_54(_57,_53); +},close:function(_59){ +return; +},getLabel:function(_5a){ +return _5a.innerHTML; +},getIdentity:function(_5b){ +return dojo.attr(_5b,"value"); +},fetchItemByIdentity:function(_5c){ +var _5d=dojo.query("> option[value='"+_5c.identity+"']",this.root)[0]; +_5c.onItem(_5d); +},fetchSelectedItem:function(){ +var _5e=this.root,si=_5e.selectedIndex; +return typeof si=="number"?dojo.query("> option:nth-child("+(si!=-1?si+1:1)+")",_5e)[0]:null; +}}); +dojo.extend(dijit.form._ComboBoxDataStore,dojo.data.util.simpleFetch); +} |