Просматривая часть исходного кода Ext3, можно легко получить нужную функциональность, переопределив функцию filterBy
на Ext.data.Store
и перехватив функцию, чтобы позволить записи «Все» через:
Ext.ux.AllJsonStore = Ext.extend(Ext.data.JsonStore, {
filterBy: function(fn, scope) {
var allFn = Ext.util.Functions.createInterceptor(fn, function(record, id) {
if (record.data.display == "All") {
return true;
}
});
return Ext.ux.AllJsonStore.superclass.filterBy.call(this, allFn, scope);
}
});
Тогда, где бы вы ни создавали свой магазин Ext.form.ComboBox
, используйте вместо этого магазин:
var combo = new Ext.form.ComboBox({
...
store: new Ext.ux.AllJsonStore({...})
...
});