Pushing UiModelEvents up to the client...

Change-Id: Ic94c84b96df18bdd2c4072a5209f89bada8ab36f
diff --git a/web/gui/src/main/webapp/app/view/topo2/topo2Event.js b/web/gui/src/main/webapp/app/view/topo2/topo2Event.js
index 705173c..138d866 100644
--- a/web/gui/src/main/webapp/app/view/topo2/topo2Event.js
+++ b/web/gui/src/main/webapp/app/view/topo2/topo2Event.js
@@ -42,7 +42,9 @@
             topo2CurrentLayout: t2fs,
             topo2CurrentRegion: t2fs,
             topo2PeerRegions: t2fs,
-            topo2StartDone: t2fs
+            topo2StartDone: t2fs,
+
+            topo2UiModelEvent: t2fs
 
             // Add further event names / module references as needed
         };
diff --git a/web/gui/src/main/webapp/app/view/topo2/topo2Force.js b/web/gui/src/main/webapp/app/view/topo2/topo2Force.js
index 852e0a5..57a5f89 100644
--- a/web/gui/src/main/webapp/app/view/topo2/topo2Force.js
+++ b/web/gui/src/main/webapp/app/view/topo2/topo2Force.js
@@ -146,6 +146,14 @@
         $log.debug('>> topo2StartDone event:', data);
     }
 
+    function modelEvent(data) {
+        $log.debug('>> topo2UiModelEvent event:', data);
+        // TODO: Interpret the event and update our topo model state (if needed)
+        // To Decide: Can we assume that the server will only send events
+        //    related to objects that we are currently showing?
+        //    (e.g. filtered by subregion contents?)
+    }
+
     function showMastership(masterId) {
         if (masterId) {
             showMastershipFor(masterId);
@@ -264,6 +272,8 @@
                 topo2CurrentRegion: currentRegion,
                 topo2StartDone: startDone,
 
+                topo2UiModelEvent: modelEvent,
+
                 showMastership: showMastership,
                 topo2PeerRegions: topo2PeerRegions,