Upgrade to ExtJS 4.0.2 - Released 06/09/2011
[extjs.git] / docs / source / Boolean.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5   <title>The source code</title>
6   <link href="../prettify/prettify.css" type="text/css" rel="stylesheet" />
7   <script type="text/javascript" src="../prettify/prettify.js"></script>
8   <style type="text/css">
9     .highlight { display: block; background-color: #ddd; }
10   </style>
11   <script type="text/javascript">
12     function highlight() {
13       document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
14     }
15   </script>
16 </head>
17 <body onload="prettyPrint(); highlight();">
18   <pre class="prettyprint lang-js"><span id='Ext-grid-column-Boolean'>/**
19 </span> * @class Ext.grid.column.Boolean
20  * @extends Ext.grid.column.Column
21  * &lt;p&gt;A Column definition class which renders boolean data fields.  See the {@link Ext.grid.column.Column#xtype xtype}
22  * config option of {@link Ext.grid.column.Column} for more details.&lt;/p&gt;
23  *
24  * {@img Ext.grid.column.Boolean/Ext.grid.column.Boolean.png Ext.grid.column.Boolean grid column}
25  *
26  * ## Code
27  *     Ext.create('Ext.data.Store', {
28  *        storeId:'sampleStore',
29  *        fields:[
30  *            {name: 'framework', type: 'string'},
31  *            {name: 'rocks', type: 'boolean'}
32  *        ],
33  *        data:{'items':[
34  *            {&quot;framework&quot;:&quot;Ext JS 4&quot;, &quot;rocks&quot;:true},
35  *            {&quot;framework&quot;:&quot;Sencha Touch&quot;, &quot;rocks&quot;:true},
36  *            {&quot;framework&quot;:&quot;Ext GWT&quot;, &quot;rocks&quot;:true},            
37  *            {&quot;framework&quot;:&quot;Other Guys&quot;, &quot;rocks&quot;:false}            
38  *        ]},
39  *        proxy: {
40  *            type: 'memory',
41  *            reader: {
42  *                type: 'json',
43  *                root: 'items'
44  *            }
45  *        }
46  *     });
47  *     
48  *     Ext.create('Ext.grid.Panel', {
49  *         title: 'Boolean Column Demo',
50  *         store: Ext.data.StoreManager.lookup('sampleStore'),
51  *         columns: [
52  *             {text: 'Framework',  dataIndex: 'framework', flex: 1},
53  *             {
54  *                 xtype: 'booleancolumn', 
55  *                 text: 'Rocks',
56  *                 trueText: 'Yes',
57  *                 falseText: 'No', 
58  *                 dataIndex: 'rocks'}
59  *         ],
60  *         height: 200,
61  *         width: 400,
62  *         renderTo: Ext.getBody()
63  *     });
64  */
65 Ext.define('Ext.grid.column.Boolean', {
66     extend: 'Ext.grid.column.Column',
67     alias: ['widget.booleancolumn'],
68     alternateClassName: 'Ext.grid.BooleanColumn',
69
70 <span id='Ext-grid-column-Boolean-cfg-trueText'>    /**
71 </span>     * @cfg {String} trueText
72      * The string returned by the renderer when the column value is not falsey (defaults to &lt;tt&gt;'true'&lt;/tt&gt;).
73      */
74     trueText: 'true',
75
76 <span id='Ext-grid-column-Boolean-cfg-falseText'>    /**
77 </span>     * @cfg {String} falseText
78      * The string returned by the renderer when the column value is falsey (but not undefined) (defaults to
79      * &lt;tt&gt;'false'&lt;/tt&gt;).
80      */
81     falseText: 'false',
82
83 <span id='Ext-grid-column-Boolean-cfg-undefinedText'>    /**
84 </span>     * @cfg {String} undefinedText
85      * The string returned by the renderer when the column value is undefined (defaults to &lt;tt&gt;'&amp;#160;'&lt;/tt&gt;).
86      */
87     undefinedText: '&amp;#160;',
88
89     constructor: function(cfg){
90         this.callParent(arguments);
91         var trueText      = this.trueText,
92             falseText     = this.falseText,
93             undefinedText = this.undefinedText;
94
95         this.renderer = function(value){
96             if(value === undefined){
97                 return undefinedText;
98             }
99             if(!value || value === 'false'){
100                 return falseText;
101             }
102             return trueText;
103         };
104     }
105 });</pre>
106 </body>
107 </html>