GUI -- TopoView - re-implemented All/Pkt/Opt filter radio buttons.

Change-Id: I41cf0eca60a685606a631c0edf4779d7730bb649
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 10e924f..7dadaeb 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoForce.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoForce.js
@@ -23,7 +23,8 @@
     'use strict';
 
     // injected refs
-    var $log, fs, sus, is, ts, flash, tis, tms, tss, tts, icfg, uplink;
+    var $log, fs, sus, is, ts, flash, tis, tms, tss, tts, fltr,
+        icfg, uplink;
 
     // configuration
     var labelConfig = {
@@ -1078,14 +1079,21 @@
         }
     }
 
+    function mkFilterApi(uplink) {
+        return {
+            node: function () { return node; },
+            link: function () { return link; }
+        };
+    }
+
     angular.module('ovTopo')
     .factory('TopoForceService',
         ['$log', 'FnService', 'SvgUtilService', 'IconService', 'ThemeService',
             'FlashService', 'TopoInstService', 'TopoModelService',
-            'TopoSelectService', 'TopoTrafficService',
+            'TopoSelectService', 'TopoTrafficService', 'TopoFilterService',
 
         function (_$log_, _fs_, _sus_, _is_, _ts_, _flash_,
-                  _tis_, _tms_, _tss_, _tts_) {
+                  _tis_, _tms_, _tss_, _tts_, _fltr_) {
             $log = _$log_;
             fs = _fs_;
             sus = _sus_;
@@ -1096,6 +1104,7 @@
             tms = _tms_;
             tss = _tss_;
             tts = _tts_;
+            fltr = _fltr_;
 
             icfg = is.iconConfig();
 
@@ -1117,6 +1126,7 @@
                 tms.initModel(mkModelApi(uplink), dim);
                 tss.initSelect(mkSelectApi(uplink));
                 tts.initTraffic(mkTrafficApi(uplink));
+                fltr.initFilter(mkFilterApi(uplink), d3.select('#mast-right'));
 
                 settings = angular.extend({}, defaultSettings, opts);
 
@@ -1151,6 +1161,7 @@
             }
 
             function destroyForce() {
+                fltr.destroyFilter();
                 tts.destroyTraffic();
                 tss.destroySelect();
                 tms.destroyModel();