Fernsortierung und Feldzuordnung (ExtJS 4.1)
Diese Funktionalität scheint in ExtJS nicht implementiert zu sein. Hier ist eine Lösung unter Verwendung der encodeSorters Funktion, die seit ExtJS 4 zur Verfügung steht. Der Zugriff auf die Feldzuordnung über den Prototyp des Modells ist ein wenig unsauber, aber er erfüllt seinen Zweck:
var store = Ext.create('Ext.data.Store', {
...,
proxy: {
...,
encodeSorters: function (sorters) {
var model = store.proxy.model,
map = model.prototype.fields.map;
return Ext.encode(Ext.Array.map(sorters, function (sorter) {
return {
property : map[sorter.property].mapping || sorter.property,
direction: sorter.direction
};
}));
}
}
});
Es wäre jedoch sinnvoller, die ursprüngliche Methode :
Ext.data.proxy.Server.override({
encodeSorters: function(sorters) {
var min, map = this.model.prototype.fields.map;
min = Ext.Array.map(sorters, function (sorter) {
return {
property : map[sorter.property].mapping || sorter.property,
direction: sorter.direction
};
});
return this.applyEncoding(min);
}
});