Showing slice name on chart
diff --git a/gui/ngXosViews/serviceTopology/src/css/serviceTopology.css b/gui/ngXosViews/serviceTopology/src/css/serviceTopology.css
index bc952f6..220d2ab 100644
--- a/gui/ngXosViews/serviceTopology/src/css/serviceTopology.css
+++ b/gui/ngXosViews/serviceTopology/src/css/serviceTopology.css
@@ -14,6 +14,12 @@
     stroke-width: 3px;
 }
 
+.node rect.slice-detail{
+    fill: #fff;
+    stroke: steelblue;
+    stroke-width: 3px;
+}
+
 .node text {
     font: 12px sans-serif;
 }
diff --git a/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js b/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
index b7d1be8..f7a70e5 100644
--- a/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
+++ b/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
@@ -11,6 +11,9 @@
       templateUrl: 'templates/topology_canvas.tpl.html',
       controller: function($element, $window, d3, serviceTopologyConfig, ServiceRelation, Slice, Instances){
 
+        this.instances = [];
+        this.slices = [];
+
         // count the mas depth of an object
         const depthOf = (obj) => {
           var depth = 0;
@@ -173,28 +176,82 @@
           });
         }
 
-        this.instances = [];
-        this.slices = [];
-
         var _this = this;
         const click = function(d) {
 
-          d3.select(this).attr('r', 30);
+          // empty panel
+          _this.slices = [];
+          _this.instances = [];
+
+          var nodes = d3.selectAll('circle')
+            .transition()
+            .duration(duration)
+            .attr('r', 10);
+
+          d3.selectAll('rect.slice-detail')
+            .remove();
+
+          d3.selectAll('text.slice-name')
+            .remove();
+
+          var selectedNode = d3.select(this);
+
+          selectedNode
+            .transition()
+            .duration(duration)
+            .attr('r', 30);
 
           _this.selectedService = {
             id: d.id,
             name: d.name
           };
+
           Slice.query({service: d.id}).$promise
           .then(slices => {
-            _this.instances = [];
             _this.slices = slices;
+
+            if(slices.length > 0){
+              const parentNode = d3.select(this.parentNode);
+
+              parentNode
+                .append('rect')
+                .style('opacity', 0)
+                .attr({
+                  width: 150,
+                  height: 50,
+                  y: 35,
+                  x: -75,
+                  class: 'slice-detail'
+                })
+                .transition()
+                .duration(duration)
+                .style('opacity', 1);
+
+              parentNode
+                .append('text')
+                .style('opacity', 0)
+                .attr({
+                  y: 65,
+                  x: -60,
+                  class: 'slice-name'
+                })
+                .text(() => {
+                  if(slices[0]){
+                    console.log(slices[0].humanReadableName);
+                    return slices[0].humanReadableName;
+                  }
+
+                  return '';
+                })
+                .transition()
+                .duration(duration)
+                .style('opacity', 1);
+              }
           })
         };
 
         ServiceRelation.get()
         .then((tree) => {
-          console.log(tree);
           draw(tree);
         });