GUI -- Flash messages appear for every toolbar button. Unit tests written for TableBuilderService

Change-Id: Ib43e48dcfdd165b27e848ff487f2e2cc58d83005
diff --git a/web/gui/src/main/webapp/app/fw/widget/tableBuilder.js b/web/gui/src/main/webapp/app/fw/widget/tableBuilder.js
index 9a09043..93249ed 100644
--- a/web/gui/src/main/webapp/app/fw/widget/tableBuilder.js
+++ b/web/gui/src/main/webapp/app/fw/widget/tableBuilder.js
@@ -21,7 +21,7 @@
     'use strict';
 
     // injected refs
-    var $log, $window, fs, wss;
+    var $log, fs, wss;
 
     // example params to buildTable:
     // {
@@ -72,11 +72,10 @@
 
     angular.module('onosWidget')
         .factory('TableBuilderService',
-        ['$log', '$window', 'FnService', 'WebSocketService',
+        ['$log', 'FnService', 'WebSocketService',
 
-            function (_$log_, _$window_, _fs_, _wss_) {
+            function (_$log_, _fs_, _wss_) {
                 $log = _$log_;
-                $window = _$window_;
                 fs = _fs_;
                 wss = _wss_;
 
diff --git a/web/gui/src/main/webapp/app/view/device/device.js b/web/gui/src/main/webapp/app/view/device/device.js
index 0f02124..496a654 100644
--- a/web/gui/src/main/webapp/app/view/device/device.js
+++ b/web/gui/src/main/webapp/app/view/device/device.js
@@ -34,7 +34,7 @@
     // constants
     var topPdg = 13,
         ctnrPdg = 24,
-        scrollSize = 10,
+        scrollSize = 17,
         portsTblPdg = 50,
 
         pName = 'device-details-panel',
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.js b/web/gui/src/main/webapp/app/view/topo/topo.js
index 8faa896..68e4d68 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.js
+++ b/web/gui/src/main/webapp/app/view/topo/topo.js
@@ -139,6 +139,7 @@
 
     function resetZoom() {
         zoomer.reset();
+        flash.flash('Pan and zoom reset');
     }
 
     function equalizeMasters() {
diff --git a/web/gui/src/main/webapp/app/view/topo/topoD3.js b/web/gui/src/main/webapp/app/view/topo/topoD3.js
index 39c3495..1b0a128 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoD3.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoD3.js
@@ -134,6 +134,11 @@
 
     function incDevLabIndex() {
         deviceLabelIndex = (deviceLabelIndex+1) % 3;
+        switch(deviceLabelIndex) {
+            case 0: return 'Hide device labels';
+            case 1: return 'Show friendly device labels';
+            case 2: return 'Show device ID labels';
+        }
     }
 
     // Returns the newly computed bounding box of the rectangle
diff --git a/web/gui/src/main/webapp/app/view/topo/topoForce.js b/web/gui/src/main/webapp/app/view/topo/topoForce.js
index 3097343..b365db8 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoForce.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoForce.js
@@ -413,7 +413,7 @@
     }
 
     function cycleDeviceLabels() {
-        td3.incDevLabIndex();
+        flash.flash(td3.incDevLabIndex());
         tms.findDevices().forEach(function (d) {
             td3.updateDeviceLabel(d);
         });
diff --git a/web/gui/src/main/webapp/app/view/topo/topoOblique.js b/web/gui/src/main/webapp/app/view/topo/topoOblique.js
index a505368..d04965c 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoOblique.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoOblique.js
@@ -24,7 +24,7 @@
     'use strict';
 
     // injected refs
-    var $log, fs, sus;
+    var $log, fs, sus, flash;
 
     // api to topoForce
     var api;
@@ -217,12 +217,13 @@
 
 angular.module('ovTopo')
     .factory('TopoObliqueService',
-    ['$log', 'FnService', 'SvgUtilService',
+    ['$log', 'FnService', 'SvgUtilService', 'FlashService',
 
-    function (_$log_, _fs_, _sus_) {
+    function (_$log_, _fs_, _sus_, _flash_) {
         $log = _$log_;
         fs = _fs_;
         sus = _sus_;
+        flash = _flash_;
 
         function initOblique(_api_) {
             api = _api_;
@@ -234,8 +235,10 @@
             oblique = !oblique;
             if (oblique) {
                 api.force().stop();
+                flash.flash('Oblique view');
                 toObliqueView();
             } else {
+                flash.flash('Normal view');
                 toNormalView();
             }
         }
diff --git a/web/gui/src/main/webapp/app/view/topo/topoTraffic.js b/web/gui/src/main/webapp/app/view/topo/topoTraffic.js
index 1ce8810..ab38e56 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoTraffic.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoTraffic.js
@@ -132,14 +132,14 @@
     function showNextIntentAction() {
         hoverMode = hoverModeNone;
         wss.sendEvent('requestNextRelatedIntent');
-        flash.flash('>');
+        flash.flash('Next related intent');
     }
 
     // keystroke-left-arrow (see topo.js)
     function showPrevIntentAction() {
         hoverMode = hoverModeNone;
         wss.sendEvent('requestPrevRelatedIntent');
-        flash.flash('<');
+        flash.flash('Previous related intent');
     }
 
     // keystroke-W (see topo.js)