terriajs
Version:
Geospatial data visualization platform.
23 lines (19 loc) • 958 B
JavaScript
;
/*global require*/
var raiseErrorToUser = require('../Models/raiseErrorToUser');
/**
* Updates the {@link Terria} when the window's 'hashchange' event is raised. This allows new init files and
* "start=" URLs to be loaded just by changing the hash portion of the URL in the browser's address bar.
*
* @param {Terria} terria The Terria instance to update.
* @param {Window} window The browser's window DOM object.
* @param {UrlShortener} [urlShortener] The URL shortener to use to expand short URLs. If this property is undefined, short URLs will not be expanded.
*/
var updateApplicationOnHashChange = function(terria, window, urlShortener) {
window.addEventListener('hashchange', function() {
terria.updateApplicationUrl(window.location, urlShortener).otherwise(function(e) {
raiseErrorToUser(terria, e);
});
}, false);
};
module.exports = updateApplicationOnHashChange;