robbyson-frontend-library 0.0.1-rc1
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/dist/components/accordion/accordion.interface.js +1 -0
- package/dist/components/assets/assets.interfaces.js +1 -0
- package/dist/components/badge/badge.interface.js +1 -0
- package/dist/components/balloon/balloon.interface.js +1 -0
- package/dist/components/base-component.prop.interface.js +1 -0
- package/dist/components/base-page.prop.interface.js +1 -0
- package/dist/components/base-test.prop.interface.js +1 -0
- package/dist/components/basic-button/basic-button.interface.js +1 -0
- package/dist/components/checkbox/checkbox.interface.js +1 -0
- package/dist/components/colors/colors.interfaces.js +1 -0
- package/dist/components/context-menu/context-menu.interface.js +1 -0
- package/dist/components/divider/divider.interface.js +1 -0
- package/dist/components/icon-button/icon-button.interface.js +1 -0
- package/dist/components/image-progress-graph/image-progress-graph.interface.js +1 -0
- package/dist/components/index.js +5 -0
- package/dist/components/menu.interface.js +1 -0
- package/dist/components/modal/modal.interface.js +1 -0
- package/dist/components/mood-button/mood-button.interface.js +1 -0
- package/dist/components/pages/base-app-page.component.js +46 -0
- package/dist/components/pages/base-app-page.styles.js +13 -0
- package/dist/components/pagination/pagination.interface.js +1 -0
- package/dist/components/profile-image/profile-image.interface.js +1 -0
- package/dist/components/progress-bar/progress-bar.interface.js +1 -0
- package/dist/components/progress-tracker/progress-tracker.interface.js +1 -0
- package/dist/components/radio-button/radio-button.interface.js +1 -0
- package/dist/components/scroll-box/scroll-box.interface.js +1 -0
- package/dist/components/search-input/search-input.interfaces.js +1 -0
- package/dist/components/select/select.interface.js +1 -0
- package/dist/components/sidebar/sidebar.interface.js +1 -0
- package/dist/components/snackbar/snackbar.interface.js +1 -0
- package/dist/components/speed-dial/speed-dial.interface.js +1 -0
- package/dist/components/spin-edit/spin-edit.interface.js +1 -0
- package/dist/components/switch/switch.interface.js +1 -0
- package/dist/components/tag-expand/tag-expand.interface.js +1 -0
- package/dist/components/tags/tags.interface.js +1 -0
- package/dist/components/text-field/text-field.interface.js +1 -0
- package/dist/components/timer/timer.interface.js +1 -0
- package/dist/components/toggle-icon-button/toggle-icon-button.interface.js +1 -0
- package/dist/components/tooltip/tooltip.interface.js +1 -0
- package/dist/components/transitions/transitions.interfaces.js +1 -0
- package/dist/components/typography/typography.interfaces.js +1 -0
- package/dist/components/upload/upload.interface.js +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/constants/layout-dimensions.constants.js +10 -0
- package/dist/factories/base.factory.js +6 -0
- package/dist/factories/index.js +1 -0
- package/dist/factories/response.factory.js +77 -0
- package/dist/index.js +19 -0
- package/dist/ioc.js +18 -0
- package/dist/models/angel-friend-status.model.js +25 -0
- package/dist/models/base.repository.model.js +6 -0
- package/dist/models/result-level.model.js +24 -0
- package/dist/models/send-user-to-login.model.js +6 -0
- package/dist/models/term-of-use.model.js +24 -0
- package/dist/models/theme-base.js +44 -0
- package/dist/models/user-mirror.model.js +24 -0
- package/dist/models/user-session.model.js +24 -0
- package/dist/repositories/angel-friend.repository.interface.js +1 -0
- package/dist/repositories/authentication.repository.interface.js +1 -0
- package/dist/repositories/base.repository.js +185 -0
- package/dist/repositories/locale.repository.interface.js +1 -0
- package/dist/repositories/results.repository.interface.js +1 -0
- package/dist/repositories/terms-of-use.repository.interface.js +1 -0
- package/dist/repositories/theme.repository.interface.js +1 -0
- package/dist/repositories/user.repository.interface.js +1 -0
- package/dist/services/angel-friend.service.interface.js +1 -0
- package/dist/services/authentication.service.interface.js +1 -0
- package/dist/services/locale.service.interface.js +1 -0
- package/dist/services/results.service.interface.js +1 -0
- package/dist/services/terms-of-use.service.interface.js +1 -0
- package/dist/services/theme.service.interface.js +1 -0
- package/dist/services/user.service.interface.js +1 -0
- package/dist/states/index.js +3 -0
- package/dist/states/main-container/app.state.interface.js +2 -0
- package/dist/states/main-container/plataform.state.interface.js +1 -0
- package/dist/states/main-container/root-app.state.interface.js +1 -0
- package/dist/utils/build-error/buildError.util.interface.js +1 -0
- package/dist/utils/build-error/buildError.util.js +13 -0
- package/dist/utils/cache-control.js +121 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/query-params/index.js +34 -0
- package/dist/utils/robbyson-navigate.js +53 -0
- package/importComponents.js +113 -0
- package/index.d.ts +43 -0
- package/package.json +40 -0
- package/src/components/accordion/accordion.interface.ts +26 -0
- package/src/components/accordion/accordion.types.d.ts +9 -0
- package/src/components/accordion/index.d.ts +1 -0
- package/src/components/assets/assets.interfaces.tsx +5 -0
- package/src/components/assets/assets.types.d.ts +9 -0
- package/src/components/assets/index.d.ts +1 -0
- package/src/components/badge/badge.interface.ts +11 -0
- package/src/components/badge/badge.types.d.ts +9 -0
- package/src/components/badge/index.d.ts +1 -0
- package/src/components/balloon/balloon.interface.ts +14 -0
- package/src/components/balloon/balloon.types.d.ts +9 -0
- package/src/components/balloon/index.d.ts +1 -0
- package/src/components/base-component.prop.interface.tsx +4 -0
- package/src/components/base-page.prop.interface.tsx +4 -0
- package/src/components/base-test.prop.interface.tsx +3 -0
- package/src/components/basic-button/basic-button.interface.tsx +10 -0
- package/src/components/basic-button/basic-button.types.d.ts +9 -0
- package/src/components/basic-button/index.d.ts +1 -0
- package/src/components/checkbox/checkbox.interface.ts +8 -0
- package/src/components/checkbox/checkbox.types.d.ts +9 -0
- package/src/components/checkbox/index.d.ts +1 -0
- package/src/components/colors/colors.interfaces.tsx +5 -0
- package/src/components/colors/colors.types.d.ts +9 -0
- package/src/components/colors/index.d.ts +1 -0
- package/src/components/context-menu/context-menu.interface.ts +22 -0
- package/src/components/context-menu/context-menu.types.d.ts +9 -0
- package/src/components/context-menu/index.d.ts +1 -0
- package/src/components/divider/divider.interface.tsx +4 -0
- package/src/components/divider/divider.types.d.ts +9 -0
- package/src/components/divider/index.d.ts +1 -0
- package/src/components/icon-button/icon-button.interface.ts +7 -0
- package/src/components/icon-button/icon-button.types.d.ts +9 -0
- package/src/components/icon-button/index.d.ts +1 -0
- package/src/components/image-progress-graph/image-progress-graph.interface.ts +13 -0
- package/src/components/image-progress-graph/image-progress-graph.types.d.ts +9 -0
- package/src/components/image-progress-graph/index.d.ts +1 -0
- package/src/components/index.tsx +5 -0
- package/src/components/menu.interface.tsx +10 -0
- package/src/components/modal/index.d.ts +1 -0
- package/src/components/modal/modal.interface.ts +20 -0
- package/src/components/modal/modal.types.d.ts +10 -0
- package/src/components/mood-button/index.d.ts +1 -0
- package/src/components/mood-button/mood-button.interface.ts +10 -0
- package/src/components/mood-button/mood-button.types.d.ts +9 -0
- package/src/components/pages/base-app-page.component.tsx +65 -0
- package/src/components/pages/base-app-page.styles.ts +45 -0
- package/src/components/pagination/index.d.ts +1 -0
- package/src/components/pagination/pagination.interface.ts +14 -0
- package/src/components/pagination/pagination.types.d.ts +10 -0
- package/src/components/profile-image/index.d.ts +1 -0
- package/src/components/profile-image/profile-image.interface.ts +6 -0
- package/src/components/profile-image/profile-image.types.d.ts +9 -0
- package/src/components/progress-bar/index.d.ts +1 -0
- package/src/components/progress-bar/progress-bar.interface.tsx +8 -0
- package/src/components/progress-bar/progress-bar.types.d.ts +9 -0
- package/src/components/progress-tracker/index.d.ts +1 -0
- package/src/components/progress-tracker/progress-tracker.interface.tsx +6 -0
- package/src/components/progress-tracker/progress-tracker.types.d.ts +9 -0
- package/src/components/radio-button/index.d.ts +1 -0
- package/src/components/radio-button/radio-button.interface.ts +5 -0
- package/src/components/radio-button/radio-button.types.d.ts +9 -0
- package/src/components/scroll-box/index.d.ts +1 -0
- package/src/components/scroll-box/scroll-box.interface.ts +9 -0
- package/src/components/scroll-box/scroll-box.types.d.ts +9 -0
- package/src/components/search-input/index.d.ts +1 -0
- package/src/components/search-input/search-input.interfaces.ts +14 -0
- package/src/components/search-input/search-input.types.d.ts +9 -0
- package/src/components/select/index.d.ts +1 -0
- package/src/components/select/select.interface.tsx +18 -0
- package/src/components/select/select.types.d.ts +9 -0
- package/src/components/sidebar/index.d.ts +1 -0
- package/src/components/sidebar/sidebar.interface.ts +12 -0
- package/src/components/sidebar/sidebar.types.d.ts +9 -0
- package/src/components/snackbar/index.d.ts +1 -0
- package/src/components/snackbar/snackbar.interface.ts +16 -0
- package/src/components/snackbar/snackbar.types.d.ts +9 -0
- package/src/components/speed-dial/index.d.ts +1 -0
- package/src/components/speed-dial/speed-dial.interface.ts +16 -0
- package/src/components/speed-dial/speed-dial.types.d.ts +9 -0
- package/src/components/spin-edit/index.d.ts +1 -0
- package/src/components/spin-edit/spin-edit.interface.ts +12 -0
- package/src/components/spin-edit/spin-edit.types.d.ts +9 -0
- package/src/components/switch/index.d.ts +1 -0
- package/src/components/switch/switch.interface.ts +7 -0
- package/src/components/switch/switch.types.d.ts +9 -0
- package/src/components/tag-expand/index.d.ts +1 -0
- package/src/components/tag-expand/tag-expand.interface.ts +9 -0
- package/src/components/tag-expand/tag-expand.types.d.ts +9 -0
- package/src/components/tags/index.d.ts +1 -0
- package/src/components/tags/tags.interface.ts +16 -0
- package/src/components/tags/tags.types.d.ts +9 -0
- package/src/components/text-field/index.d.ts +1 -0
- package/src/components/text-field/text-field.interface.tsx +27 -0
- package/src/components/text-field/text-field.types.d.ts +9 -0
- package/src/components/timer/index.d.ts +1 -0
- package/src/components/timer/timer.interface.ts +12 -0
- package/src/components/timer/timer.types.d.ts +9 -0
- package/src/components/toggle-icon-button/index.d.ts +1 -0
- package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +16 -0
- package/src/components/toggle-icon-button/toggle-icon-button.types.d.ts +9 -0
- package/src/components/tooltip/index.d.ts +1 -0
- package/src/components/tooltip/tooltip.interface.ts +21 -0
- package/src/components/tooltip/tooltip.types.d.ts +9 -0
- package/src/components/transitions/index.d.ts +1 -0
- package/src/components/transitions/transitions.interfaces.ts +5 -0
- package/src/components/transitions/transitions.types.d.ts +9 -0
- package/src/components/typography/index.d.ts +1 -0
- package/src/components/typography/typography.interfaces.tsx +5 -0
- package/src/components/typography/typography.types.d.ts +9 -0
- package/src/components/upload/index.d.ts +1 -0
- package/src/components/upload/upload.interface.tsx +20 -0
- package/src/components/upload/upload.types.d.ts +7 -0
- package/src/constants/index.ts +1 -0
- package/src/constants/layout-dimensions.constants.ts +6 -0
- package/src/factories/base.factory.ts +1 -0
- package/src/factories/index.ts +1 -0
- package/src/factories/response.factory.ts +79 -0
- package/src/index.ts +26 -0
- package/src/ioc.ts +18 -0
- package/src/models/angel-friend-status.model.ts +7 -0
- package/src/models/base.repository.model.ts +3 -0
- package/src/models/index.d.ts +7 -0
- package/src/models/result-level.model.ts +6 -0
- package/src/models/send-user-to-login.model.ts +10 -0
- package/src/models/term-of-use.model.ts +6 -0
- package/src/models/theme-base.ts +171 -0
- package/src/models/user-mirror.model.ts +10 -0
- package/src/models/user-session.model.ts +103 -0
- package/src/repositories/angel-friend.repository.interface.ts +5 -0
- package/src/repositories/authentication.repository.interface.ts +14 -0
- package/src/repositories/base.repository.tsx +128 -0
- package/src/repositories/index.d.ts +7 -0
- package/src/repositories/locale.repository.interface.ts +4 -0
- package/src/repositories/results.repository.interface.ts +5 -0
- package/src/repositories/terms-of-use.repository.interface.ts +6 -0
- package/src/repositories/theme.repository.interface.ts +5 -0
- package/src/repositories/user.repository.interface.ts +15 -0
- package/src/services/angel-friend.service.interface.ts +3 -0
- package/src/services/authentication.service.interface.ts +17 -0
- package/src/services/index.d.ts +7 -0
- package/src/services/locale.service.interface.ts +4 -0
- package/src/services/results.service.interface.ts +3 -0
- package/src/services/terms-of-use.service.interface.ts +7 -0
- package/src/services/theme.service.interface.ts +8 -0
- package/src/services/user.service.interface.ts +14 -0
- package/src/states/index.ts +3 -0
- package/src/states/main-container/app.state.interface.ts +7 -0
- package/src/states/main-container/plataform.state.interface.ts +5 -0
- package/src/states/main-container/root-app.state.interface.ts +15 -0
- package/src/utils/build-error/buildError.util.interface.ts +5 -0
- package/src/utils/build-error/buildError.util.ts +13 -0
- package/src/utils/cache-control.tsx +92 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/query-params/index.ts +38 -0
- package/src/utils/robbyson-navigate.ts +76 -0
- package/tsconfig.json +30 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ThemeBase, UserSessionModel } from "../../models";
|
|
2
|
+
import { BrowserHistory } from "history"
|
|
3
|
+
|
|
4
|
+
export interface IRootApp {
|
|
5
|
+
userSession?: UserSessionModel,
|
|
6
|
+
angelFriendData?: any,
|
|
7
|
+
ipWhiteList: boolean,
|
|
8
|
+
currentLocale?: any,
|
|
9
|
+
currentTheme: ThemeBase,
|
|
10
|
+
apisUrls: {
|
|
11
|
+
private: string
|
|
12
|
+
},
|
|
13
|
+
history: BrowserHistory,
|
|
14
|
+
createGlobalImplementations: () => void,
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { toast } from "react-toastify";
|
|
2
|
+
import { ResponseStatusLogMessages, RobbysonResponseError } from "../../factories";
|
|
3
|
+
|
|
4
|
+
export class BuildError {
|
|
5
|
+
|
|
6
|
+
public static buildError(error: RobbysonResponseError): RobbysonResponseError {
|
|
7
|
+
error.data.map((err: ResponseStatusLogMessages) => {
|
|
8
|
+
return toast.error(err.text);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
return error;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { LOCALSTORAGE, config, createInstance } from 'localforage';
|
|
3
|
+
import moment, { DurationInputArg1, DurationInputArg2 } from 'moment';
|
|
4
|
+
|
|
5
|
+
export type MaxAge = [DurationInputArg1, DurationInputArg2];
|
|
6
|
+
export interface CacheConfig extends AxiosRequestConfig {
|
|
7
|
+
cache?: boolean;
|
|
8
|
+
maxAge?: MaxAge;
|
|
9
|
+
delayOnCache?: number;
|
|
10
|
+
type?: string;
|
|
11
|
+
};
|
|
12
|
+
export type Cache = {
|
|
13
|
+
expire: string;
|
|
14
|
+
value: any
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export class CacheControl {
|
|
18
|
+
|
|
19
|
+
private static dbInstance: LocalForage;
|
|
20
|
+
|
|
21
|
+
static getDbInstance(): LocalForage {
|
|
22
|
+
if (!CacheControl.dbInstance) {
|
|
23
|
+
config({
|
|
24
|
+
driver: LOCALSTORAGE,
|
|
25
|
+
name: 'Robbyson',
|
|
26
|
+
version: 1,
|
|
27
|
+
storeName: 'CacheControl',
|
|
28
|
+
});
|
|
29
|
+
const userAuth = JSON.parse(sessionStorage.getItem('persist:auth') || '{}').data;
|
|
30
|
+
const user = JSON.parse(userAuth || '{}');
|
|
31
|
+
|
|
32
|
+
CacheControl.dbInstance = createInstance({
|
|
33
|
+
name: `cache-${user._id.toString()}`,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return CacheControl.dbInstance;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static getCache(key: string): Promise<Cache> {
|
|
40
|
+
//@ts-ignore
|
|
41
|
+
return this.getDbInstance().getItem(key);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static setCache(key: string, value: any, maxAge: MaxAge, type = ''): void {
|
|
45
|
+
const now = moment();
|
|
46
|
+
const data: any = {
|
|
47
|
+
value,
|
|
48
|
+
type,
|
|
49
|
+
cratedAt: now.toDate().toISOString(),
|
|
50
|
+
expire: now
|
|
51
|
+
.add(maxAge[0], maxAge[1])
|
|
52
|
+
.toDate()
|
|
53
|
+
.toISOString(),
|
|
54
|
+
};
|
|
55
|
+
this.getDbInstance().setItem(key, data);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static async hasCache(): Promise<number> {
|
|
59
|
+
let length: number;
|
|
60
|
+
try {
|
|
61
|
+
length = await this.getDbInstance().length();
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.log(error);
|
|
64
|
+
length = 0;
|
|
65
|
+
}
|
|
66
|
+
return length;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
static clearCache(): void {
|
|
70
|
+
this.getDbInstance()
|
|
71
|
+
.clear()
|
|
72
|
+
.then(() => console.log('Cache purged.'));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
static clearExpiredCache(): void {
|
|
76
|
+
this.getDbInstance()
|
|
77
|
+
.iterate((value: any, key: string, _) => {
|
|
78
|
+
if (
|
|
79
|
+
value &&
|
|
80
|
+
moment(value.expire).isSameOrBefore(moment.now())
|
|
81
|
+
) {
|
|
82
|
+
this.getDbInstance().removeItem(key, () =>
|
|
83
|
+
console.log(`Key ${key} is cleared!`),
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
})
|
|
87
|
+
.then(() =>
|
|
88
|
+
console.log('Iteration has completed, expired cache purged.'),
|
|
89
|
+
)
|
|
90
|
+
.catch(err => err);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class QueryParams {
|
|
2
|
+
public static set(
|
|
3
|
+
filter?: {},
|
|
4
|
+
sort?: {},
|
|
5
|
+
projection?: {},
|
|
6
|
+
limit?: number | string,
|
|
7
|
+
skip?: number | string
|
|
8
|
+
): string {
|
|
9
|
+
let queryParams = "";
|
|
10
|
+
if (filter && Object.keys(filter).length) {
|
|
11
|
+
for (const [key, value] of Object.entries(filter)) {
|
|
12
|
+
queryParams = queryParams + `&$filter.${key}=${value}`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (sort && Object.keys(sort).length) {
|
|
17
|
+
for (const [key, value] of Object.entries(sort)) {
|
|
18
|
+
queryParams = queryParams + `&$sort=${value}${key}`;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (projection && Object.keys(projection).length) {
|
|
23
|
+
for (const [key, value] of Object.entries(projection)) {
|
|
24
|
+
queryParams = queryParams + `&$fields=${value}${key}`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (limit) {
|
|
29
|
+
queryParams = queryParams + `&$limit=${limit}`;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (skip) {
|
|
33
|
+
queryParams = queryParams + `&$skip=${skip}`;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return queryParams;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { GlobalStore, IGlobalStore } from "redux-micro-frontend";
|
|
2
|
+
import { IPlatformState } from "../states";
|
|
3
|
+
import { To } from "history";
|
|
4
|
+
import queryString from "query-string";
|
|
5
|
+
|
|
6
|
+
export class RobbysonNavigate {
|
|
7
|
+
private static _globalStore: IGlobalStore;
|
|
8
|
+
private static _globalState: IPlatformState;
|
|
9
|
+
|
|
10
|
+
static to(url: string) {
|
|
11
|
+
RobbysonNavigate._globalStore = GlobalStore.Get();
|
|
12
|
+
RobbysonNavigate._globalState =
|
|
13
|
+
RobbysonNavigate._globalStore.GetGlobalState();
|
|
14
|
+
|
|
15
|
+
const { history } = RobbysonNavigate._globalState.Global.RootApp;
|
|
16
|
+
|
|
17
|
+
// TODO: Usar a LIB PATH para concatenar a URL
|
|
18
|
+
history.push(`/operacao${url}`);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static back() {
|
|
22
|
+
RobbysonNavigate._globalStore = GlobalStore.Get();
|
|
23
|
+
RobbysonNavigate._globalState =
|
|
24
|
+
RobbysonNavigate._globalStore.GetGlobalState();
|
|
25
|
+
|
|
26
|
+
const { history } = RobbysonNavigate._globalState.Global.RootApp;
|
|
27
|
+
|
|
28
|
+
history.back();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static replace(replace: To, state?: any) {
|
|
32
|
+
RobbysonNavigate._globalStore = GlobalStore.Get();
|
|
33
|
+
RobbysonNavigate._globalState =
|
|
34
|
+
RobbysonNavigate._globalStore.GetGlobalState();
|
|
35
|
+
|
|
36
|
+
const { history } = RobbysonNavigate._globalState.Global.RootApp;
|
|
37
|
+
|
|
38
|
+
history.replace(replace, state);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
static getQueryParams<T>(): T {
|
|
42
|
+
RobbysonNavigate._globalStore = GlobalStore.Get();
|
|
43
|
+
RobbysonNavigate._globalState =
|
|
44
|
+
RobbysonNavigate._globalStore.GetGlobalState();
|
|
45
|
+
|
|
46
|
+
const { history } = RobbysonNavigate._globalState.Global.RootApp;
|
|
47
|
+
|
|
48
|
+
return queryString.parse(history.location.search, {
|
|
49
|
+
sort: false,
|
|
50
|
+
}) as T;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
static setQueryParams(key: string, value: string): void {
|
|
54
|
+
const queryString = new URLSearchParams(
|
|
55
|
+
RobbysonNavigate.getQueryParams<URLSearchParams>()
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
queryString.set(key, value);
|
|
59
|
+
|
|
60
|
+
RobbysonNavigate.replace({
|
|
61
|
+
search: queryString.toString(),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static removeQueryParams(key: string): void {
|
|
66
|
+
const queryString = new URLSearchParams(
|
|
67
|
+
RobbysonNavigate.getQueryParams<URLSearchParams>()
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
queryString.delete(key);
|
|
71
|
+
|
|
72
|
+
RobbysonNavigate.replace({
|
|
73
|
+
search: queryString.toString(),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es5",
|
|
4
|
+
"lib": [
|
|
5
|
+
"dom",
|
|
6
|
+
"dom.iterable",
|
|
7
|
+
"esnext"
|
|
8
|
+
],
|
|
9
|
+
"baseUrl": "./",
|
|
10
|
+
"allowJs": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
|
+
"esModuleInterop": true,
|
|
13
|
+
"allowSyntheticDefaultImports": true,
|
|
14
|
+
"strict": true,
|
|
15
|
+
"forceConsistentCasingInFileNames": true,
|
|
16
|
+
"noFallthroughCasesInSwitch": true,
|
|
17
|
+
"module": "esnext",
|
|
18
|
+
"moduleResolution": "node",
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"isolatedModules": true,
|
|
21
|
+
"noEmit": false,
|
|
22
|
+
"strictPropertyInitialization": false,
|
|
23
|
+
"outDir": "./dist",
|
|
24
|
+
"jsx": "react"
|
|
25
|
+
},
|
|
26
|
+
"include": [
|
|
27
|
+
"src",
|
|
28
|
+
"index.d.ts"
|
|
29
|
+
]
|
|
30
|
+
}
|