return route;
}
- var routes = [];
- for (var r in rts) {
- routes.push(new Route(r, rts[r]));
- }
+ const routes = Object.entries(rts)
+ .map(([r, t]) => new Route(r, t));
routes.recognize = function (path) {
- for (var i = 0; i < this.length; i++) {
- if (this[i].match(path)) return this[i];
+ for (const route of this) {
+ if (route.match(path)) return route;
}
};
};
router.stateChange = function (state) {
- if (state.center) {
- window.history.replaceState(state, document.title, OSM.formatHash(state));
- } else {
- window.history.replaceState(state, document.title, window.location);
- }
+ const url = state.center ? OSM.formatHash(state) : window.location;
+ window.history.replaceState(state, document.title, url);
};
router.updateHash = function () {
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;