Вызвать событие, когда флажок меню фильтра снят в фильтрах сетки Ext Js? - PullRequest
0 голосов
/ 17 апреля 2019

Я использовал плагин gridfilters для отображения моей таблицы. В настоящий момент я применяю пользовательский удаленный фильтр всякий раз, когда меняется фильтр меню столбца, вызванный событием «filterchange». На главном ViewPort:

xtype: 'gridpanel',
        title: 'Autopilot Monitor',
        titleAlign: 'center',
        store: 'AutopilotQueueStore',
        id: 'grid',
        plugins: 'gridfilters',
        maxRows: 20,
        selModel: {
            selType: 'cellmodel',
            mode: 'SINGLE'
        },
        listeners: {
            filterchange: 'onFilterChange'
        },

Всякий раз, когда я заполняю поля меню фильтра, вызывается событие filterchange и фильтр применяется. В то же время, когда поле заполнено, флажок меню для фильтра установлен. Хотя при снятии флажка меню фильтра событие не вызывается (даже не смена фильтра).

Мне нужно перехватить событие, которое будет вызываться при каждом изменении статуса флажка (отмечен или не отмечен). Как мне это сделать? Мой контроллер:

onFilterChange: function (store, filters, e) {
    console.log(checkbox);
    var store = Ext.getStore('AutopilotQueueStore');
    var cmp = Ext.getCmp('id');
    Ext.override(Ext.grid.filters.Filters, { filterCls: Ext.baseCSSPrefix });
    store.clearFilter();
    var filter = filters[0];
    var txt = ""
    Ext.getCmp('filterTextField').setValue("");
    if (filter != undefined) {
        store.getProxy().extraParams = {
            filterColumn: filter.getValue() + "," + filter.getProperty(),
            filter: ''
        }
    }
    else {
        store.getProxy().extraParams = {
            filterColumn: txt,
            filter: ''
        }
    }

1 Ответ

0 голосов
/ 17 апреля 2019

Вы можете получить это событие, используя других слушателей, вы можете использовать filteractivate для запуска, когда пользователь активирует (или проверяет флажок) фильтр, и filterdeactivate, когда пользователь деактивирует (или снимает флажок) фильтр

...