Addded alarm highlight on Topo View and link to Alarm View

Change-Id: I0de7a24e12fd7e299fc7e31747cb27cd4831828b
diff --git a/web/gui2-topo-lib/projects/gui2-topo-lib/src/lib/topology/topology.component.ts b/web/gui2-topo-lib/projects/gui2-topo-lib/src/lib/topology/topology.component.ts
index fb4e4cb..f48f33a 100644
--- a/web/gui2-topo-lib/projects/gui2-topo-lib/src/lib/topology/topology.component.ts
+++ b/web/gui2-topo-lib/projects/gui2-topo-lib/src/lib/topology/topology.component.ts
@@ -63,7 +63,8 @@
     PORTS_TOGGLE,
     QUICKHELP_BTN,
     RESETZOOM_BTN,
-    SUMMARY_TOGGLE
+    SUMMARY_TOGGLE,
+    ALARMS_TOGGLE
 } from '../panel/toolbar/toolbar.component';
 import {TrafficService, TrafficType} from '../traffic.service';
 import {ZoomableDirective} from '../layer/zoomable.directive';
@@ -88,6 +89,7 @@
 const PREF_TOOLBAR = 'toolbar';
 const PREF_PINNED = 'pinned';
 const PREF_TRAFFIC = 'traffic';
+const PREF_ALARMS = 'alarms';
 
 const BACKGROUND_ELEMENTS = [
     'svg topo2',
@@ -114,6 +116,7 @@
     grid: number;
     pinned: number;
     traffic: number;
+    alarms: number;
 }
 
 /**
@@ -171,7 +174,8 @@
         toolbar: 0,
         grid: 0,
         pinned: 0,
-        traffic: 2 // default to PORTSTATSPKTSEC, as it will iterate over to 0 on init
+        traffic: 2, // default to PORTSTATSPKTSEC, as it will iterate over to 0 on init
+        alarms: 1,
     };
 
     mapIdState: MapObject = <MapObject>{
@@ -436,6 +440,9 @@
             case LAYOUT_ACCESS_BTN:
                 this.layout.changeLayout(LayoutType.LAYOUT_ACCESS);
                 break;
+            case ALARMS_TOGGLE:
+                this.toggleAlarms();
+                break;
             default:
                 this.log.warn('Unhandled Toolbar action', name);
         }
@@ -659,6 +666,14 @@
         this.log.debug('toggling offline devices', this.prefsState.offdev);
     }
 
+
+    protected toggleAlarms() {
+        const on: boolean = !Boolean(this.prefsState.alarms);
+        this.flashMsg = this.lionFn(on ? 'show' : 'hide') + ' Alarms';
+        this.updatePrefsState(PREF_ALARMS, on ? 1 : 0);
+        this.log.debug('Alarms toggled', on);
+    }
+
     protected resetZoom() {
         const zoomMapExtents = ZoomUtils.zoomToWindowSize(
             this.bannerHeight, this.window.innerWidth, this.window.innerHeight);