jpf 4.1.30 → 4.1.31
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/utilities/querystring/querystring.d.ts +4 -2
- package/dist/utilities/querystring/querystring.js +27 -11
- package/dist/utilities/querystring/querystring.js.map +1 -1
- package/dist/utilities/router/router.d.ts +1 -0
- package/dist/utilities/router/router.js +17 -4
- package/dist/utilities/router/router.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare function parameterExists(name: string): boolean;
|
|
2
2
|
export declare function getParameter(name: string): string;
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
3
|
+
export declare function objectToQueryString(object: object): string;
|
|
4
|
+
export declare function getObjectFromQueryString(): object;
|
|
5
|
+
export declare function objectToBase64SQueryString(object: object, parameterName: string): string;
|
|
6
|
+
export declare function getObjectFromBase64QueryString(parameterName: string): object;
|
|
@@ -8,24 +8,25 @@ export function getParameter(name) {
|
|
|
8
8
|
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
|
|
9
9
|
}
|
|
10
10
|
;
|
|
11
|
-
export function
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Object.keys(
|
|
15
|
-
const value =
|
|
11
|
+
export function objectToQueryString(object) {
|
|
12
|
+
if (object && Object.keys(object).length > 0) {
|
|
13
|
+
const parametersArray = new Array();
|
|
14
|
+
Object.keys(object).forEach((key) => {
|
|
15
|
+
const value = object[key];
|
|
16
16
|
parametersArray.push(encodeURIComponent(key) + "=" + encodeURIComponent(value));
|
|
17
17
|
});
|
|
18
|
+
if (parametersArray.length === 0) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return parametersArray.join("&");
|
|
18
22
|
}
|
|
19
|
-
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
return parametersArray.join("&");
|
|
23
|
+
return null;
|
|
23
24
|
}
|
|
24
|
-
export function
|
|
25
|
+
export function getObjectFromQueryString() {
|
|
25
26
|
const result = {};
|
|
26
27
|
const search = window.location.search;
|
|
27
28
|
if (search && search.length > 2) {
|
|
28
|
-
const parameters =
|
|
29
|
+
const parameters = search.split("&");
|
|
29
30
|
if (parameters) {
|
|
30
31
|
parameters.forEach((parameter) => {
|
|
31
32
|
const nameValuePair = parameter.split("=");
|
|
@@ -35,4 +36,19 @@ export function getStateFromQueryString() {
|
|
|
35
36
|
}
|
|
36
37
|
return result;
|
|
37
38
|
}
|
|
39
|
+
export function objectToBase64SQueryString(object, parameterName) {
|
|
40
|
+
if (object && Object.keys(object).length > 0) {
|
|
41
|
+
const stateJson = JSON.stringify(object);
|
|
42
|
+
return parameterName + "=" + btoa(stateJson);
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
export function getObjectFromBase64QueryString(parameterName) {
|
|
47
|
+
const serializedBase64ParameterValue = getParameter(parameterName);
|
|
48
|
+
if (serializedBase64ParameterValue) {
|
|
49
|
+
const objectJson = atob(serializedBase64ParameterValue);
|
|
50
|
+
return JSON.parse(objectJson);
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
38
54
|
//# sourceMappingURL=querystring.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"querystring.js","sourceRoot":"","sources":["../../../src/utilities/querystring/querystring.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,IAAY;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACrF,CAAC;AAAA,CAAC;AAEF,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"querystring.js","sourceRoot":"","sources":["../../../src/utilities/querystring/querystring.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export interface RouterOptions<TRoute> {
|
|
|
3
3
|
urlFunction: (route: TRoute) => string;
|
|
4
4
|
change: (route: TRoute, state: object) => void;
|
|
5
5
|
routeMissing: (pathname: string, state: object) => void;
|
|
6
|
+
routeReadable: boolean;
|
|
6
7
|
root?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare class Router<TRoute> {
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getObjectFromQueryString, getObjectFromBase64QueryString, objectToQueryString, objectToBase64SQueryString } from "../querystring/querystring";
|
|
2
|
+
function getStateFromQueryString(stateReadable) {
|
|
3
|
+
if (stateReadable) {
|
|
4
|
+
return getObjectFromQueryString();
|
|
5
|
+
}
|
|
6
|
+
return getObjectFromBase64QueryString("s");
|
|
7
|
+
}
|
|
8
|
+
function getSerializeState(object, stateReadable) {
|
|
9
|
+
if (stateReadable) {
|
|
10
|
+
return objectToQueryString(object);
|
|
11
|
+
}
|
|
12
|
+
return objectToBase64SQueryString(object, "s");
|
|
13
|
+
}
|
|
2
14
|
export class Router {
|
|
3
15
|
constructor(options) {
|
|
4
16
|
this.options = options;
|
|
@@ -9,7 +21,7 @@ export class Router {
|
|
|
9
21
|
routeDictionary = {};
|
|
10
22
|
popstateHandler(event) {
|
|
11
23
|
const pathname = window.location.pathname;
|
|
12
|
-
const state = event.state || getStateFromQueryString();
|
|
24
|
+
const state = event.state || getStateFromQueryString(this.options.routeReadable);
|
|
13
25
|
const route = this.routeDictionary[pathname];
|
|
14
26
|
if (route) {
|
|
15
27
|
this.options.change(route, state);
|
|
@@ -49,11 +61,12 @@ export class Router {
|
|
|
49
61
|
navigate(route, state, addStateToQueryString = true, triggerChange = true) {
|
|
50
62
|
let url = route;
|
|
51
63
|
if (state && addStateToQueryString) {
|
|
64
|
+
const serializedState = getSerializeState(state, this.options.routeReadable);
|
|
52
65
|
if (url.indexOf("?") > -1) {
|
|
53
|
-
url = url + "&" +
|
|
66
|
+
url = url + "&" + serializedState;
|
|
54
67
|
}
|
|
55
68
|
else {
|
|
56
|
-
url = url + "?" +
|
|
69
|
+
url = url + "?" + serializedState;
|
|
57
70
|
}
|
|
58
71
|
}
|
|
59
72
|
if (!state) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/utilities/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/utilities/router/router.ts"],"names":[],"mappings":"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"}
|