cms/app-client/app/components/discourses-component.js
changeset 178 4d051f080e7e
parent 176 d1baf7ccecc8
child 181 b8a783ca6c4a
equal deleted inserted replaced
177:5e93f5e5f8f9 178:4d051f080e7e
    32             var svg = element.append("svg")
    32             var svg = element.append("svg")
    33                 .attr("width", width)
    33                 .attr("width", width)
    34                 .attr("height", height)
    34                 .attr("height", height)
    35                 .attr("class", "bubble");
    35                 .attr("class", "bubble");
    36 
    36 
    37             var nodes = svg.selectAll(".node")
    37             svg.selectAll(".node")
    38                 .data(bubble.nodes(self.createNodes(discourses)))
    38                 .data(bubble.nodes(self.createNodes(discourses)))
    39                 .enter().append("g")
    39                 .enter().append("g")
    40                 .attr("width", function(d) { return 2.5 * d.r + 'px'; })
    40                 .attr("width", function(d) { return 2.5 * d.r + 'px'; })
    41                 .attr("class", function(d) { return "node" + (!d.children ? " leaf" : ""); })
    41                 .attr("class", function(d) { return "node" + (!d.children ? " leaf" : ""); })
    42                 .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
    42                 .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
    47                 .on('click', function(d) { document.location = self.setQueryString('discours', d.name); });
    47                 .on('click', function(d) { document.location = self.setQueryString('discours', d.name); });
    48             
    48             
    49             leaf.append("circle")
    49             leaf.append("circle")
    50                 .attr("r", function(d) { return d.r; })
    50                 .attr("r", function(d) { return d.r; })
    51                 .attr("fill", function(d) { return d.fill; })
    51                 .attr("fill", function(d) { return d.fill; })
    52                 .attr("stroke", function(d) { return "#000"; });
    52                 .attr("stroke", function() { return "#000"; });
    53             
    53             
    54             leaf.append("text")
    54             leaf.append("text")
    55                 .attr("dy", ".3em")
    55                 .attr("dy", ".3em")
    56                 .style("text-anchor", "middle")
    56                 .style("text-anchor", "middle")
    57                 .text(function(d) { return d.name; });
    57                 .text(function(d) { return d.name; });
    86         return nodes;
    86         return nodes;
    87     },
    87     },
    88 
    88 
    89     setQueryString: function(field, value) {
    89     setQueryString: function(field, value) {
    90         var hash = document.location.href.split('?');
    90         var hash = document.location.href.split('?');
    91         var query_parameters = hash.pop();
    91         var query_parameters = hash.length > 1 ? hash.pop() : '';
    92 
    92 
    93         // Unserialize
    93         // Unserialize
    94         var parameters = [];
    94         var parameters = [];
    95         query_parameters.split('&').forEach(function(parameter){
    95         query_parameters.split('&').forEach(function(parameter){
    96             var object = parameter.split('=');
    96             var object = parameter.split('=');
    97             object[1] && (parameters[object[0]] = object[1]);
    97             if(object[1]) {
       
    98                 parameters[object[0]] = object[1];
       
    99             }
    98         });
   100         });
    99 
   101 
   100         // Serialize
   102         // Serialize
   101         var string = [];
   103         var string = [];
   102         parameters[field] = encodeURI(value);
   104         parameters[field] = encodeURI(value);