cms/app-client/app/components/visu-langues.js
changeset 339 766af1228b05
parent 329 0a2c2ad49d75
child 344 70451a4dc9ae
--- a/cms/app-client/app/components/visu-langues.js	Sun Oct 16 22:23:31 2016 +0530
+++ b/cms/app-client/app/components/visu-langues.js	Sun Oct 16 23:19:57 2016 +0530
@@ -15,13 +15,14 @@
 
     didInsertElement: function(){
         var self = this;
-        var baseurl = ENV.rootURL.replace(/\/$/,"")+'/api/v1';
+        var baseurl = (ENV.APP.backRootURL || ENV.rootURL).replace(/\/$/,"")+'/api/v1';
 
-        d3.json(baseurl+"/stats/languages", function(languages) {
+        d3.json(baseurl+"/stats/languages", function(data) {
             var margin = { top: 30, right: 0, bottom: 0, left: 0 };
             var width = Ember.$('#' + self.get('elementId')).width();
             var height = Ember.$('#' + self.get('elementId')).height() - margin.top - margin.bottom;
 
+            var languages = data['languages'];
             var array = Object.keys(languages).map(function (key) { return languages[key]; });
             var oldMin = Math.min(...array),
                 oldMax = Math.max(...array);
@@ -75,6 +76,8 @@
                 d._children = d.children;
                 if(d.children) {
                     d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0);
+                } else if (d.values) {
+                    d.value = d.values.reduce(function(p, v) { return p + (languages[v] ? languages[v] : 0); }, 0);
                 } else {
                     d.value = languages[d.id] ? languages[d.id] : 0;
                 }
@@ -88,10 +91,14 @@
                         function getCount(node, count = 0) {
                             var c = languages[node.id];
                             if(typeof c === 'undefined') {
-                                node._children.forEach(function(child) {
-                                    count = getCount(child, count);
-                                });
-                                return count;
+                              if(node._children) {
+                                  node._children.forEach(function(child) {
+                                      count = getCount(child, count);
+                                  });
+                              } else if(node.values) {
+                                  count = node.values.reduce(function(p, v) { return p + (languages[v] ? languages[v] : 0); }, count);
+                              }
+                              return count;
                             } else {
                                 return count + c;
                             }