cms/app-client/mirage/config.js
changeset 467 762fc0eb4946
parent 466 a8effb60ccb6
child 474 245b4df137d3
--- a/cms/app-client/mirage/config.js	Sun Dec 04 13:49:44 2016 +0100
+++ b/cms/app-client/mirage/config.js	Fri Dec 09 11:41:15 2016 +0100
@@ -31,34 +31,44 @@
         return transcripts.find(id).transcript;
     });
 
-    this.get('/stats/languages', 'languages');
+    this.get('/stats/languages', ({languages}, request) => {
+      let qParams = request.queryParams['discourse'];
+      if(qParams) {
+        var res = [];
+        let allLanguages = languages.all().models;
+        let i=0;
+        while(i<allLanguages.length && res.length < (allLanguages.length/Math.pow(2,qParams.length))) {
+          let d = allLanguages[i++];
+          d.count = Math.max(Math.floor(d.count / 2), 1);
+          res.push(d);
+        }
+
+        return new Collection('language', res);
+      } else {
+        return languages.all();
+      }
+
+    });
 
     this.get('/stats/geostats', 'geostats');
 
     this.get('/stats/themes', 'themes');
 
     this.get('/stats/discourses', ({discourses}, request) => {
-      console.log("DISCOURSES", request.queryParams, discourses.all(), discourses.all().models);
 
-      if(request.queryParams['discourse']) {
+      let qParams = request.queryParams['discourse'];
+      if(qParams) {
         var res = [];
-        request.queryParams.discourse.forEach( did => {
-          let d = discourses.find(did);
-          if(d) {
-            res.push(d);
-          }
-        });
         let allDiscourses = discourses.all().models;
         let i=0;
-        while(i<allDiscourses.length && res.length < (allDiscourses.length/2)) {
+        while(i<allDiscourses.length && res.length < (allDiscourses.length/Math.pow(2,qParams.length))) {
           let d = allDiscourses[i++];
           if(!_.contains(request.queryParams.discourse, d.id)) {
-            d.count = Math.floor(d.count / 2);
+            d.count = Math.max(Math.floor(d.count / 2), 1);
             res.push(d);
           }
         }
-        console.log("DISCOURSES", request.queryParams, { modelName: "discourse", models: res });
-        //return discourses.all();
+
         return new Collection('discourse', res);
       } else {
         return discourses.all();