/** * @class Ext.grid.column.Boolean * @extends Ext.grid.column.Column * <p>A Column definition class which renders boolean data fields. See the {@link Ext.grid.column.Column#xtype xtype} * config option of {@link Ext.grid.column.Column} for more details.</p> * * {@img Ext.grid.column.Boolean/Ext.grid.column.Boolean.png Ext.grid.column.Boolean grid column} * * ## Code * Ext.create('Ext.data.Store', { * storeId:'sampleStore', * fields:[ * {name: 'framework', type: 'string'}, * {name: 'rocks', type: 'boolean'} * ], * data:{'items':[ * {"framework":"Ext JS 4", "rocks":true}, * {"framework":"Sencha Touch", "rocks":true}, * {"framework":"Ext GWT", "rocks":true}, * {"framework":"Other Guys", "rocks":false} * ]}, * proxy: { * type: 'memory', * reader: { * type: 'json', * root: 'items' * } * } * }); * * Ext.create('Ext.grid.Panel', { * title: 'Boolean Column Demo', * store: Ext.data.StoreManager.lookup('sampleStore'), * columns: [ * {text: 'Framework', dataIndex: 'framework', flex: 1}, * { * xtype: 'booleancolumn', * text: 'Rocks', * trueText: 'Yes', * falseText: 'No', * dataIndex: 'rocks'} * ], * height: 200, * width: 400, * renderTo: Ext.getBody() * }); * * @xtype booleancolumn */ Ext.define('Ext.grid.column.Boolean', { extend: 'Ext.grid.column.Column', alias: ['widget.booleancolumn'], alternateClassName: 'Ext.grid.BooleanColumn', /** * @cfg {String} trueText * The string returned by the renderer when the column value is not falsey (defaults to <tt>'true'</tt>). */ trueText: 'true', /** * @cfg {String} falseText * The string returned by the renderer when the column value is falsey (but not undefined) (defaults to * <tt>'false'</tt>). */ falseText: 'false', /** * @cfg {String} undefinedText * The string returned by the renderer when the column value is undefined (defaults to <tt>' '</tt>). */ undefinedText: ' ', constructor: function(cfg){ this.callParent(arguments); var trueText = this.trueText, falseText = this.falseText, undefinedText = this.undefinedText; this.renderer = function(value){ if(value === undefined){ return undefinedText; } if(!value || value === 'false'){ return falseText; } return trueText; }; } });