[FIX] web: sorting in mock_server's search_read
The mock server was slicing the records before sorting. Now mocking a search read would sort the records before slicing them. This will ensure the records to be loaded with the correct sorting order when e.g. a load more is applied on a subset. Taskid: 2196661
This commit is contained in:
@@ -1693,6 +1693,13 @@ var MockServer = Class.extend({
|
||||
var fields = args.fields && args.fields.length ? args.fields : _.keys(this.data[args.model].fields);
|
||||
var nbRecords = records.length;
|
||||
var offset = args.offset || 0;
|
||||
if (args.sort) {
|
||||
// warning: only consider first level of sort
|
||||
args.sort = args.sort.split(',')[0];
|
||||
var fieldName = args.sort.split(' ')[0];
|
||||
var order = args.sort.split(' ')[1];
|
||||
records = this._sortByField(records, args.model, fieldName, order);
|
||||
}
|
||||
records = records.slice(offset, args.limit ? (offset + args.limit) : nbRecords);
|
||||
var processedRecords = _.map(records, function (r) {
|
||||
var result = {};
|
||||
@@ -1710,13 +1717,6 @@ var MockServer = Class.extend({
|
||||
});
|
||||
return result;
|
||||
});
|
||||
if (args.sort) {
|
||||
// warning: only consider first level of sort
|
||||
args.sort = args.sort.split(',')[0];
|
||||
var fieldName = args.sort.split(' ')[0];
|
||||
var order = args.sort.split(' ')[1];
|
||||
processedRecords = this._sortByField(processedRecords, args.model, fieldName, order);
|
||||
}
|
||||
var result = {
|
||||
length: nbRecords,
|
||||
records: processedRecords,
|
||||
|
||||
Reference in New Issue
Block a user