/** * Boolean filters use unique radio group IDs (so you can have more than one!) *
Example Usage:
*
var filters = Ext.create('Ext.ux.grid.GridFilters', {
...
filters: [{
// required configs
type: 'boolean',
dataIndex: 'visible'
// optional configs
defaultValue: null, // leave unselected (false selected by default)
yesText: 'Yes', // default
noText: 'No' // default
}]
});
*
*/
Ext.define('Ext.ux.grid.filter.BooleanFilter', {
extend: 'Ext.ux.grid.filter.Filter',
alias: 'gridfilter.boolean',
/**
* @cfg {Boolean} defaultValue
* Set this to null if you do not want either option to be checked by default. Defaults to false.
*/
defaultValue : false,
/**
* @cfg {String} yesText
* Defaults to 'Yes'.
*/
yesText : 'Yes',
/**
* @cfg {String} noText
* Defaults to 'No'.
*/
noText : 'No',
/**
* @private
* Template method that is to initialize the filter and install required menu items.
*/
init : function (config) {
var gId = Ext.id();
this.options = [
Ext.create('Ext.menu.CheckItem', {text: this.yesText, group: gId, checked: this.defaultValue === true}),
Ext.create('Ext.menu.CheckItem', {text: this.noText, group: gId, checked: this.defaultValue === false})];
this.menu.add(this.options[0], this.options[1]);
for(var i=0; i