Merge pull request #255 from mpeuster/osm/master
[osm/vim-emu.git] / src / emuvim / dashboard / js / graph.js
old mode 100644 (file)
new mode 100755 (executable)
index bc10d39..b158bf0
@@ -1,6 +1,6 @@
 var width = 960,
     height = 500,
-    color = d3.scale.category20c();
+    color = d3.scale.category10();
 
 var svg = d3.select("#table_graph").append("svg")
     .attr("width", width)
@@ -12,7 +12,6 @@ var force = d3.layout.force()
     .charge(-100)
     .size([width, height]);
 
-//d3.json("js/graph.json", function(error, json) {
 d3.json("http://127.0.0.1:5001/restapi/network/d3jsgraph", function(error, json) {
   if (error) throw error;
 
@@ -28,19 +27,14 @@ d3.json("http://127.0.0.1:5001/restapi/network/d3jsgraph", function(error, json)
 
   var node = svg.selectAll(".node")
       .data(json.nodes)
-    .enter().append("g")
+      .enter().append("g")
       .attr("class", "node")
-      .call(force.drag);
-
-  //node.append("image")
-  //    .attr("xlink:href", "https://github.com/favicon.ico")
-  //    .attr("x", -8)
-  //    .attr("y", -8)
-  //    .attr("width", 16)
-  //    .attr("height", 16);
+      .call(force.drag)
+      .on("dblclick", dblclick)
+
   node.append("circle")
     .attr("r", 10)
-    .style("fill", function(d) { return color(d.name); });
+    .style("fill", function(d) { return color(d.group); });
 
   node.append("text")
       .attr("dx", 12)
@@ -55,4 +49,18 @@ d3.json("http://127.0.0.1:5001/restapi/network/d3jsgraph", function(error, json)
 
     node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });
   });
+
+  // action to take on double mouse click, call rest api to start xterm
+  function dblclick() {
+      var vnf_name = d3.select(this).text()
+      console.debug(vnf_name)
+      var rest_url = "http://127.0.0.1:5001/restapi/monitor/term?vnf_list=" + vnf_name
+
+      d3.json(rest_url, function(error, json) {
+        if (error) throw error;
+        console.debug(json)
+      });
+  }
+
+
 });
\ No newline at end of file