Reading subscriber detail from cordsubscriber
diff --git a/views/ngXosViews/diagnostic/src/css/diagnostic.css b/views/ngXosViews/diagnostic/src/css/diagnostic.css
index 2fe3993..de76060 100644
--- a/views/ngXosViews/diagnostic/src/css/diagnostic.css
+++ b/views/ngXosViews/diagnostic/src/css/diagnostic.css
@@ -1,6 +1,7 @@
 /* CONTAINER */
 #xosDiagnostic, [ui-view] {
-    height: 700px;
+    min-height: 700px;
+    position: relative;
 }
 
 diagnostic-container .half-height {
diff --git a/views/ngXosViews/diagnostic/src/js/chart_data_service.js b/views/ngXosViews/diagnostic/src/js/chart_data_service.js
index 609b27b..7326ac8 100644
--- a/views/ngXosViews/diagnostic/src/js/chart_data_service.js
+++ b/views/ngXosViews/diagnostic/src/js/chart_data_service.js
@@ -52,8 +52,8 @@
     */
     this.addSubscriberTag = (tags) => {
       this.logicTopologyData.children[0].children[0].children[0].subscriberTag = {
-        cTag: tags.c_tag,
-        sTag: tags.s_tag
+        cTag: tags.cTag,
+        sTag: tags.sTag
       };
     };
 
@@ -68,16 +68,15 @@
       return this.logicTopologyData;
     };
 
-    this.getSubscriberTag = () => {
-      const tags = JSON.parse(this.currentServiceChain.children[0].tenant.service_specific_attribute);
-      delete tags.creator_id;
+    this.getSubscriberTag = (subscriber) => {
+      const tags = {
+        cTag: subscriber.c_tag,
+        sTag: subscriber.s_tag
+      };
       
       this.addSubscriberTag(tags);
       // add tags info to current subscriber
-      this.currentSubscriber.tags = {
-        cTag: tags.c_tag,
-        sTag: tags.s_tag
-      };
+      this.currentSubscriber.tags = tags;
 
     };
 
@@ -88,7 +87,6 @@
     };
 
     this.selectSubscriber = (subscriber) => {
-
       // append the device with to config settings
       serviceTopologyConfig.elWidths.push(160);
 
@@ -97,7 +95,7 @@
       //clean selected instances
       this.highlightInstances([]);
 
-      this.getSubscriberTag();
+      this.getSubscriberTag(subscriber);
       this.getSubscriberIP();
 
     };
diff --git a/views/ngXosViews/diagnostic/src/js/logicTopology.js b/views/ngXosViews/diagnostic/src/js/logicTopology.js
index ce81bec..b12bfb5 100644
--- a/views/ngXosViews/diagnostic/src/js/logicTopology.js
+++ b/views/ngXosViews/diagnostic/src/js/logicTopology.js
@@ -50,17 +50,6 @@
         $rootScope.$on('instance.detail', (evt, service) => {
           ChartData.getInstanceStatus(service)
           .then((instances) => {
-            // this.hideInstanceStats = false;
-            // // HACK if array is empty wait for animation
-            // if(instances.length === 0){
-            //   this.hideInstanceStats = true;
-            //   $timeout(() => {
-            //     this.selectedInstances = instances;
-            //   }, 500);
-            // }
-            // else{
-            //   this.selectedInstances = instances;
-            // }
             LogicTopologyHelper.updateTree(svg);
           })
         })
diff --git a/views/ngXosViews/diagnostic/src/js/nodeDrawer.js b/views/ngXosViews/diagnostic/src/js/nodeDrawer.js
index e875426..4bb6c98 100644
--- a/views/ngXosViews/diagnostic/src/js/nodeDrawer.js
+++ b/views/ngXosViews/diagnostic/src/js/nodeDrawer.js
@@ -475,7 +475,9 @@
         'text-anchor': 'middle',
         y: serviceTopologyConfig.square.y - 10
       })
