/** * 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