diff -r 4f6118afabee -r 4fbe94af93e8 cms/app-client/app/components/discourses-component.js --- a/cms/app-client/app/components/discourses-component.js Thu Nov 03 11:14:41 2016 +0100 +++ b/cms/app-client/app/components/discourses-component.js Fri Nov 04 19:03:25 2016 +0100 @@ -1,6 +1,7 @@ import Ember from 'ember'; import d3 from 'd3'; import ENV from 'app-client/config/environment'; +import _ from 'lodash/lodash'; @@ -13,7 +14,12 @@ discourseObserver: Ember.observer('filter.discourse', function() { Ember.$('.item').removeClass("selected"); - Ember.$('.item[data-id="' + this.get('filter').get('discourse') + '"]').addClass("selected"); + if(this.get('filter').get('discourse') !== null) { + this.get('filter').get('discourse').forEach(function(e) { + Ember.$('.item[data-id="' + e + '"]').addClass("selected"); + }); + } + }).on('init'), didRender: function() { @@ -50,7 +56,7 @@ .data(bubbles); nodes.enter().append("div") - .attr("class", function(d) { return ( d.children ? "category": "item" ) + ( self.get('filter').get('discourse') === d.id ? " selected" : "" ) ; }); + .attr("class", function(d) { return ( d.children ? "category": "item" ) + ( (self.get('filter').get('discourse') !== null && _.contains(self.get('filter').get('discourse'), d.id)) ? " selected" : "" ) ; }); var item = element.selectAll(".item") .attr("data-id", function(d) { return d.id; }) @@ -62,7 +68,7 @@ .style("border-color", function(d) { return d.stroke; }) .style("font-size", function(d) { return Math.floor((((d.value - oldMin) * (13 - 10)) / (oldMax - oldMin)) + 10) + 'px'; }) .on('click', function(d) { - self.get('filter').set('discourse', d.id); + self.get('filter').setFilter('discourse', d.id); }); item.append("span")