Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / RadioGroup.html
1 <html>\r
2 <head>\r
3   <title>The source code</title>\r
4     <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
5     <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
6 </head>\r
7 <body  onload="prettyPrint();">\r
8     <pre class="prettyprint lang-js"><div id="cls-Ext.form.RadioGroup"></div>/**
9  * @class Ext.form.RadioGroup
10  * @extends Ext.form.CheckboxGroup
11  * A grouping container for {@link Ext.form.Radio} controls.
12  * @constructor
13  * Creates a new RadioGroup
14  * @param {Object} config Configuration options
15  * @xtype radiogroup
16  */
17 Ext.form.RadioGroup = Ext.extend(Ext.form.CheckboxGroup, {
18     <div id="cfg-Ext.form.RadioGroup-allowBlank"></div>/**
19      * @cfg {Boolean} allowBlank True to allow every item in the group to be blank (defaults to true).
20      * If allowBlank = false and no items are selected at validation time, {@link @blankText} will
21      * be used as the error text.
22      */
23     allowBlank : true,
24     <div id="cfg-Ext.form.RadioGroup-blankText"></div>/**
25      * @cfg {String} blankText Error text to display if the {@link #allowBlank} validation fails
26      * (defaults to 'You must select one item in this group')
27      */
28     blankText : 'You must select one item in this group',
29     
30     // private
31     defaultType : 'radio',
32     
33     // private
34     groupCls : 'x-form-radio-group',
35     
36     <div id="event-Ext.form.RadioGroup-change"></div>/**
37      * @event change
38      * Fires when the state of a child radio changes.
39      * @param {Ext.form.RadioGroup} this
40      * @param {Ext.form.Radio} checked The checked radio
41      */
42     
43     <div id="method-Ext.form.RadioGroup-getValue"></div>/**
44      * Gets the selected {@link Ext.form.Radio} in the group, if it exists.
45      * @return {Ext.form.Radio} The selected radio.
46      */
47     getValue : function(){
48         var out = null;
49         this.eachItem(function(item){
50             if(item.checked){
51                 out = item;
52                 return false;
53             }
54         });
55         return out;
56     },
57     
58     <div id="method-Ext.form.RadioGroup-setValue"></div>/**
59      * Sets the checked radio in the group.
60      * @param {String/Ext.form.Radio} id The radio to check.
61      * @param {Boolean} value The value to set the radio.
62      * @return {Ext.form.RadioGroup} this
63      */
64     setValue : function(id, value){
65         if(this.rendered){
66             if(arguments.length > 1){
67                 var f = this.getBox(id);
68                 if(f){
69                     f.setValue(value);
70                     if(f.checked){
71                         this.eachItem(function(item){
72                             if (item !== f){
73                                 item.setValue(false);
74                             }
75                         });
76                     }
77                 }
78             }else{
79                 this.setValueForItem(id);
80             }
81         }else{
82             this.values = arguments;
83         }
84         return this;
85     },
86     
87     // private
88     fireChecked : function(){
89         if(!this.checkTask){
90             this.checkTask = new Ext.util.DelayedTask(this.bufferChecked, this);
91         }
92         this.checkTask.delay(10);
93     },
94     
95     // private
96     bufferChecked : function(){
97         var out = null;
98         this.eachItem(function(item){
99             if(item.checked){
100                 out = item;
101                 return false;
102             }
103         });
104         this.fireEvent('change', this, out);
105     },
106     
107     onDestroy : function(){
108         if(this.checkTask){
109             this.checkTask.cancel();
110             this.checkTask = null;
111         }
112         Ext.form.RadioGroup.superclass.onDestroy.call(this);
113     }
114
115 });
116
117 Ext.reg('radiogroup', Ext.form.RadioGroup);
118 </pre>    \r
119 </body>\r
120 </html>