| /* |
| Copyright (c) 2004-2009, 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.Button"]){ |
| dojo._hasResource["dijit.form.Button"]=true; |
| dojo.provide("dijit.form.Button"); |
| dojo.require("dijit.form._FormWidget"); |
| dojo.require("dijit._Container"); |
| dojo.require("dijit._HasDropDown"); |
| dojo.declare("dijit.form.Button",dijit.form._FormWidget,{label:"",showLabel:true,iconClass:"",type:"button",baseClass:"dijitButton",templateString:dojo.cache("dijit.form","templates/Button.html","<span class=\"dijit dijitReset dijitLeft dijitInline\"\n\tdojoAttachEvent=\"onclick:_onButtonClick,onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"\n\t><span class=\"dijitReset dijitRight dijitInline\"\n\t\t><span class=\"dijitReset dijitInline dijitButtonNode\"\n\t\t\t><button class=\"dijitReset dijitStretch dijitButtonContents\"\n\t\t\t\tdojoAttachPoint=\"titleNode,focusNode\"\n\t\t\t\t${nameAttrSetting} type=\"${type}\" value=\"${value}\" waiRole=\"button\" waiState=\"labelledby-${id}_label\"\n\t\t\t\t><span class=\"dijitReset dijitInline\" dojoAttachPoint=\"iconNode\"\n\t\t\t\t\t><span class=\"dijitReset dijitToggleButtonIconChar\">✓</span\n\t\t\t\t></span\n\t\t\t\t><span class=\"dijitReset dijitInline dijitButtonText\"\n\t\t\t\t\tid=\"${id}_label\"\n\t\t\t\t\tdojoAttachPoint=\"containerNode\"\n\t\t\t\t></span\n\t\t\t></button\n\t\t></span\n\t></span\n></span>\n"),attributeMap:dojo.delegate(dijit.form._FormWidget.prototype.attributeMap,{label:{node:"containerNode",type:"innerHTML"},iconClass:{node:"iconNode",type:"class"}}),_onClick:function(e){ |
| if(this.disabled){ |
| return false; |
| } |
| this._clicked(); |
| return this.onClick(e); |
| },_onButtonClick:function(e){ |
| if(this._onClick(e)===false){ |
| e.preventDefault(); |
| }else{ |
| if(this.type=="submit"&&!this.focusNode.form){ |
| for(var _1=this.domNode;_1.parentNode;_1=_1.parentNode){ |
| var _2=dijit.byNode(_1); |
| if(_2&&typeof _2._onSubmit=="function"){ |
| _2._onSubmit(e); |
| break; |
| } |
| } |
| } |
| } |
| },_setValueAttr:function(_3){ |
| var _4=this.attributeMap.value||""; |
| if(this[_4.node||_4||"domNode"].tagName=="BUTTON"){ |
| if(_3!=this.value){ |
| } |
| } |
| },_fillContent:function(_5){ |
| if(_5&&(!this.params||!("label" in this.params))){ |
| this.attr("label",_5.innerHTML); |
| } |
| },postCreate:function(){ |
| dojo.setSelectable(this.focusNode,false); |
| this.inherited(arguments); |
| },_setShowLabelAttr:function(_6){ |
| if(this.containerNode){ |
| dojo.toggleClass(this.containerNode,"dijitDisplayNone",!_6); |
| } |
| this.showLabel=_6; |
| },onClick:function(e){ |
| return true; |
| },_clicked:function(e){ |
| },setLabel:function(_7){ |
| dojo.deprecated("dijit.form.Button.setLabel() is deprecated. Use attr('label', ...) instead.","","2.0"); |
| this.attr("label",_7); |
| },_setLabelAttr:function(_8){ |
| this.containerNode.innerHTML=this.label=_8; |
| if(this.showLabel==false&&!this.params.title){ |
| this.titleNode.title=dojo.trim(this.containerNode.innerText||this.containerNode.textContent||""); |
| } |
| }}); |
| dojo.declare("dijit.form.DropDownButton",[dijit.form.Button,dijit._Container,dijit._HasDropDown],{baseClass:"dijitDropDownButton",templateString:dojo.cache("dijit.form","templates/DropDownButton.html","<span class=\"dijit dijitReset dijitLeft dijitInline\"\n\tdojoAttachPoint=\"_buttonNode\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"\n\t><span class='dijitReset dijitRight dijitInline'\n\t\t><span class='dijitReset dijitInline dijitButtonNode'\n\t\t\t><button class=\"dijitReset dijitStretch dijitButtonContents\"\n\t\t\t\t${nameAttrSetting} type=\"${type}\" value=\"${value}\"\n\t\t\t\tdojoAttachPoint=\"focusNode,titleNode,_arrowWrapperNode\"\n\t\t\t\twaiRole=\"button\" waiState=\"haspopup-true,labelledby-${id}_label\"\n\t\t\t\t><span class=\"dijitReset dijitInline\"\n\t\t\t\t\tdojoAttachPoint=\"iconNode\"\n\t\t\t\t></span\n\t\t\t\t><span class=\"dijitReset dijitInline dijitButtonText\"\n\t\t\t\t\tdojoAttachPoint=\"containerNode,_popupStateNode\"\n\t\t\t\t\tid=\"${id}_label\"\n\t\t\t\t></span\n\t\t\t\t><span class=\"dijitReset dijitInline dijitArrowButtonInner\"> </span\n\t\t\t\t><span class=\"dijitReset dijitInline dijitArrowButtonChar\">▼</span\n\t\t\t></button\n\t\t></span\n\t></span\n></span>\n"),_fillContent:function(){ |
| if(this.srcNodeRef){ |
| var _9=dojo.query("*",this.srcNodeRef); |
| dijit.form.DropDownButton.superclass._fillContent.call(this,_9[0]); |
| this.dropDownContainer=this.srcNodeRef; |
| } |
| },startup:function(){ |
| if(this._started){ |
| return; |
| } |
| if(!this.dropDown){ |
| var _a=dojo.query("[widgetId]",this.dropDownContainer)[0]; |
| this.dropDown=dijit.byNode(_a); |
| delete this.dropDownContainer; |
| } |
| dijit.popup.moveOffScreen(this.dropDown.domNode); |
| this.inherited(arguments); |
| },isLoaded:function(){ |
| var _b=this.dropDown; |
| return (!_b.href||_b.isLoaded); |
| },loadDropDown:function(){ |
| var _c=this.dropDown; |
| if(!_c){ |
| return; |
| } |
| if(!this.isLoaded()){ |
| var _d=dojo.connect(_c,"onLoad",this,function(){ |
| dojo.disconnect(_d); |
| this.openDropDown(); |
| }); |
| _c.refresh(); |
| }else{ |
| this.openDropDown(); |
| } |
| },isFocusable:function(){ |
| return this.inherited(arguments)&&!this._mouseDown; |
| }}); |
| dojo.declare("dijit.form.ComboButton",dijit.form.DropDownButton,{templateString:dojo.cache("dijit.form","templates/ComboButton.html","<table class='dijit dijitReset dijitInline dijitLeft'\n\tcellspacing='0' cellpadding='0' waiRole=\"presentation\"\n\t><tbody waiRole=\"presentation\"><tr waiRole=\"presentation\"\n\t\t><td class=\"dijitReset dijitStretch dijitButtonNode\"><button id=\"${id}_button\" class=\"dijitReset dijitButtonContents\"\n\t\t\tdojoAttachEvent=\"onclick:_onButtonClick,onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse,onkeypress:_onButtonKeyPress\" dojoAttachPoint=\"titleNode\"\n\t\t\twaiRole=\"button\" waiState=\"labelledby-${id}_label\"\n\t\t\t><div class=\"dijitReset dijitInline\" dojoAttachPoint=\"iconNode\" waiRole=\"presentation\"></div\n\t\t\t><div class=\"dijitReset dijitInline dijitButtonText\" id=\"${id}_label\" dojoAttachPoint=\"containerNode\" waiRole=\"presentation\"></div\n\t\t></button></td\n\t\t><td id=\"${id}_arrow\" class='dijitReset dijitRight dijitButtonNode dijitArrowButton'\n\t\t\tdojoAttachPoint=\"_popupStateNode,focusNode,_buttonNode\"\n\t\t\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onkeypress:_onArrowKeyPress\"\n\t\t\tstateModifier=\"DownArrow\"\n\t\t\ttitle=\"${optionsTitle}\" ${nameAttrSetting}\n\t\t\twaiRole=\"button\" waiState=\"haspopup-true\"\n\t\t\t><div class=\"dijitReset dijitArrowButtonInner\" waiRole=\"presentation\"> </div\n\t\t\t><div class=\"dijitReset dijitArrowButtonChar\" waiRole=\"presentation\">▼</div\n\t\t></td\n\t></tr></tbody\n></table>\n"),attributeMap:dojo.mixin(dojo.clone(dijit.form.Button.prototype.attributeMap),{id:"",tabIndex:["focusNode","titleNode"],title:"titleNode"}),optionsTitle:"",baseClass:"dijitComboButton",_focusedNode:null,postCreate:function(){ |
| this.inherited(arguments); |
| this._focalNodes=[this.titleNode,this._popupStateNode]; |
| var _e=dojo.isIE; |
| dojo.forEach(this._focalNodes,dojo.hitch(this,function(_f){ |
| this.connect(_f,_e?"onactivate":"onfocus",this._onNodeFocus); |
| this.connect(_f,_e?"ondeactivate":"onblur",this._onNodeBlur); |
| })); |
| if(_e&&(_e<8||dojo.isQuirks)){ |
| with(this.titleNode){ |
| style.width=scrollWidth+"px"; |
| this.connect(this.titleNode,"onresize",function(){ |
| setTimeout(function(){ |
| style.width=scrollWidth+"px"; |
| },0); |
| }); |
| } |
| } |
| },_onNodeFocus:function(evt){ |
| this._focusedNode=evt.currentTarget; |
| var fnc=this._focusedNode==this.focusNode?"dijitDownArrowButtonFocused":"dijitButtonContentsFocused"; |
| dojo.addClass(this._focusedNode,fnc); |
| },_onNodeBlur:function(evt){ |
| var fnc=evt.currentTarget==this.focusNode?"dijitDownArrowButtonFocused":"dijitButtonContentsFocused"; |
| dojo.removeClass(evt.currentTarget,fnc); |
| },_onBlur:function(){ |
| this.inherited(arguments); |
| this._focusedNode=null; |
| },_onButtonKeyPress:function(evt){ |
| if(evt.charOrCode==dojo.keys[this.isLeftToRight()?"RIGHT_ARROW":"LEFT_ARROW"]){ |
| dijit.focus(this._popupStateNode); |
| dojo.stopEvent(evt); |
| } |
| },_onArrowKeyPress:function(evt){ |
| if(evt.charOrCode==dojo.keys[this.isLeftToRight()?"LEFT_ARROW":"RIGHT_ARROW"]){ |
| dijit.focus(this.titleNode); |
| dojo.stopEvent(evt); |
| } |
| },focus:function(_10){ |
| dijit.focus(_10=="start"?this.titleNode:this._popupStateNode); |
| }}); |
| dojo.declare("dijit.form.ToggleButton",dijit.form.Button,{baseClass:"dijitToggleButton",checked:false,attributeMap:dojo.mixin(dojo.clone(dijit.form.Button.prototype.attributeMap),{checked:"focusNode"}),_clicked:function(evt){ |
| this.attr("checked",!this.checked); |
| },_setCheckedAttr:function(_11){ |
| this.checked=_11; |
| dojo.attr(this.focusNode||this.domNode,"checked",_11); |
| dijit.setWaiState(this.focusNode||this.domNode,"pressed",_11); |
| this._setStateClass(); |
| this._handleOnChange(_11,true); |
| },setChecked:function(_12){ |
| dojo.deprecated("setChecked("+_12+") is deprecated. Use attr('checked',"+_12+") instead.","","2.0"); |
| this.attr("checked",_12); |
| },reset:function(){ |
| this._hasBeenBlurred=false; |
| this.attr("checked",this.params.checked||false); |
| }}); |
| } |