ONOS-2850 : Beginnings of Topology Programmable Dialog box --- WIP.

Change-Id: I7e08b3c5d97f409c470eeb97b0f988a14b6d495f
diff --git a/web/gui/src/main/webapp/app/view/topo/topoSelect.js b/web/gui/src/main/webapp/app/view/topo/topoSelect.js
index 483c4ba..4ad7690 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoSelect.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoSelect.js
@@ -240,6 +240,33 @@
         return cc;
     }
 
+    // returns a selection context, providing info about what is selected
+    function selectionContext() {
+        var devices = [],
+            hosts = [],
+            types = {};
+
+        angular.forEach(selections, function (d) {
+            var o = d.obj,
+                c = o.class;
+
+            if (c === 'device') {
+                devices.push(o.id);
+                types[o.id] = o.type;
+            }
+            if (c === 'host') {
+                hosts.push(o.id);
+                types[o.id] = o.type;
+            }
+        });
+
+        return {
+            devices: devices,
+            hosts: hosts,
+            types: types
+        };
+    }
+
     // === -----------------------------------------------------
     // === MODULE DEFINITION ===
 
@@ -280,7 +307,8 @@
                 selectOrder: function () { return selectOrder; },
                 somethingSelected: somethingSelected,
 
-                clickConsumed: clickConsumed
+                clickConsumed: clickConsumed,
+                selectionContext: selectionContext
             };
         }]);
 }());