summaryrefslogtreecommitdiff
path: root/lib/dijit/form/CheckBox.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dijit/form/CheckBox.js')
-rw-r--r--lib/dijit/form/CheckBox.js76
1 files changed, 76 insertions, 0 deletions
diff --git a/lib/dijit/form/CheckBox.js b/lib/dijit/form/CheckBox.js
new file mode 100644
index 000000000..ea5cdd170
--- /dev/null
+++ b/lib/dijit/form/CheckBox.js
@@ -0,0 +1,76 @@
+/*
+ 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.CheckBox"]){
+dojo._hasResource["dijit.form.CheckBox"]=true;
+dojo.provide("dijit.form.CheckBox");
+dojo.require("dijit.form.ToggleButton");
+dojo.declare("dijit.form.CheckBox",dijit.form.ToggleButton,{templateString:dojo.cache("dijit.form","templates/CheckBox.html","<div class=\"dijit dijitReset dijitInline\" waiRole=\"presentation\"\n\t><input\n\t \t${!nameAttrSetting} type=\"${type}\" ${checkedAttrSetting}\n\t\tclass=\"dijitReset dijitCheckBoxInput\"\n\t\tdojoAttachPoint=\"focusNode\"\n\t \tdojoAttachEvent=\"onclick:_onClick\"\n/></div>\n"),baseClass:"dijitCheckBox",type:"checkbox",value:"on",readOnly:false,attributeMap:dojo.delegate(dijit.form._FormWidget.prototype.attributeMap,{readOnly:"focusNode"}),_setReadOnlyAttr:function(_1){
+this.readOnly=_1;
+dojo.attr(this.focusNode,"readOnly",_1);
+dijit.setWaiState(this.focusNode,"readonly",_1);
+},_setValueAttr:function(_2,_3){
+if(typeof _2=="string"){
+this.value=_2;
+dojo.attr(this.focusNode,"value",_2);
+_2=true;
+}
+if(this._created){
+this.set("checked",_2,_3);
+}
+},_getValueAttr:function(){
+return (this.checked?this.value:false);
+},_setLabelAttr:undefined,postMixInProperties:function(){
+if(this.value==""){
+this.value="on";
+}
+this.checkedAttrSetting=this.checked?"checked":"";
+this.inherited(arguments);
+},_fillContent:function(_4){
+},reset:function(){
+this._hasBeenBlurred=false;
+this.set("checked",this.params.checked||false);
+this.value=this.params.value||"on";
+dojo.attr(this.focusNode,"value",this.value);
+},_onFocus:function(){
+if(this.id){
+dojo.query("label[for='"+this.id+"']").addClass("dijitFocusedLabel");
+}
+this.inherited(arguments);
+},_onBlur:function(){
+if(this.id){
+dojo.query("label[for='"+this.id+"']").removeClass("dijitFocusedLabel");
+}
+this.inherited(arguments);
+},_onClick:function(e){
+if(this.readOnly){
+return false;
+}
+return this.inherited(arguments);
+}});
+dojo.declare("dijit.form.RadioButton",dijit.form.CheckBox,{type:"radio",baseClass:"dijitRadio",_setCheckedAttr:function(_5){
+this.inherited(arguments);
+if(!this._created){
+return;
+}
+if(_5){
+var _6=this;
+dojo.query("INPUT[type=radio]",this.focusNode.form||dojo.doc).forEach(function(_7){
+if(_7.name==_6.name&&_7!=_6.focusNode&&_7.form==_6.focusNode.form){
+var _8=dijit.getEnclosingWidget(_7);
+if(_8&&_8.checked){
+_8.set("checked",false);
+}
+}
+});
+}
+},_clicked:function(e){
+if(!this.checked){
+this.set("checked",true);
+}
+}});
+}