"filters":[
{
"MIGX_id":2,
"name":"analiz_category",
"label":"\u0413\u0440\u0443\u043f\u043f\u0430",
"emptytext":"-\u0432\u044b\u0431\u043e\u0440 \u0433\u0440\u0443\u043f\u043f\u044b-",
"type":"combobox",
"getlistwhere":{
"category":"[[+analiz_category]]"
},
"getcomboprocessor":"getcombo",
"combotextfield":"category",
"comboidfield":"",
"comboparent":"",
"default":""
},
{
"MIGX_id":3,
"name":"search",
"label":"\u041f\u043e\u0438\u0441\u043a",
"emptytext":"\u041f\u043e\u0438\u0441\u043a...",
"type":"textbox",
"getlistwhere":{
"name:LIKE":"%[[+search]]%"
},
"getcomboprocessor":"",
"combotextfield":"",
"comboidfield":"",
"comboparent":"",
"default":""
},
{
"MIGX_id":4,
"name":"reset",
"label":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c",
"emptytext":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c",
"type":"resetall",
"getlistwhere":"",
"getcomboprocessor":"",
"combotextfield":"",
"comboidfield":"",
"comboparent":"",
"default":""
}
]
This question has been answered by Bruno17. See the first response.
setDefaultFilters: function(){
var filterDefaults = Ext.util.JSON.decode('{/literal}{$filterDefaults}{literal}');
var input = null;
var refresh = false;
var value = '';
for (var i=0;i<filterDefaults.length;i++) {
input = Ext.getCmp(filterDefaults[i].name+'-migxdb-search-filter');
value = filterDefaults[i].default;
if (input && value != ''){
if (value == '_empty'){
value = '';
}
input.setValue(value);
this.getStore().baseParams[filterDefaults[i].name]=value;
refresh = true;
}
}
if (refresh){
this.getBottomToolbar().changePage(1);
this.refresh();
}
}
setDefaultFiltersOnClick: function(){
var filterDefaults = Ext.util.JSON.decode('{/literal}{$filterDefaults}{literal}');
var input = null;
var refresh = false;
var value = '';
for (var i=0;i<filterDefaults.length;i++) {
input = Ext.getCmp(filterDefaults[i].name+'-migxdb-search-filter');
value = filterDefaults[i].default;
if (value == '_empty'){ // I think this block also can be erased
value = '';
}
if (input.xtype == 'textfield' && input.el.dom.value != input.emptyText){
input.setValue(value);
this.getStore().baseParams[filterDefaults[i].name]=value;
refresh = true;
}
if (input.xtype == 'modx-combo' && input.value != 'all'){
value = 'all';
input.setValue(value);
this.getStore().baseParams[filterDefaults[i].name]=value;
refresh = true;
}
}
if (refresh){
this.getBottomToolbar().changePage(1);
this.refresh();
}
}
$gridfilters['resetall']['code']=
"
{
xtype: 'button'
,id: '[[+name]]-migxdb-search-filter'
,text: '[[%migx.reset_all]]'
,listeners: {
'click': {
fn: function(tf,nv,ov){
var s = this.getStore();
this.setDefaultFiltersOnClick(); // rename here
},
scope: this
}
}
}
";
//$gridfilters['resetall']['handler'] = 'gridfilter';