citizenwatt-refactor/base/static/js/conso/HashManager.js

46 lines
815 B
JavaScript
Raw Permalink Normal View History

2017-02-27 22:26:02 +01:00
var HashManager = function() {
var api = {};
var unit, mode;
components = location.hash.slice(1).split('-');
unit = components[0];
mode = components[1] || 'now';
date = components.length > 2 ? new Date(parseInt(components[2])*1000) : null;
api.updateHash= function(){
var hash = '#' + unit + '-' + mode;
if (date !== null) hash += '-' + Math.floor(date.getTime() / 1000);
location.hash = hash;
};
api.setUnit = function(new_unit) {
unit = new_unit;
api.updateHash();
};
api.getUnit = function() {
return unit;
};
api.setMode = function(new_mode) {
mode = new_mode;
api.updateHash();
};
api.getMode = function() {
return mode;
};
api.setDate = function(new_date) {
date = new_date;
api.updateHash();
};
api.getDate = function() {
return date;
};
return api;
};