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