cms/app-client/mirage/serializers/theme.js
changeset 236 ac6928e86d14
parent 173 cf7b221238fd
child 237 69a9f3687902
--- 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();
     }
+
 });