diff -r e550b10fe3ca -r e87a340711a4 cms/app-client/app/components/visu-langues.js --- a/cms/app-client/app/components/visu-langues.js Fri Feb 19 21:18:12 2016 +0100 +++ b/cms/app-client/app/components/visu-langues.js Mon Feb 22 18:06:39 2016 +0100 @@ -1,7 +1,10 @@ import Ember from 'ember'; import d3 from 'd3'; +import ENV from 'app-client/config/environment'; +import _ from 'lodash/lodash'; export default Ember.Component.extend({ + constants: Ember.inject.service(), didInsertElement: function(){ var _this = this; var margin = {top: 20, right: 0, bottom: 0, left: 0}, @@ -46,7 +49,11 @@ .attr("y", 6 - margin.top) .attr("dy", ".75em"); - d3.json("langues.json", function(root) { + var baseurl = ENV.baseURL.replace(/\/$/,"")+'/api/v1'; + d3.json(baseurl+"/languages", function(languages) { + + var root = _.cloneDeep(_this.constants.LANGUAGES_TREEMAP); + initialize(root); accumulate(root); layout(root); @@ -64,7 +71,7 @@ // We also take a snapshot of the original children (_children) to avoid // the children being overwritten when when layout is computed. function accumulate(d) { - return (d._children = d.children) ? d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0) : d.value; + return (d._children = d.children) ? (d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0)) : (d.value = (languages[d.id]?languages[d.id]:0)); } // Compute the treemap layout recursively such that each group of siblings @@ -92,7 +99,7 @@ grandparent .datum(d.parent) .on("click", transition) - .select("text") + .select("text") .text(name(d)); var g1 = svg.insert("g", ".grandparent") @@ -101,7 +108,7 @@ var g = g1.selectAll("g") .data(d._children) - .enter().append("g"); + .enter().append("g"); g.classed("bla", true).on("click", selectHandler);