-/**\r
- * @class Ext.form.RadioGroup\r
- * @extends Ext.form.CheckboxGroup\r
- * A grouping container for {@link Ext.form.Radio} controls.\r
- * @constructor\r
- * Creates a new RadioGroup\r
- * @param {Object} config Configuration options\r
- * @xtype radiogroup\r
- */\r
-Ext.form.RadioGroup = Ext.extend(Ext.form.CheckboxGroup, {\r
- /**\r
- * @cfg {Boolean} allowBlank True to allow every item in the group to be blank (defaults to true).\r
- * If allowBlank = false and no items are selected at validation time, {@link @blankText} will\r
- * be used as the error text.\r
- */\r
- allowBlank : true,\r
- /**\r
- * @cfg {String} blankText Error text to display if the {@link #allowBlank} validation fails\r
- * (defaults to 'You must select one item in this group')\r
- */\r
- blankText : 'You must select one item in this group',\r
- \r
- // private\r
- defaultType : 'radio',\r
- \r
- // private\r
- groupCls : 'x-form-radio-group',\r
- \r
- /**\r
- * @event change\r
- * Fires when the state of a child radio changes.\r
- * @param {Ext.form.RadioGroup} this\r
- * @param {Ext.form.Radio} checked The checked radio\r
- */\r
- \r
- /**\r
- * Gets the selected {@link Ext.form.Radio} in the group, if it exists.\r
- * @return {Ext.form.Radio} The selected radio.\r
- */\r
- getValue : function(){\r
- var out = null;\r
- this.eachItem(function(item){\r
- if(item.checked){\r
- out = item;\r
- return false;\r
- }\r
- });\r
- return out;\r
- },\r
- \r
- /**\r
- * Sets the checked radio in the group.\r
- * @param {String/Ext.form.Radio} id The radio to check.\r
- * @param {Boolean} value The value to set the radio.\r
- * @return {Ext.form.RadioGroup} this\r
- */\r
- onSetValue : function(id, value){\r
- if(arguments.length > 1){\r
- var f = this.getBox(id);\r
- if(f){\r
- f.setValue(value);\r
- if(f.checked){\r
- this.eachItem(function(item){\r
- if (item !== f){\r
- item.setValue(false);\r
- }\r
- });\r
- }\r
- }\r
- }else{\r
- this.setValueForItem(id);\r
- }\r
- },\r
- \r
- setValueForItem : function(val){\r
- val = String(val).split(',')[0];\r
- this.eachItem(function(item){\r
- item.setValue(val == item.inputValue);\r
- });\r
- },\r
- \r
- // private\r
- fireChecked : function(){\r
- if(!this.checkTask){\r
- this.checkTask = new Ext.util.DelayedTask(this.bufferChecked, this);\r
- }\r
- this.checkTask.delay(10);\r
- },\r
- \r
- // private\r
- bufferChecked : function(){\r
- var out = null;\r
- this.eachItem(function(item){\r
- if(item.checked){\r
- out = item;\r
- return false;\r
- }\r
- });\r
- this.fireEvent('change', this, out);\r
- },\r
- \r
- onDestroy : function(){\r
- if(this.checkTask){\r
- this.checkTask.cancel();\r
- this.checkTask = null;\r
- }\r
- Ext.form.RadioGroup.superclass.onDestroy.call(this);\r
- }\r
-\r
-});\r
-\r
-Ext.reg('radiogroup', Ext.form.RadioGroup);\r
+/**
+ * @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, {
+ /**
+ * @cfg {Array} items An Array of {@link Ext.form.Radio Radio}s or Radio config objects
+ * to arrange in the group.
+ */
+ /**
+ * @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,
+ /**
+ * @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',
+
+ /**
+ * @event change
+ * Fires when the state of a child radio changes.
+ * @param {Ext.form.RadioGroup} this
+ * @param {Ext.form.Radio} checked The checked radio
+ */
+
+ /**
+ * 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;
+ },
+
+ /**
+ * 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);