/** * 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. * * @example * var store = Ext.create('Ext.data.Store', { * fields: [ * {name: 'framework', type: 'string'}, * {name: 'rocks', type: 'boolean'} * ], * data: [ * { framework: 'Ext JS 5', rocks: true }, * { framework: 'Ext GWT', rocks: true }, * { framework: 'Other Guys', rocks: false } * ] * }); * * Ext.create('Ext.grid.Panel', { * title: 'Boolean Column Demo', * store: store, * columns: [ * { text: 'Framework', dataIndex: 'framework', flex: 1 }, * { * xtype: 'booleancolumn', * text: 'Rocks', * trueText: 'Yes', * falseText: 'No', * dataIndex: 'rocks' * } * ], * height: 200, * width: 400, * renderTo: Ext.getBody() * }); */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. * @locale */ trueText: 'true', /** * @cfg {String} falseText * The string returned by the renderer when the column value is falsey (but not undefined). * @locale */ falseText: 'false', /** * @cfg {String} undefinedText * The string returned by the renderer when the column value is undefined. */ undefinedText: '\u00a0', defaultFilterType: 'boolean', /** * @cfg {Object} renderer * @hide */ /** * @cfg {Object} scope * @hide */ /** * @cfg producesHTML * @inheritdoc */ producesHTML: false, defaultRenderer: function(value){ if (value === undefined) { return this.undefinedText; } if (!value || value === 'false') { return this.falseText; } return this.trueText; }, updater: function(cell, value) { Ext.fly(cell).down(this.getView().innerSelector, true).innerHTML = Ext.grid.column.Boolean.prototype.defaultRenderer.call(this, value); }});