I have tried to find out from the webix_debug the problem. In setState there is the following code and little bit changed…
if (obj.filter){
//temporary disable filtering
var temp = this.filterByAll;
this.filterByAll = function(){};
//apply defined filters
for (var key in obj.filter) {
var value = obj.filter[key];
if (!value) continue;
if (!this._filter_elements[key]) continue;
var f = this._filter_elements[key];
f[2].setValue(f[0], value);
var contentid = f[1].contentId;
if (contentid)
this._active_headers[contentid].value = value;
}
//remove old filters
for (var key in this._filter_elements){
if (!obj.filter[key]){
var f = this._filter_elements[key];
f[2].setValue(f[0], "");
}
}
//restore and apply filtering
this.filterByAll = temp;
//this.filterByAll(); **COMMENTED**
}
if (obj.select && this.select){
var select = obj.select;
this.unselect();
for (var i = 0; i < select.length; i++)
if (!select[i].row || this.exists(select[i].row))
this._select(select[i], true);
}
if(obj.scroll)
this.scrollTo(obj.scroll.x, obj.scroll.y);
**SORTING HAS BEEN MOVED UNDER**
if(obj.sort){
var column = columns[this.getColumnIndex(obj.sort.id)];
if (column)
this._sort(obj.sort.id, obj.sort.dir, column.sort);
}
**FILTER BY ALL FIRES AT THE END**
if (obj.filter){
this.filterByAll();
}