@xyo-network/react-app-settings 2.41.37 → 2.41.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -61
- package/dist/cjs/contexts/AppSettings/Storage.js +6 -6
- package/dist/cjs/contexts/AppSettings/Storage.js.map +1 -1
- package/dist/cjs/contexts/AppSettings/StorageBase.js +19 -19
- package/dist/cjs/contexts/AppSettings/StorageBase.js.map +1 -1
- package/dist/docs.json +246 -246
- package/dist/esm/contexts/AppSettings/Storage.js +6 -6
- package/dist/esm/contexts/AppSettings/Storage.js.map +1 -1
- package/dist/esm/contexts/AppSettings/StorageBase.js +20 -20
- package/dist/esm/contexts/AppSettings/StorageBase.js.map +1 -1
- package/dist/types/contexts/AppSettings/Context.d.ts +3 -3
- package/dist/types/contexts/AppSettings/Context.d.ts.map +1 -1
- package/dist/types/contexts/AppSettings/Storage.d.ts +2 -2
- package/dist/types/contexts/AppSettings/Storage.d.ts.map +1 -1
- package/dist/types/contexts/AppSettings/StorageBase.d.ts +6 -6
- package/dist/types/contexts/AppSettings/StorageBase.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/contexts/AppSettings/Context.ts +3 -3
- package/src/contexts/AppSettings/Storage.ts +8 -8
- package/src/contexts/AppSettings/StorageBase.ts +23 -23
|
@@ -17,17 +17,17 @@ export class AppSettingsStorage extends AppSettingsStorageBase {
|
|
|
17
17
|
set developerMode(value) {
|
|
18
18
|
this.setBoolean(AppSettingSlug.Developer, value);
|
|
19
19
|
}
|
|
20
|
-
get navigationType() {
|
|
21
|
-
return this.getString(AppSettingSlug.NavigationType);
|
|
22
|
-
}
|
|
23
|
-
set navigationType(value) {
|
|
24
|
-
this.setString(AppSettingSlug.NavigationType, value);
|
|
25
|
-
}
|
|
26
20
|
get navigationCollapsed() {
|
|
27
21
|
return this.getBoolean(AppSettingSlug.NavigationCollapsed);
|
|
28
22
|
}
|
|
29
23
|
set navigationCollapsed(value) {
|
|
30
24
|
this.setBoolean(AppSettingSlug.NavigationCollapsed, value);
|
|
31
25
|
}
|
|
26
|
+
get navigationType() {
|
|
27
|
+
return this.getString(AppSettingSlug.NavigationType);
|
|
28
|
+
}
|
|
29
|
+
set navigationType(value) {
|
|
30
|
+
this.setString(AppSettingSlug.NavigationType, value);
|
|
31
|
+
}
|
|
32
32
|
}
|
|
33
33
|
//# sourceMappingURL=Storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,OAAO,kBAAmB,SAAQ,sBAAsB;IAC5D,YAAY,MAAM,GAAG,aAAa,EAAE,QAAkC;QACpE,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,iBAAiB,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC9B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,
|
|
1
|
+
{"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,OAAO,kBAAmB,SAAQ,sBAAsB;IAC5D,YAAY,MAAM,GAAG,aAAa,EAAE,QAAkC;QACpE,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,iBAAiB,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC9B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,mBAAmB,CAAC,KAAc;QACpC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAyB,CAAA;IAC9E,CAAC;IAED,IAAI,cAAc,CAAC,KAA2B;QAC5C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { assertDefinedEx } from '@xyo-network/react-shared';
|
|
3
3
|
export class AppSettingsStorageBase {
|
|
4
|
-
prefix;
|
|
5
4
|
defaults;
|
|
5
|
+
prefix;
|
|
6
6
|
constructor(prefix = 'AppSettings', defaults) {
|
|
7
7
|
this.prefix = prefix;
|
|
8
8
|
this.defaults = defaults ?? {};
|
|
@@ -17,12 +17,6 @@ export class AppSettingsStorageBase {
|
|
|
17
17
|
}
|
|
18
18
|
return storedValue !== 'false';
|
|
19
19
|
}
|
|
20
|
-
setBoolean(name, value) {
|
|
21
|
-
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value));
|
|
22
|
-
}
|
|
23
|
-
setNumber(name, value) {
|
|
24
|
-
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value));
|
|
25
|
-
}
|
|
26
20
|
getNumber(name) {
|
|
27
21
|
const storedValue = localStorage.getItem(`${this.prefix}|${name}`);
|
|
28
22
|
if (!storedValue) {
|
|
@@ -33,6 +27,15 @@ export class AppSettingsStorageBase {
|
|
|
33
27
|
}
|
|
34
28
|
return parseFloat(storedValue);
|
|
35
29
|
}
|
|
30
|
+
getObject(name) {
|
|
31
|
+
const storedValue = localStorage.getItem(`${this.prefix}|${name}`);
|
|
32
|
+
const parsedStoredValue = storedValue ? JSON.parse(storedValue) : null;
|
|
33
|
+
if (!parsedStoredValue) {
|
|
34
|
+
assertEx(typeof this.defaults[name] === 'object', 'Default value is not object');
|
|
35
|
+
return assertEx(this.defaults[name], `Missing Default for ${name}`);
|
|
36
|
+
}
|
|
37
|
+
return parsedStoredValue;
|
|
38
|
+
}
|
|
36
39
|
getString(name) {
|
|
37
40
|
const storedValue = localStorage.getItem(`${this.prefix}|${name}`);
|
|
38
41
|
if (!storedValue) {
|
|
@@ -43,9 +46,6 @@ export class AppSettingsStorageBase {
|
|
|
43
46
|
}
|
|
44
47
|
return storedValue;
|
|
45
48
|
}
|
|
46
|
-
setString(name, value) {
|
|
47
|
-
localStorage.setItem(`${this.prefix}|${name}`, value);
|
|
48
|
-
}
|
|
49
49
|
getStringArray(name) {
|
|
50
50
|
const storedValue = localStorage.getItem(`${this.prefix}|${name}`)?.split(',');
|
|
51
51
|
if (!storedValue) {
|
|
@@ -56,20 +56,20 @@ export class AppSettingsStorageBase {
|
|
|
56
56
|
}
|
|
57
57
|
return storedValue;
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
localStorage.setItem(`${this.prefix}|${name}`,
|
|
59
|
+
setBoolean(name, value) {
|
|
60
|
+
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value));
|
|
61
61
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const parsedStoredValue = storedValue ? JSON.parse(storedValue) : null;
|
|
65
|
-
if (!parsedStoredValue) {
|
|
66
|
-
assertEx(typeof this.defaults[name] === 'object', 'Default value is not object');
|
|
67
|
-
return assertEx(this.defaults[name], `Missing Default for ${name}`);
|
|
68
|
-
}
|
|
69
|
-
return parsedStoredValue;
|
|
62
|
+
setNumber(name, value) {
|
|
63
|
+
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value));
|
|
70
64
|
}
|
|
71
65
|
setObject(name, value) {
|
|
72
66
|
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value));
|
|
73
67
|
}
|
|
68
|
+
setString(name, value) {
|
|
69
|
+
localStorage.setItem(`${this.prefix}|${name}`, value);
|
|
70
|
+
}
|
|
71
|
+
setStringArray(name, value) {
|
|
72
|
+
localStorage.setItem(`${this.prefix}|${name}`, value.join(','));
|
|
73
|
+
}
|
|
74
74
|
}
|
|
75
75
|
//# sourceMappingURL=StorageBase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageBase.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/StorageBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,MAAM,OAAO,sBAAsB;IACzB,
|
|
1
|
+
{"version":3,"file":"StorageBase.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/StorageBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { WebAppNavigationType } from '../../WebAppNavigationType';
|
|
3
3
|
export interface AppSettingsContextProps {
|
|
4
|
+
changeNavigationCollapsed?: (value: boolean) => void;
|
|
5
|
+
changeNavigationType?: (value: WebAppNavigationType) => void;
|
|
4
6
|
darkMode?: boolean;
|
|
5
7
|
developerMode?: boolean;
|
|
6
8
|
enableDarkMode?: (value: boolean) => void;
|
|
7
9
|
enableDeveloperMode?: (value: boolean) => void;
|
|
8
|
-
changeNavigationType?: (value: WebAppNavigationType) => void;
|
|
9
|
-
changeNavigationCollapsed?: (value: boolean) => void;
|
|
10
|
-
navigationType?: WebAppNavigationType;
|
|
11
10
|
navigationCollapsed?: boolean;
|
|
11
|
+
navigationType?: WebAppNavigationType;
|
|
12
12
|
}
|
|
13
13
|
export declare const AppSettingsContext: import("react").Context<AppSettingsContextProps>;
|
|
14
14
|
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Context.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGjE,MAAM,WAAW,uBAAuB;IACtC,
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Context.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGjE,MAAM,WAAW,uBAAuB;IACtC,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,eAAO,MAAM,kBAAkB,kDAA8D,CAAA"}
|
|
@@ -6,9 +6,9 @@ export declare class AppSettingsStorage extends AppSettingsStorageBase {
|
|
|
6
6
|
set darkMode(value: boolean);
|
|
7
7
|
get developerMode(): boolean;
|
|
8
8
|
set developerMode(value: boolean);
|
|
9
|
-
get navigationType(): WebAppNavigationType;
|
|
10
|
-
set navigationType(value: WebAppNavigationType);
|
|
11
9
|
get navigationCollapsed(): boolean;
|
|
12
10
|
set navigationCollapsed(value: boolean);
|
|
11
|
+
get navigationType(): WebAppNavigationType;
|
|
12
|
+
set navigationType(value: WebAppNavigationType);
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=Storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,qBAAa,kBAAmB,SAAQ,sBAAsB;gBAChD,MAAM,SAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAItE,IAAI,QAAQ,IAIQ,OAAO,CAF1B;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED,IAAI,aAAa,IAIQ,OAAO,CAF/B;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAE/B;IAED,IAAI,
|
|
1
|
+
{"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,qBAAa,kBAAmB,SAAQ,sBAAsB;gBAChD,MAAM,SAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAItE,IAAI,QAAQ,IAIQ,OAAO,CAF1B;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED,IAAI,aAAa,IAIQ,OAAO,CAF/B;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAE/B;IAED,IAAI,mBAAmB,IAIQ,OAAO,CAFrC;IAED,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAErC;IAED,IAAI,cAAc,IAIQ,oBAAoB,CAF7C;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAE7C;CACF"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export declare class AppSettingsStorageBase {
|
|
2
|
-
private prefix;
|
|
3
2
|
private defaults;
|
|
3
|
+
private prefix;
|
|
4
4
|
constructor(prefix?: string, defaults?: Record<string, unknown>);
|
|
5
5
|
getBoolean(name: string): boolean;
|
|
6
|
-
setBoolean(name: string, value: boolean): void;
|
|
7
|
-
setNumber(name: string, value: number): void;
|
|
8
6
|
getNumber(name: string): number;
|
|
7
|
+
getObject<T>(name: string): T;
|
|
9
8
|
getString(name: string): string;
|
|
10
|
-
setString(name: string, value: string): void;
|
|
11
9
|
getStringArray(name: string): string[];
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
setBoolean(name: string, value: boolean): void;
|
|
11
|
+
setNumber(name: string, value: number): void;
|
|
14
12
|
setObject<T>(name: string, value: T): void;
|
|
13
|
+
setString(name: string, value: string): void;
|
|
14
|
+
setStringArray(name: string, value: string[]): void;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=StorageBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageBase.d.ts","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/StorageBase.ts"],"names":[],"mappings":"AAGA,qBAAa,sBAAsB;IACjC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"StorageBase.d.ts","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/StorageBase.ts"],"names":[],"mappings":"AAGA,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,MAAM,CAAQ;gBACV,MAAM,SAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAK/D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAWjC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAW/B,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAU7B,SAAS,CAAC,IAAI,EAAE,MAAM;IAWtB,cAAc,CAAC,IAAI,EAAE,MAAM;IAW3B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAIvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIrC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIrC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CAGpD"}
|
package/package.json
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.6.16",
|
|
14
|
-
"@xylabs/react-shared": "^2.15.
|
|
15
|
-
"@xyo-network/react-shared": "^2.41.
|
|
14
|
+
"@xylabs/react-shared": "^2.15.12",
|
|
15
|
+
"@xyo-network/react-shared": "^2.41.39"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"@mui/icons-material": "^5",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"react-router-dom": "^6.3.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@xylabs/ts-scripts-yarn3": "2.12.
|
|
26
|
+
"@xylabs/ts-scripts-yarn3": "2.12.29"
|
|
27
27
|
},
|
|
28
28
|
"description": "Common React library for all XYO projects that use React",
|
|
29
29
|
"browser": "dist/esm/index.js",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
},
|
|
69
69
|
"sideEffects": false,
|
|
70
70
|
"types": "dist/types/index.d.ts",
|
|
71
|
-
"version": "2.41.
|
|
71
|
+
"version": "2.41.39"
|
|
72
72
|
}
|
|
@@ -4,14 +4,14 @@ import { WebAppNavigationType } from '../../WebAppNavigationType'
|
|
|
4
4
|
import { appSettingDefault } from './appSettingDefault'
|
|
5
5
|
|
|
6
6
|
export interface AppSettingsContextProps {
|
|
7
|
+
changeNavigationCollapsed?: (value: boolean) => void
|
|
8
|
+
changeNavigationType?: (value: WebAppNavigationType) => void
|
|
7
9
|
darkMode?: boolean
|
|
8
10
|
developerMode?: boolean
|
|
9
11
|
enableDarkMode?: (value: boolean) => void
|
|
10
12
|
enableDeveloperMode?: (value: boolean) => void
|
|
11
|
-
changeNavigationType?: (value: WebAppNavigationType) => void
|
|
12
|
-
changeNavigationCollapsed?: (value: boolean) => void
|
|
13
|
-
navigationType?: WebAppNavigationType
|
|
14
13
|
navigationCollapsed?: boolean
|
|
14
|
+
navigationType?: WebAppNavigationType
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export const AppSettingsContext = createContext<AppSettingsContextProps>(appSettingDefault())
|
|
@@ -24,14 +24,6 @@ export class AppSettingsStorage extends AppSettingsStorageBase {
|
|
|
24
24
|
this.setBoolean(AppSettingSlug.Developer, value)
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
get navigationType() {
|
|
28
|
-
return this.getString(AppSettingSlug.NavigationType) as WebAppNavigationType
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
set navigationType(value: WebAppNavigationType) {
|
|
32
|
-
this.setString(AppSettingSlug.NavigationType, value)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
27
|
get navigationCollapsed() {
|
|
36
28
|
return this.getBoolean(AppSettingSlug.NavigationCollapsed)
|
|
37
29
|
}
|
|
@@ -39,4 +31,12 @@ export class AppSettingsStorage extends AppSettingsStorageBase {
|
|
|
39
31
|
set navigationCollapsed(value: boolean) {
|
|
40
32
|
this.setBoolean(AppSettingSlug.NavigationCollapsed, value)
|
|
41
33
|
}
|
|
34
|
+
|
|
35
|
+
get navigationType() {
|
|
36
|
+
return this.getString(AppSettingSlug.NavigationType) as WebAppNavigationType
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
set navigationType(value: WebAppNavigationType) {
|
|
40
|
+
this.setString(AppSettingSlug.NavigationType, value)
|
|
41
|
+
}
|
|
42
42
|
}
|
|
@@ -2,8 +2,8 @@ import { assertEx } from '@xylabs/assert'
|
|
|
2
2
|
import { assertDefinedEx } from '@xyo-network/react-shared'
|
|
3
3
|
|
|
4
4
|
export class AppSettingsStorageBase {
|
|
5
|
-
private prefix: string
|
|
6
5
|
private defaults: Record<string, unknown>
|
|
6
|
+
private prefix: string
|
|
7
7
|
constructor(prefix = 'AppSettings', defaults?: Record<string, unknown>) {
|
|
8
8
|
this.prefix = prefix
|
|
9
9
|
this.defaults = defaults ?? {}
|
|
@@ -20,14 +20,6 @@ export class AppSettingsStorageBase {
|
|
|
20
20
|
return storedValue !== 'false'
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
public setBoolean(name: string, value: boolean) {
|
|
24
|
-
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public setNumber(name: string, value: number) {
|
|
28
|
-
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))
|
|
29
|
-
}
|
|
30
|
-
|
|
31
23
|
public getNumber(name: string): number {
|
|
32
24
|
const storedValue = localStorage.getItem(`${this.prefix}|${name}`)
|
|
33
25
|
if (!storedValue) {
|
|
@@ -39,6 +31,16 @@ export class AppSettingsStorageBase {
|
|
|
39
31
|
return parseFloat(storedValue)
|
|
40
32
|
}
|
|
41
33
|
|
|
34
|
+
public getObject<T>(name: string): T {
|
|
35
|
+
const storedValue = localStorage.getItem(`${this.prefix}|${name}`)
|
|
36
|
+
const parsedStoredValue = storedValue ? JSON.parse(storedValue) : null
|
|
37
|
+
if (!parsedStoredValue) {
|
|
38
|
+
assertEx(typeof this.defaults[name] === 'object', 'Default value is not object')
|
|
39
|
+
return assertEx(this.defaults[name] as T, `Missing Default for ${name}`)
|
|
40
|
+
}
|
|
41
|
+
return parsedStoredValue as T
|
|
42
|
+
}
|
|
43
|
+
|
|
42
44
|
public getString(name: string) {
|
|
43
45
|
const storedValue = localStorage.getItem(`${this.prefix}|${name}`)
|
|
44
46
|
if (!storedValue) {
|
|
@@ -50,10 +52,6 @@ export class AppSettingsStorageBase {
|
|
|
50
52
|
return storedValue
|
|
51
53
|
}
|
|
52
54
|
|
|
53
|
-
public setString(name: string, value: string) {
|
|
54
|
-
localStorage.setItem(`${this.prefix}|${name}`, value)
|
|
55
|
-
}
|
|
56
|
-
|
|
57
55
|
public getStringArray(name: string) {
|
|
58
56
|
const storedValue = localStorage.getItem(`${this.prefix}|${name}`)?.split(',')
|
|
59
57
|
if (!storedValue) {
|
|
@@ -65,21 +63,23 @@ export class AppSettingsStorageBase {
|
|
|
65
63
|
return storedValue
|
|
66
64
|
}
|
|
67
65
|
|
|
68
|
-
public
|
|
69
|
-
localStorage.setItem(`${this.prefix}|${name}`,
|
|
66
|
+
public setBoolean(name: string, value: boolean) {
|
|
67
|
+
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))
|
|
70
68
|
}
|
|
71
69
|
|
|
72
|
-
public
|
|
73
|
-
|
|
74
|
-
const parsedStoredValue = storedValue ? JSON.parse(storedValue) : null
|
|
75
|
-
if (!parsedStoredValue) {
|
|
76
|
-
assertEx(typeof this.defaults[name] === 'object', 'Default value is not object')
|
|
77
|
-
return assertEx(this.defaults[name] as T, `Missing Default for ${name}`)
|
|
78
|
-
}
|
|
79
|
-
return parsedStoredValue as T
|
|
70
|
+
public setNumber(name: string, value: number) {
|
|
71
|
+
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))
|
|
80
72
|
}
|
|
81
73
|
|
|
82
74
|
public setObject<T>(name: string, value: T) {
|
|
83
75
|
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))
|
|
84
76
|
}
|
|
77
|
+
|
|
78
|
+
public setString(name: string, value: string) {
|
|
79
|
+
localStorage.setItem(`${this.prefix}|${name}`, value)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
public setStringArray(name: string, value: string[]) {
|
|
83
|
+
localStorage.setItem(`${this.prefix}|${name}`, value.join(','))
|
|
84
|
+
}
|
|
85
85
|
}
|