import {UIEventSource} from "../UIEventSource"; import Constants from "../../Models/Constants"; import {Utils} from "../../Utils"; export default class Hash { public static hash : UIEventSource = Hash.Get(); private static Get() : UIEventSource{ if(Utils.runningFromConsole){ return new UIEventSource(undefined); } const hash = new UIEventSource(window.location.hash.substr(1)); hash.addCallback(h => { if(h === undefined || h === ""){ window.location.hash = ""; return; } h = h.replace(/\//g, "_"); window.location.hash = "#" + h; }); window.onhashchange = () => { hash.setData(window.location.hash.substr(1)) } return hash; } }