diff -r 4fbe94af93e8 -r 5ef3bfef0bff cms/app-client/app/components/visu-langues.js --- a/cms/app-client/app/components/visu-langues.js Fri Nov 04 19:03:25 2016 +0100 +++ b/cms/app-client/app/components/visu-langues.js Sun Nov 06 03:44:16 2016 +0100 @@ -7,6 +7,7 @@ constants: Ember.inject.service(), filter: Ember.inject.service(), + colors: Ember.inject.service(), filterObserver: Ember.observer('filter.language', function() { Ember.$('.node').removeClass("selected"); @@ -47,7 +48,6 @@ }) .round(false); - console.log('width', width, Ember.$('#' + self.get('elementId')).parent().width(), Ember.$('#' + self.get('elementId')).parent().parent().width(), Ember.$('#' + self.get('elementId')).parent().parent().parent().width()); var element = d3.select('#' + self.get('elementId')) .style("width", width + margin.left + margin.right + 'px') .style("height", height + margin.bottom + margin.top + 'px') @@ -122,14 +122,6 @@ .style("top", function(d) { return y(d.y) + 'px'; }); } - function hexadecimalToInteger(hexadecimal) { - var integer = []; - for(var i = 1; i < 7; i += 2) { - integer.push(parseInt(hexadecimal.slice(i, i + 2), 16)); - } - return integer; - } - function display(d) { breadcrumbs .datum(d.parent) @@ -149,21 +141,9 @@ var dMin = Math.min.apply(null, d._children.map(function(d){ return d.count; })); var dMax = Math.max.apply(null, d._children.map(function(d){ return d.count; })); - function shade(d) { - var color = "#777777"; - var aColor = hexadecimalToInteger(color); - var solidColor = "#333333"; - var aSolidColor = hexadecimalToInteger(solidColor); - var aFillColor = []; - for(var i = 0; i < 3; i++) { - aFillColor.push((d.count - dMin) * (aSolidColor[i] - aColor[i]) / (dMax - dMin) + aColor[i]); - } - return '#' + (aFillColor.map(i => parseInt(i).toString(16))).join(''); - } - node.attr("class", function(d) { return "node" + ( d.id === self.get('filter').get('language') ? " selected" : "" ); }) .call(position) - .style("background-color", function(d) { return shade(d); }) + .style("background-color", function(d) { return self.get('colors').shadeLinear(d.count,dMin,dMax); }) .on("click", selectHandler); node.filter(function(d) { return d._children; })