<html>
|
<head>
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<title>The source code</title>
|
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
|
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>
|
</head>
|
<body onload="prettyPrint();">
|
<pre class="prettyprint lang-js"><div id="cls-Ext.form.RadioGroup"></div>/**
|
* @class Ext.form.RadioGroup
|
* @extends Ext.form.CheckboxGroup
|
* A grouping container for {@link Ext.form.Radio} controls.
|
* @constructor
|
* Creates a new RadioGroup
|
* @param {Object} config Configuration options
|
* @xtype radiogroup
|
*/
|
Ext.form.RadioGroup = Ext.extend(Ext.form.CheckboxGroup, {
|
<div id="cfg-Ext.form.RadioGroup-items"></div>/**
|
* @cfg {Array} items An Array of {@link Ext.form.Radio Radio}s or Radio config objects
|
* to arrange in the group.
|
*/
|
<div id="cfg-Ext.form.RadioGroup-allowBlank"></div>/**
|
* @cfg {Boolean} allowBlank True to allow every item in the group to be blank (defaults to true).
|
* If allowBlank = false and no items are selected at validation time, {@link @blankText} will
|
* be used as the error text.
|
*/
|
allowBlank : true,
|
<div id="cfg-Ext.form.RadioGroup-blankText"></div>/**
|
* @cfg {String} blankText Error text to display if the {@link #allowBlank} validation fails
|
* (defaults to 'You must select one item in this group')
|
*/
|
blankText : 'You must select one item in this group',
|
|
// private
|
defaultType : 'radio',
|
|
// private
|
groupCls : 'x-form-radio-group',
|
|
<div id="event-Ext.form.RadioGroup-change"></div>/**
|
* @event change
|
* Fires when the state of a child radio changes.
|
* @param {Ext.form.RadioGroup} this
|
* @param {Ext.form.Radio} checked The checked radio
|
*/
|
|
<div id="method-Ext.form.RadioGroup-getValue"></div>/**
|
* Gets the selected {@link Ext.form.Radio} in the group, if it exists.
|
* @return {Ext.form.Radio} The selected radio.
|
*/
|
getValue : function(){
|
var out = null;
|
this.eachItem(function(item){
|
if(item.checked){
|
out = item;
|
return false;
|
}
|
});
|
return out;
|
},
|
|
<div id="method-Ext.form.RadioGroup-onSetValue"></div>/**
|
* Sets the checked radio in the group.
|
* @param {String/Ext.form.Radio} id The radio to check.
|
* @param {Boolean} value The value to set the radio.
|
* @return {Ext.form.RadioGroup} this
|
*/
|
onSetValue : function(id, value){
|
if(arguments.length > 1){
|
var f = this.getBox(id);
|
if(f){
|
f.setValue(value);
|
if(f.checked){
|
this.eachItem(function(item){
|
if (item !== f){
|
item.setValue(false);
|
}
|
});
|
}
|
}
|
}else{
|
this.setValueForItem(id);
|
}
|
},
|
|
setValueForItem : function(val){
|
val = String(val).split(',')[0];
|
this.eachItem(function(item){
|
item.setValue(val == item.inputValue);
|
});
|
},
|
|
// private
|
fireChecked : function(){
|
if(!this.checkTask){
|
this.checkTask = new Ext.util.DelayedTask(this.bufferChecked, this);
|
}
|
this.checkTask.delay(10);
|
},
|
|
// private
|
bufferChecked : function(){
|
var out = null;
|
this.eachItem(function(item){
|
if(item.checked){
|
out = item;
|
return false;
|
}
|
});
|
this.fireEvent('change', this, out);
|
},
|
|
onDestroy : function(){
|
if(this.checkTask){
|
this.checkTask.cancel();
|
this.checkTask = null;
|
}
|
Ext.form.RadioGroup.superclass.onDestroy.call(this);
|
}
|
|
});
|
|
Ext.reg('radiogroup', Ext.form.RadioGroup);
|
</pre>
|
</body>
|
</html>
|