cms/app-client/app/components/visu-langues.js
changeset 329 0a2c2ad49d75
parent 319 78990a8a069b
child 344 70451a4dc9ae
equal deleted inserted replaced
328:04e728651a48 329:0a2c2ad49d75
    74 
    74 
    75             function accumulate(d) {
    75             function accumulate(d) {
    76                 d._children = d.children;
    76                 d._children = d.children;
    77                 if(d.children) {
    77                 if(d.children) {
    78                     d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0);
    78                     d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0);
       
    79                 } else if (d.values) {
       
    80                     d.value = d.values.reduce(function(p, v) { return p + (languages[v] ? languages[v] : 0); }, 0);
    79                 } else {
    81                 } else {
    80                     d.value = languages[d.id] ? languages[d.id] : 0;
    82                     d.value = languages[d.id] ? languages[d.id] : 0;
    81                 }
    83                 }
    82                 return d.value;
    84                 return d.value;
    83             }
    85             }
    87                     treemap.nodes({_children: d._children});
    89                     treemap.nodes({_children: d._children});
    88                     d._children.forEach(function(c) {
    90                     d._children.forEach(function(c) {
    89                         function getCount(node, count = 0) {
    91                         function getCount(node, count = 0) {
    90                             var c = languages[node.id];
    92                             var c = languages[node.id];
    91                             if(typeof c === 'undefined') {
    93                             if(typeof c === 'undefined') {
    92                                 node._children.forEach(function(child) {
    94                               if(node._children) {
    93                                     count = getCount(child, count);
    95                                   node._children.forEach(function(child) {
    94                                 });
    96                                       count = getCount(child, count);
    95                                 return count;
    97                                   });
       
    98                               } else if(node.values) {
       
    99                                   count = node.values.reduce(function(p, v) { return p + (languages[v] ? languages[v] : 0); }, count);
       
   100                               }
       
   101                               return count;
    96                             } else {
   102                             } else {
    97                                 return count + c;
   103                                 return count + c;
    98                             }
   104                             }
    99                         }
   105                         }
   100                         c.count = getCount(c);
   106                         c.count = getCount(c);