add suit navbar link rewriting
authorScott Baker <smbaker@gmail.com>
Thu, 6 Nov 2014 06:12:33 +0000 (22:12 -0800)
committerScott Baker <smbaker@gmail.com>
Thu, 6 Nov 2014 06:12:33 +0000 (22:12 -0800)
planetstack/core/xoslib/static/js/xosAdminSite.js

index aefe3e1..6fb46a0 100644 (file)
@@ -1,7 +1,16 @@
 OBJS = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment'];
 NAV_OBJS = ['deployment', 'site', 'slice', 'user'];
 
-XOSAdminApp = new XOSApplication({logTableId: "#logTable", hideTabsByDefault: true});
+REWRITES = {"/admin/core/deployment/": "#deployments",
+            "/admin/core/site/" : "#sites",
+            "/admin/core/slice/" : "#slices",
+            "/admin/core/user/" : "#users"};
+
+XOSAdminApp = new XOSApplication({
+    logTableId: "#logTable",
+    statusMsgId: "#statusMsg",
+    hideTabsByDefault: true
+});
 
 XOSAdminApp.addRegions({
     navigation: "#navigationPanel",
@@ -101,7 +110,24 @@ XOSAdminApp.initRouter = function() {
     };\r
 \r
     XOSAdminApp.Router = new router({ appRoutes: routes, controller: api });\r
-}\r
+};\r
+\r
+/* rewriteLinks\r
+\r
+   Rewrite the links in the suit navbar from django-links to marionette\r
+   links. This let's us intercept the navbar and make it function within\r
+   this view rather than jumping back out to a django view.\r
+*/\r
+\r
+XOSAdminApp.rewriteLinks = function () {\r
+    $("a").each(function() {\r
+        href=$(this).attr("href");\r
+        rewrite_href=REWRITES[href];\r
+        if (rewrite_href) {\r
+            $(this).attr("href", rewrite_href);\r
+        }\r
+    });\r
+};\r
 \r
 XOSAdminApp.on("start", function() {\r
      XOSAdminApp.buildViews();
@@ -110,6 +136,8 @@ XOSAdminApp.on("start", function() {
 
      XOSAdminApp.updateNavigationPanel();
 
+     XOSAdminApp.rewriteLinks();
+
      if (Backbone.history) {
          console.log("history start");
          Backbone.history.start();