-      .text(d => d.name);
+      .text(d => {
+        return d.name || d.humanReadableName
+      });
     }
 
     this.addDevice = (nodes) => {
diff --git a/views/ngXosViews/diagnostic/src/js/rest_services.js b/views/ngXosViews/diagnostic/src/js/rest_services.js
index f49df1c..e88f098 100644
--- a/views/ngXosViews/diagnostic/src/js/rest_services.js
+++ b/views/ngXosViews/diagnostic/src/js/rest_services.js
@@ -164,7 +164,7 @@
     });
   })
   .service('Subscribers', function($resource, $q, SubscriberDevice){
-    return $resource('/xos/subscribers/:id', {id: '@id'}, {
+    return $resource('/xoslib/cordsubscriber/:id', {id: '@id'}, {
       queryWithDevices: {
         method: 'GET',
         isArray: true,
@@ -336,7 +336,7 @@
       const serviceTree = buildLevel(tenants, services, rootService, rootTenant);
 
       return {
-        name: subscriber.name,
+        name: subscriber.name || subscriber.humanReadableName,
         parent: null,
         type: 'subscriber',
         children: [serviceTree]
diff --git a/views/ngXosViews/diagnostic/src/js/serviceTopology.js b/views/ngXosViews/diagnostic/src/js/serviceTopology.js
index 49e5d71..2755620 100644
--- a/views/ngXosViews/diagnostic/src/js/serviceTopology.js
+++ b/views/ngXosViews/diagnostic/src/js/serviceTopology.js
@@ -55,21 +55,8 @@
           // ServiceTopologyHelper.drawLegend(svg);
           ServiceTopologyHelper.updateTree(treeContainer, treeLayout, root);
         };
-
-        this.getInstances = (slice) => {
-          Instances.query({slice: slice.id}).$promise
-          .then((instances) => {
-            this.selectedSlice = slice;
-            this.instances = instances;
-          })
-          .catch(e => {
-            this.errors = e;
-            throw new Error(e);
-          })
-        };
         
         $scope.$watch(() => this.serviceChain, (chain) => {
-          console.log(chain);
           if(angular.isDefined(chain)){
             draw(chain);
           }
diff --git a/views/ngXosViews/diagnostic/src/js/serviceTopologyHelper.js b/views/ngXosViews/diagnostic/src/js/serviceTopologyHelper.js
index 1d53d72..28794c2 100644
--- a/views/ngXosViews/diagnostic/src/js/serviceTopologyHelper.js
+++ b/views/ngXosViews/diagnostic/src/js/serviceTopologyHelper.js
@@ -4,87 +4,6 @@
   angular.module('xos.diagnostic')
   .service('ServiceTopologyHelper', function($rootScope, $window, $log, lodash, ServiceRelation, serviceTopologyConfig, d3){
 
-    // NOTE not used anymore
-    const drawLegend = (svg) => {
-      const legendContainer = svg.append('g')
-        .attr({
-          class: 'legend'
-        });
-
-      legendContainer.append('rect')
-      .attr({
-        transform: d => `translate(10, 80)`,
-        width: 100,
-        height: 100
-      });
-
-      // service
-      const service = legendContainer.append('g')
-      .attr({
-        class: 'node service'
-      });
-
-      service.append('circle')
-      .attr({
-        r: serviceTopologyConfig.circle.radius,
-        transform: d => `translate(30, 100)`
-      });
-
-      service.append('text')
-      .attr({
-        transform: d => `translate(45, 100)`,
-        dy: '.35em'
-      })
-      .text('Service')
-        .style('fill-opacity', 1);
-
-      // slice
-      const slice = legendContainer.append('g')
-        .attr({
-          class: 'node slice'
-        });
-
-      slice.append('rect')
-        .attr({
-          width: 20,
-          height: 20,
-          x: -10,
-          y: -10,
-          transform: d => `translate(30, 130)`
-        });
-
-      slice.append('text')
-        .attr({
-          transform: d => `translate(45, 130)`,
-          dy: '.35em'
-        })
-        .text('Slices')
-        .style('fill-opacity', 1);
-
-      // instance
-      const instance = legendContainer.append('g')
-        .attr({
-          class: 'node instance'
-        });
-
-      instance.append('rect')
-        .attr({
-          width: 20,
-          height: 20,
-          x: -10,
-          y: -10,
-          transform: d => `translate(30, 160)`
-        });
-
-      instance.append('text')
-        .attr({
-          transform: d => `translate(45, 160)`,
-          dy: '.35em'
-        })
-        .text('Instances')
-        .style('fill-opacity', 1);
-    };
-
     var _svg, _layout, _source;
 
     var i = 0;
@@ -240,7 +159,6 @@
     };
 
     this.updateTree = updateTree;
-    this.drawLegend = drawLegend;
   });
 
 }());
\ No newline at end of file