Fix for ONOS-291. Highlighting intents in ONOS GUI for selected links.

Change-Id: I757aa40b96d92014fa2d720539da20dd309ec9b1
diff --git a/web/gui/src/main/webapp/app/view/topo/topoSelect.js b/web/gui/src/main/webapp/app/view/topo/topoSelect.js
index 77010df..1cd211b 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoSelect.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoSelect.js
@@ -31,7 +31,7 @@
        node()                         // get ref to D3 selection of nodes
        zoomingOrPanning( ev )
        updateDeviceColors( [dev] )
-       deselectLink()
+       deselectAllLinks()
      */
 
     // internal state
@@ -106,12 +106,27 @@
                 }
             });
         }
-        if (!n) return;
+
+        if (obj.class === 'link') {
+
+            if (selections[obj.key]) {
+                deselectObject(obj.key);
+            } else {
+                selections[obj.key] = { obj: obj, el: el };
+                selectOrder.push(obj.key);
+            }
+
+            updateDetail();
+            return;
+        }
+
+        if (!n) {
+            return;
+        }
 
         if (nodeEv) {
             consumeClick = true;
         }
-        api.deselectLink();
 
         if (ev.shiftKey && n.classed('selected')) {
             deselectObject(obj.id);
@@ -196,6 +211,11 @@
 
     function singleSelect() {
         var data = getSel(0).obj;
+
+        //the link details are already taken care of in topoLink.js
+        if (data.class === 'link') {
+            return;
+        }
         requestDetails(data);
         // NOTE: detail panel is shown as a response to receiving
         //       a 'showDetails' event from the server. See 'showDetails'