--- a/cms/app-client/mirage/serializers/theme.js Fri Jul 08 18:41:32 2016 +0200
+++ b/cms/app-client/mirage/serializers/theme.js Sat Jul 09 00:59:32 2016 +0200
@@ -3,7 +3,28 @@
import _ from 'lodash/lodash';
export default JSONAPISerializer.extend({
- serialize(response) {
- return _(response.models).map((theme) => { return [theme.id, {count: theme.count, label: theme.label}];}).object().value();
+
+ serialize: function(response, request) {
+ // Remove models with no name
+ response.models = response.models.filter(element => element.label);
+ // Alphabetical order
+ if(request.queryParams.sort === 'alphabetical') {
+ response.models.sort(function(a, b) {
+ var aLabel = a.label.toUpperCase();
+ var bLabel = b.label.toUpperCase();
+ if (aLabel < bLabel) return -1;
+ if (aLabel > bLabel) return 1;
+ return 0;
+ });
+ // Descending order
+ } else if(request.queryParams.sort === 'descending') {
+ response.models.sort(function(a, b) {
+ return b.count - a.count;
+ });
+ }
+ var index = request.queryParams.page * request.queryParams.limit;
+ var slice = response.models.slice(index, index + request.queryParams.limit);
+ return _(slice).map((theme) => { return [theme.id, {count: theme.count, label: theme.label}];}).object().value();
}
+
});