GUI -- Finished Device Details Panel.
- Cleaned up front and backend
- modified table row select callback to take the click $event (in app and device view)
- panel has device glyph
- closing panel deselects clicked on row

Change-Id: I42c372c74fd9fd417ceff01e424f754ea2559595
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/DeviceViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/DeviceViewMessageHandler.java
index b7fb40d..5d79f6e 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/DeviceViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/DeviceViewMessageHandler.java
@@ -84,11 +84,8 @@
 
         DeviceService service = get(DeviceService.class);
         MastershipService mastershipService = get(MastershipService.class);
-        LinkService linkService = get(LinkService.class);
 
-        TableRow[] rows = generateTableRows(service,
-                                            mastershipService,
-                                            linkService);
+        TableRow[] rows = generateTableRows(service, mastershipService);
         RowComparator rc =
                 new RowComparator(sortCol, RowComparator.direction(sortDir));
         Arrays.sort(rows, rc);
@@ -111,6 +108,7 @@
 
         data.put(ID, deviceId.toString());
         data.put(TYPE, device.type().toString());
+        data.put(TYPE_IID, getTypeIconId(device));
         data.put(MFR, device.manufacturer());
         data.put(HW, device.hwVersion());
         data.put(SW, device.swVersion());
@@ -131,13 +129,11 @@
     }
 
     private TableRow[] generateTableRows(DeviceService service,
-                                         MastershipService mastershipService,
-                                         LinkService linkService) {
+                                         MastershipService mastershipService) {
         List<TableRow> list = new ArrayList<>();
         for (Device dev : service.getDevices()) {
             list.add(new DeviceTableRow(service,
                                         mastershipService,
-                                        linkService,
                                         dev));
         }
         return list.toArray(new TableRow[list.size()]);
@@ -166,6 +162,10 @@
         return port;
     }
 
+    private static String getTypeIconId(Device d) {
+        return DEV_ICON_PREFIX + d.type().toString();
+    }
+
     /**
      * TableRow implementation for {@link Device devices}.
      */
@@ -180,20 +180,8 @@
         private static final String ICON_ID_ONLINE = "deviceOnline";
         private static final String ICON_ID_OFFLINE = "deviceOffline";
 
-        // TODO: use in details pane
-//        private String getEgressLinks(Set<Link> links) {
-//            String formattedString = "";
-//
-//            for (Link l : links) {
-//                formattedString += l.dst().port().toString() + ", ";
-//            }
-//            return formattedString;
-//        }
-
-        // TODO: include "extra" backend information in device details pane
         public DeviceTableRow(DeviceService service,
                               MastershipService ms,
-                              LinkService ls,
                               Device d) {
             boolean available = service.isAvailable(d.id());
             String iconId = available ? ICON_ID_ONLINE : ICON_ID_OFFLINE;
@@ -212,10 +200,6 @@
             add(MASTER_ID, ms.getMasterFor(d.id()).toString());
         }
 
-        private String getTypeIconId(Device d) {
-            return DEV_ICON_PREFIX + d.type().toString();
-        }
-
         @Override
         protected String[] columnIds() {
             return COL_IDS;