X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fsenslabmap%2Fstatic%2Fjs%2Fmap.js;h=a3589c2e45bccabd3b14a998673a8fd4a72ca61d;hb=03b895050a4b02cc5656df1eea3553c7e37993f4;hp=5fa8085f75427156f991cce7e4cb00212d5842c3;hpb=a391874e0c883e0652104e2d23cd35d28d996c33;p=myslice.git diff --git a/plugins/senslabmap/static/js/map.js b/plugins/senslabmap/static/js/map.js index 5fa8085f..a3589c2e 100644 --- a/plugins/senslabmap/static/js/map.js +++ b/plugins/senslabmap/static/js/map.js @@ -16,11 +16,12 @@ var Senslab = { node.x = parseFloat(node.x); node.y = parseFloat(node.y); node.z = parseFloat(node.z); + node.selected = false; node.normalized = true; } }, notify: function(node) { - console.log("[Notify] node " + node.id + " is " + node.boot_state); + console.log("[Notify] node " + node.id + " is " + node.selected); }, createMaps: function($container, sites, nodes) { var maps = {}; @@ -122,7 +123,7 @@ Senslab.Map = function() { if (intersects.length > 0) { var particle = intersects[0].object; if (particle.data.boot_state != "Suspected") { - setState(particle, particle.data.boot_state == "Alive" ? "Selected" : "Alive"); + setSelected(particle, !particle.data.selected); var $nodeInput = self.$nodeInputs[particle.data.arch]; $nodeInput.val(factorize(self.getNodesId(particle.data.arch))); self.update(); @@ -158,7 +159,7 @@ Senslab.Map = function() { var particles = this.scene.children; var nodes = []; for (var i = 0; i < particles.length; ++i) { - if (particles[i].data && particles[i].data.arch == arch && particles[i].data.boot_state == "Selected") { + if (particles[i].data && particles[i].data.arch == arch && particles[i].data.selected) { nodes.push(particles[i].id); } } @@ -187,14 +188,14 @@ Senslab.Map = function() { this.update(); }; - Map.prototype.updateSelected = function(arch, selected) { + Map.prototype.updateSelected = function(arch, selectedNodes) { var particles = this.scene.children; for (var i = 0; i < particles.length; ++i) { if (particles[i].data && particles[i].data.arch == arch && particles[i].data.boot_state != "Suspected") { var particle = particles[i]; - var state = $.inArray(particle.id, selected) == -1 ? "Alive" : "Selected"; - if (particle.data.boot_state != state) { - setState(particle, state); + var selected = $.inArray(particle.id, selectedNodes) != -1; + if (particle.data.selected != selected) { + setSelected(particle, selected); } } } @@ -216,14 +217,14 @@ Senslab.Map = function() { this.renderer.render(this.scene, this.camera); }; - function setState(particle, state) { - particle.data.boot_state = state; + function setSelected(particle, selected) { + particle.data.selected = selected; setColor(particle); Senslab.notify(particle.data); } function setColor(particle) { - var color = colors[particle.data.boot_state] || colors["Selected"]; + var color = particle.data.selected ? colors["Selected"] : colors[particle.data.boot_state]; particle.material.color.setHex(color); }