class Navigation { static initialize() { Navigation.barItems = document.body.querySelectorAll("tab-bar bar-button-item"); for (var i = 0; i < Navigation.barItems.length; i++) { Navigation.barItems[i].addEventListener("click", Navigation.onBarItemSelected); } Navigation.onHashChanged(); } static onHashChanged(event) { var hash = window.location.hash; for (var i = 0; i < Navigation.barItems.length; i++) { var item = Navigation.barItems[i]; if (item.getAttribute("target") == hash) { if (item.className.indexOf("active") == -1) { item.classList.add("active"); } } else { item.classList.remove("active"); } } } static onBarItemSelected(event) { var target = event.currentTarget.getAttribute("target"); if (!target) { return; } if (target.startsWith("#")) { window.location.hash = target; return; } } } window.addEventListener("hashchange", Navigation.onHashChanged);