Topo2: Reset node position and unpin
Refactored NodeModel
Added class to the surrounding rect for selected class
Renamed Panels to avoid conflict with classic topo
Topo2: Details Panel for single device selection
Topo2: Added Equalize Masters keyboard shortcut
Topo2: Toggle Link Port highlighting
Topo2: Node Labels was returning empty string
       if friendly name was null
Topo2: Reset map zoom and panning

Change-Id: I0a949b2f8205e1abcfcac5aaec65c18d76e77cff
diff --git a/web/gui/src/main/webapp/app/view/topo2/topo2Map.js b/web/gui/src/main/webapp/app/view/topo2/topo2Map.js
index 4ff2162..ce7e956 100644
--- a/web/gui/src/main/webapp/app/view/topo2/topo2Map.js
+++ b/web/gui/src/main/webapp/app/view/topo2/topo2Map.js
@@ -29,13 +29,15 @@
     var MapSelectionDialog;
 
     // internal state
-    var mapG;
+    var mapG, zoomLayer, zoomer;
 
-    function init(zoomLayer) {
-        return setUpMap(zoomLayer);
+    function init(_zoomLayer_, _zoomer_) {
+        zoomLayer = _zoomLayer_;
+        zoomer = _zoomer_;
+        return setUpMap();
     }
 
-    function setUpMap(zoomLayer) {
+    function setUpMap() {
         var prefs = currentMap(),
             mapId = prefs.mapid,
             mapFilePath = prefs.mapfilepath,
@@ -124,6 +126,10 @@
         }).open();
     }
 
+    function resetZoom() {
+        zoomer.reset();
+    }
+
     angular.module('ovTopo2')
     .factory('Topo2MapService',
         ['$location', 'PrefsService', 'MapService',
@@ -140,7 +146,9 @@
                 return {
                     init: init,
                     openMapSelection: openMapSelection,
-                    toggle: toggle
+                    toggle: toggle,
+
+                    resetZoom: resetZoom
                 };
             }
         ]);