# HG changeset patch # User Chloe Laisne # Date 1465570001 -7200 # Node ID 558a3522343c0233ec898c5df75431e73edc49c9 # Parent cc8b022088c8b763510e058a0f25cbaaa92f5dcf Set discours querystring from controller diff -r cc8b022088c8 -r 558a3522343c cms/app-client/app/components/discourses-component.js --- a/cms/app-client/app/components/discourses-component.js Fri Jun 10 16:19:25 2016 +0200 +++ b/cms/app-client/app/components/discourses-component.js Fri Jun 10 16:46:41 2016 +0200 @@ -48,7 +48,7 @@ .style("position", "absolute") .style("left", function(d) { return d.x - Math.max(10 + d.r, d.r) + 'px'; }) .style("top", function(d) { return d.y - Math.max(10 + d.r, d.r) + 'px'; }) - .on('click', function(d) { document.location = self.setQueryString('discours', d.name); }); + .on('click', function(d) { self.get('setQueryParameters')(d.name); }); item.append("span") .text(function(d) { return d.name; }) @@ -73,7 +73,7 @@ .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }); var leaf = svg.selectAll(".leaf") - .on('click', function(d) { document.location = self.setQueryString('discours', d.name); }); + .on('click', function(d) { self.get('setQueryParameters')(d.name); }); leaf.append("circle") .attr("r", function(d) { return Math.max(7.5 + d.r * 2, d.r * 2); }) @@ -108,29 +108,6 @@ }); return nodes; - }, - - setQueryString: function(field, value) { - var hash = document.location.href.split('?'); - var query_parameters = hash.length > 1 ? hash.pop() : ''; - - // Unserialize - var parameters = []; - query_parameters.split('&').forEach(function(parameter){ - var object = parameter.split('='); - if(object[1]) { - parameters[object[0]] = object[1]; - } - }); - - // Serialize - var string = []; - parameters[field] = encodeURI(value); - Object.keys(parameters).forEach(function(key) { - string.push(key + '=' + parameters[key]); - }); - - return hash + '?' + string.join('&'); } }); diff -r cc8b022088c8 -r 558a3522343c cms/app-client/app/controllers/tabs/discours.js --- a/cms/app-client/app/controllers/tabs/discours.js Fri Jun 10 16:19:25 2016 +0200 +++ b/cms/app-client/app/controllers/tabs/discours.js Fri Jun 10 16:46:41 2016 +0200 @@ -1,5 +1,11 @@ import Ember from 'ember'; export default Ember.Controller.extend({ - + + actions: { + transitionTo: function(id) { + this.transitionToRoute({ queryParams: { 'discours': id } }); + } + } + }); diff -r cc8b022088c8 -r 558a3522343c cms/app-client/app/templates/tabs/discours.hbs --- a/cms/app-client/app/templates/tabs/discours.hbs Fri Jun 10 16:19:25 2016 +0200 +++ b/cms/app-client/app/templates/tabs/discours.hbs Fri Jun 10 16:46:41 2016 +0200 @@ -1,1 +1,1 @@ -{{discourses-component}} \ No newline at end of file +{{discourses-component setQueryParameters=( action 'transitionTo' ) }} \ No newline at end of file