extjs datefilter firing additional ajax requests? -
i have initialised gridfilter date filter in following way:
var filtersxxx = new ext.ux.grid.gridfilters({ filters: [ {type: 'date', dataindex: 'confirmeddate'} ] }); filtersxxx.autoreload = false; this.xxxgrid.plugins=[this.xxxgrid.initplugin(filtersxxx)]; //add event handler when filter updated: this.xxxgrid.on('filterupdate',function(){ alert('filterupdate'); this.xxxtab.populatedata.call(this); //populatedata custom function sends ajax request },this); //override buildquery manipulate params filtersxxx.buildquery = function (filtersxxx) { var filterparams = ext.util.json.decode(this.store.baseparams.filterparams); // filterparams defiend inside store namevaluepair.this sent server for(var i=0, len=filtersxxx.length; i<len; i++) { var gridfilter1 = filtersxxx[i]; var objtemp = {x: gridfilter1.data["value"]}; objtemp[gridfilter1.field] =objtemp["x"]; delete objtemp["x"]; ext.apply(filterparams,objtemp); } return {filterparams:ext.util.json.encode(filterparams)}; }
when page loads, , select date(lets say:before), 'filterupdate' fires 3 times , each results in call populatedata. there 3 ajax requests. on subsequent times, whenever filter changed i.ee date selected, fires twice.
what doing wrong?
edit:xxxgrid gridpanel
edit#2: problem seems this: when select datepicker, fires filterupdatevent immediately. results in call populatedata i.e. 1 ajax request. after that, fires oncheckchange--->filterupdate-->populatedata--->ajax request onmenuselect --> filterupdate-->populatedata--->ajax request
is there way this: when first 'filterupdate' fires, check if 'oncheckchange' or 'onmenuselect' there. if present, nothing on first 'filterupdate'
Comments
Post a Comment