From c9f1fb66f0f7c22f9c62ff22f3dd441fbaf2c1b0 Mon Sep 17 00:00:00 2001 From: Scott Baker <smbaker@gmail.com> Date: Wed, 5 Nov 2014 22:12:33 -0800 Subject: [PATCH] add suit navbar link rewriting --- .../core/xoslib/static/js/xosAdminSite.js | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/planetstack/core/xoslib/static/js/xosAdminSite.js b/planetstack/core/xoslib/static/js/xosAdminSite.js index aefe3e1..6fb46a0 100644 --- a/planetstack/core/xoslib/static/js/xosAdminSite.js +++ b/planetstack/core/xoslib/static/js/xosAdminSite.js @@ -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() { }; XOSAdminApp.Router = new router({ appRoutes: routes, controller: api }); -} +}; + +/* rewriteLinks + + Rewrite the links in the suit navbar from django-links to marionette + links. This let's us intercept the navbar and make it function within + this view rather than jumping back out to a django view. +*/ + +XOSAdminApp.rewriteLinks = function () { + $("a").each(function() { + href=$(this).attr("href"); + rewrite_href=REWRITES[href]; + if (rewrite_href) { + $(this).attr("href", rewrite_href); + } + }); +}; XOSAdminApp.on("start", function() { XOSAdminApp.buildViews(); @@ -110,6 +136,8 @@ XOSAdminApp.on("start", function() { XOSAdminApp.updateNavigationPanel(); + XOSAdminApp.rewriteLinks(); + if (Backbone.history) { console.log("history start"); Backbone.history.start(); -- 2.47.0