export const URL_HOME = "/"; export function goToHome(history){ history.push(URL_HOME); return Promise.resolve("ok"); } export const URL_FILES = "/files"; export function goToFiles(history, path, state){ history.push(URL_FILES+"?path="+encode_path(path), state); return Promise.resolve("ok"); } export const URL_VIEWER = "/view"; export function goToViewer(history, path, state){ history.push(URL_VIEWER+"?path="+encode_path(path), state); return Promise.resolve("ok"); } export const URL_LOGIN = "/login"; export function goToLogin(history){ history.push(URL_EDIT); return Promise.resolve("ok"); } export const URL_LOGOUT = "/logout"; export function goToLogout(history){ history.push(URL_LOGOUT); return Promise.resolve("ok"); } function encode_path(path){ if(/%2F/.test(path) === false){ return encodeURIComponent(path).replace(/%2F/g, "/"); // replace slash to make url more friendly }else{ return encodeURIComponent(path) // in case you got a %2F folder somewhere ... } } export function prepare(path){ return encodeURIComponent(decodeURIComponent(path.replace(/%/g, "%25"))); } export function urlParams() { let p = ""; if(window.location.hash){ p += window.location.hash.replace(/^\#/, ""); } if(window.location.search){ if(p !== "") p += "&"; p += window.location.search.replace(/^\?/, ""); } return p.split("&").reduce((mem, chunk) => { const d = chunk.split("="); if(d.length !== 2) return mem; mem[decodeURIComponent(d[0])] = decodeURIComponent(d[1]); return mem; }, {}) }