| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- define("dijit/form/_ToggleButtonMixin", [
 
- 	"dojo/_base/declare", // declare
 
- 	"dojo/dom-attr" // domAttr.set
 
- ], function(declare, domAttr){
 
- // module:
 
- //		dijit/form/_ToggleButtonMixin
 
- // summary:
 
- //		A mixin to provide functionality to allow a button that can be in two states (checked or not).
 
- return declare("dijit.form._ToggleButtonMixin", null, {
 
- 	// summary:
 
- 	//		A mixin to provide functionality to allow a button that can be in two states (checked or not).
 
- 	// checked: Boolean
 
- 	//		Corresponds to the native HTML <input> element's attribute.
 
- 	//		In markup, specified as "checked='checked'" or just "checked".
 
- 	//		True if the button is depressed, or the checkbox is checked,
 
- 	//		or the radio button is selected, etc.
 
- 	checked: false,
 
- 	// aria-pressed for toggle buttons, and aria-checked for checkboxes
 
- 	_aria_attr: "aria-pressed",
 
- 	_onClick: function(/*Event*/ evt){
 
- 		var original = this.checked;
 
- 		this._set('checked', !original); // partially set the toggled value, assuming the toggle will work, so it can be overridden in the onclick handler
 
- 		var ret = this.inherited(arguments); // the user could reset the value here
 
- 		this.set('checked', ret ? this.checked : original); // officially set the toggled or user value, or reset it back
 
- 		return ret;
 
- 	},
 
- 	_setCheckedAttr: function(/*Boolean*/ value, /*Boolean?*/ priorityChange){
 
- 		this._set("checked", value);
 
- 		domAttr.set(this.focusNode || this.domNode, "checked", value);
 
- 		(this.focusNode || this.domNode).setAttribute(this._aria_attr, value ? "true" : "false"); // aria values should be strings
 
- 		this._handleOnChange(value, priorityChange);
 
- 	},
 
- 	reset: function(){
 
- 		// summary:
 
- 		//		Reset the widget's value to what it was at initialization time
 
- 		this._hasBeenBlurred = false;
 
- 		// set checked state to original setting
 
- 		this.set('checked', this.params.checked || false);
 
- 	}
 
- });
 
- });
 
 
  |