1
0
Fork 0
VaultUI/src/PageState.ts

117 lines
3.3 KiB
TypeScript
Raw Normal View History

2021-05-07 23:08:02 +01:00
export class PageState {
2021-04-15 13:01:58 +01:00
constructor() {
2021-05-07 23:08:02 +01:00
// Do Nothing
2021-04-15 13:01:58 +01:00
}
// NOTE: When a item in the page state isn't a string (e.g it is a array or object),
// you need to add helper methods to mutate it or else it wont save.
2021-05-20 14:12:12 +01:00
// example: secretPath is a array so when you try to .push() to it
2021-04-15 13:01:58 +01:00
// it will modify the object that was getted from this class
// then when you try to access it again, there will be a different object.
// I guess you could make another class that emulates a Array or Map
2021-04-15 13:01:58 +01:00
// by using a bunch of functions and modifying localStorage in order to remove some of
// the clunkyness of this approach, but for now, this works.
2021-05-07 23:08:02 +01:00
get apiURL(): string | null {
const apiurl = localStorage.getItem("apiURL") || "";
return apiurl.length > 0 ? apiurl : null;
}
2021-05-07 23:08:02 +01:00
set apiURL(value: string) {
localStorage.setItem("apiURL", value);
}
2021-05-07 23:08:02 +01:00
get token(): string | null {
const tok = localStorage.getItem("token") || "";
return tok.length > 0 ? tok : null;
}
2021-05-07 23:08:02 +01:00
set token(value: string) {
localStorage.setItem("token", value);
}
2021-05-07 23:08:02 +01:00
get pageDirection(): string {
return localStorage.getItem("pageDirection") || "ltr";
}
2021-05-07 23:08:02 +01:00
set pageDirection(value: string) {
localStorage.setItem("pageDirection", value);
}
2021-05-07 23:08:02 +01:00
get language(): string {
return localStorage.getItem("language") || "";
}
2021-05-07 23:08:02 +01:00
set language(value: string) {
localStorage.setItem("language", value);
}
2021-05-20 14:12:12 +01:00
get baseMount(): string {
return localStorage.getItem("baseMount") || "";
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
set baseMount(value: string) {
localStorage.setItem("baseMount", value);
2021-04-15 13:01:58 +01:00
}
// Since this is a array we can't act directly on it so we need
// functions to do the same modifications.
// See the note at the start o
2021-05-20 14:12:12 +01:00
popSecretPath(): void {
const secPath = this.secretPath;
2021-04-15 13:01:58 +01:00
secPath.pop();
2021-05-20 14:12:12 +01:00
this.secretPath = secPath;
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
pushSecretPath(...args: string[]): void {
const secPath = this.secretPath;
2021-04-15 13:01:58 +01:00
secPath.push(...args);
2021-05-20 14:12:12 +01:00
this.secretPath = secPath;
2021-04-15 13:01:58 +01:00
}
2021-05-07 23:08:02 +01:00
2021-05-20 14:12:12 +01:00
get secretPath(): string[] {
return JSON.parse(localStorage.getItem("secretPath") || "[]") as string[];
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
set secretPath(value: string[]) {
localStorage.setItem("secretPath", JSON.stringify(value));
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
get secretVersion(): string | null {
const result = localStorage.getItem("secretVersion");
return result != "null" ? result || null : null;
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
set secretVersion(value: string) {
localStorage.setItem("secretVersion", String(value));
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
get secretItem(): string {
return localStorage.getItem("secretItem") || "";
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
set secretItem(value: string) {
localStorage.setItem("secretItem", value);
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
get secretMountType(): string {
return localStorage.getItem("secretMountType") || "";
2021-04-15 13:01:58 +01:00
}
2021-05-20 14:12:12 +01:00
set secretMountType(value: string) {
localStorage.setItem("secretMountType", value);
2021-04-19 20:17:07 +01:00
}
2021-05-20 15:15:02 +01:00
get authPath(): string {
return localStorage.getItem("authPath") || "";
}
set authPath(value: string) {
localStorage.setItem("authPath", value);
}
get userPassUser(): string {
return localStorage.getItem("userPassUser") || "";
}
set userPassUser(value: string) {
localStorage.setItem("userPassUser", value);
}
2021-05-16 10:35:35 +01:00
get currentPage(): string {
const curPage = localStorage.getItem("currentPage") || "HOME";
2021-05-16 10:35:35 +01:00
return curPage;
}
set currentPage(value: string) {
localStorage.setItem("currentPage", value);
2021-04-15 13:01:58 +01:00
}
}