FaultManagement: Adding multi-clock glyph to topo overlay.
- topo overlay buttons updated to use clock/clocks glyphs.
- Alarms nav icon also uses clock glyph.

Change-Id: I4d590c919781e4d11b37f4b8c520fe009653bfbd
diff --git a/apps/faultmanagement/fmgui/src/main/resources/app/view/alarmTable/alarmTable.js b/apps/faultmanagement/fmgui/src/main/resources/app/view/alarmTable/alarmTable.js
index 82ceeda..a742dae 100644
--- a/apps/faultmanagement/fmgui/src/main/resources/app/view/alarmTable/alarmTable.js
+++ b/apps/faultmanagement/fmgui/src/main/resources/app/view/alarmTable/alarmTable.js
@@ -44,114 +44,121 @@
     }
 
     angular.module('ovAlarmTable', [])
-            .controller('OvAlarmTableCtrl',
-                    ['$log', '$scope', '$location', 'TableBuilderService',
-                        'FnService', 'WebSocketService',
-                        function (_$log_, _$scope_, _$location_, tbs, _fs_, _wss_) {
-                            var params;
+        .run(['IconService', function (is) {
+            // we want to be able to re-use the clock glyph in our nav icon...
+            is.registerIconMapping('nav_alarms', 'alarmsTopo-overlay-clock');
+        }])
 
-                            $log = _$log_;
-                            $scope = _$scope_;
-                            $loc = _$location_;
+        .controller('OvAlarmTableCtrl',
+            ['$log', '$scope', '$location', 'TableBuilderService',
+                'FnService', 'WebSocketService',
 
-                            fs = _fs_;
-                            wss = _wss_;
+            function (_$log_, _$scope_, _$location_, tbs, _fs_, _wss_) {
+                var params;
 
+                $log = _$log_;
+                $scope = _$scope_;
+                $loc = _$location_;
 
-                            params = $loc.search();
-                            if (params.hasOwnProperty('devId')) {
-                                $scope.devId = params['devId'];
-                            }
+                fs = _fs_;
+                wss = _wss_;
 
-                            var handlers = {};
-                            $scope.panelDetails = {};
+                params = $loc.search();
+                if (params.hasOwnProperty('devId')) {
+                    $scope.devId = params['devId'];
+                }
 
-                            // details response handler
-                            handlers[detailsResp] = respDetailsCb;
-                            wss.bindHandlers(handlers);
+                var handlers = {};
+                $scope.panelDetails = {};
 
-                            // custom selection callback
-                            function selCb($event, row) {
-                                $log.debug("selCb row=" + JSON.stringify(row, null, 4) +
-                                        ", $event=" + JSON.stringify($event, null, 4));
-                                $log.debug('$scope.selId=', $scope.selId);
-                                if ($scope.selId) {
-                                    $log.debug('send');
-                                    wss.sendEvent(detailsReq, {id: row.id});
-                                } else {
-                                    $log.debug('hidePanel');
-                                    $scope.hidePanel();
-                                }
-                                $log.debug('Got a click on:', row);
-                            }
+                // details response handler
+                handlers[detailsResp] = respDetailsCb;
+                wss.bindHandlers(handlers);
 
-                            // TableBuilderService creating a table for us
-                            tbs.buildTable({
-                                scope: $scope,
-                                tag: 'alarmTable',
-                                selCb: selCb,
-                                query: params
-                            });
+                // custom selection callback
+                function selCb($event, row) {
+                    $log.debug("selCb row=" + JSON.stringify(row, null, 4) +
+                            ", $event=" + JSON.stringify($event, null, 4));
+                    $log.debug('$scope.selId=', $scope.selId);
+                    if ($scope.selId) {
+                        $log.debug('send');
+                        wss.sendEvent(detailsReq, {id: row.id});
+                    } else {
+                        $log.debug('hidePanel');
+                        $scope.hidePanel();
+                    }
+                    $log.debug('Got a click on:', row);
+                }
 
-                            // cleanup
-                            $scope.$on('$destroy', function () {
-                                wss.unbindHandlers(handlers);
-                                $log.log('OvAlarmTableCtrl has been destroyed');
-                            });
+                // TableBuilderService creating a table for us
+                tbs.buildTable({
+                    scope: $scope,
+                    tag: 'alarmTable',
+                    selCb: selCb,
+                    query: params
+                });
 
-                            $log.log('OvAlarmTableCtrl has been created');
-                        }])
+                // cleanup
+                $scope.$on('$destroy', function () {
+                    wss.unbindHandlers(handlers);
+                    $log.log('OvAlarmTableCtrl has been destroyed');
+                });
 
-            .directive('ovAlarmTableItemDetailsPanel', ['PanelService', 'KeyService',
-                function (ps, ks) {
-                    return {
-                        restrict: 'E',
-                        link: function (scope, element, attrs) {
-                            // insert details panel with PanelService
-                            // create the panel
-                            var panel = ps.createPanel(pName, {
-                                width: 400,
-                                margin: 20,
-                                hideMargin: 0
-                            });
+                $log.log('OvAlarmTableCtrl has been created');
+            }])
+
+        .directive('ovAlarmTableItemDetailsPanel',
+            ['PanelService', 'KeyService',
+
+            function (ps, ks) {
+                return {
+                    restrict: 'E',
+                    link: function (scope, element, attrs) {
+                        // insert details panel with PanelService
+                        // create the panel
+                        var panel = ps.createPanel(pName, {
+                            width: 400,
+                            margin: 20,
+                            hideMargin: 0
+                        });
+                        panel.hide();
+                        scope.hidePanel = function () {
                             panel.hide();
-                            scope.hidePanel = function () {
+                        };
+
+                        function closePanel() {
+                            if (panel.isVisible()) {
+                                $scope.selId = null;
                                 panel.hide();
-                            };
-
-                            function closePanel() {
-                                if (panel.isVisible()) {
-                                    $scope.selId = null;
-                                    panel.hide();
-                                    return true;
-                                }
-                                return false;
+                                return true;
                             }
-
-                            // create key bindings to handle panel
-                            ks.keyBindings({
-                                esc: [closePanel, 'Close the details panel'],
-                                _helpFormat: ['esc']
-                            });
-                            ks.gestureNotes([
-                                ['click', 'Select a row to show item details']
-                            ]);
-
-                            // update the panel's contents when the data is changed
-                            scope.$watch('panelDetails', function () {
-                                if (!fs.isEmptyObject(scope.panelDetails)) {
-                                    panel.empty();
-                                    populatePanel(panel);
-                                    panel.show();
-                                }
-                            });
-
-                            // cleanup on destroyed scope
-                            scope.$on('$destroy', function () {
-                                ks.unbindKeys();
-                                ps.destroyPanel(pName);
-                            });
+                            return false;
                         }
-                    };
-                }]);
+
+                        // create key bindings to handle panel
+                        ks.keyBindings({
+                            esc: [closePanel, 'Close the details panel'],
+                            _helpFormat: ['esc']
+                        });
+                        ks.gestureNotes([
+                            ['click', 'Select a row to show item details']
+                        ]);
+
+                        // update the panel's contents when the data is changed
+                        scope.$watch('panelDetails', function () {
+                            if (!fs.isEmptyObject(scope.panelDetails)) {
+                                panel.empty();
+                                populatePanel(panel);
+                                panel.show();
+                            }
+                        });
+
+                        // cleanup on destroyed scope
+                        scope.$on('$destroy', function () {
+                            ks.unbindKeys();
+                            ps.destroyPanel(pName);
+                        });
+                    }
+                };
+            }]);
 }());