X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/7fc7800c774b199cc27c712b8b011ee64b2d900b..f8ad4c79a4c1880370a035be0c0286a9b4285a69:/app/assets/javascripts/router.js?ds=sidebyside diff --git a/app/assets/javascripts/router.js b/app/assets/javascripts/router.js index d890f38a4..a8659d308 100644 --- a/app/assets/javascripts/router.js +++ b/app/assets/javascripts/router.js @@ -101,6 +101,16 @@ OSM.Router = function (map, rts) { var router = {}; + function updateSecondaryNav() { + $("header nav.secondary > ul > li > a").each(function () { + var active = $(this).attr("href") === window.location.pathname; + + $(this) + .toggleClass("text-secondary", !active) + .toggleClass("text-secondary-emphasis", active); + }); + } + $(window).on("popstate", function (e) { if (!e.originalEvent.state) return; // Is it a real popstate event or just a hash change? var path = window.location.pathname + window.location.search, @@ -110,6 +120,7 @@ OSM.Router = function (map, rts) { currentPath = path; currentRoute = route; currentRoute.run("popstate", currentPath); + updateSecondaryNav(); map.setState(e.originalEvent.state, { animate: false }); }); @@ -124,6 +135,7 @@ OSM.Router = function (map, rts) { currentPath = path; currentRoute = route; currentRoute.run("pushstate", currentPath); + updateSecondaryNav(); return true; }; @@ -178,7 +190,7 @@ OSM.Router = function (map, rts) { currentRoute = routes.recognize(currentPath); }; - map.on("moveend baselayerchange overlaylayerchange", router.updateHash); + map.on("moveend baselayerchange overlayadd overlayremove", router.updateHash); $(window).on("hashchange", router.hashUpdated); return router;