namirasoft-account-react 1.3.0 → 1.3.2
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/Messenger.d.ts +5 -3
- package/dist/Messenger.js +11 -6
- package/dist/Messenger.js.map +1 -1
- package/dist/RouterMaker.d.ts +5 -3
- package/dist/RouterMaker.js +18 -11
- package/dist/RouterMaker.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -5
- package/src/Messenger.ts +14 -8
- package/src/RouterMaker.ts +21 -34
- package/src/index.ts +0 -1
- package/dist/IRouterStateChanger.d.ts +0 -5
- package/dist/IRouterStateChanger.js +0 -3
- package/dist/IRouterStateChanger.js.map +0 -1
- package/src/IRouterStateChanger.ts +0 -7
package/dist/Messenger.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IRouterState } from "./IRouterState";
|
|
2
3
|
export declare class Messenger {
|
|
3
4
|
static Counter: number;
|
|
4
|
-
private
|
|
5
|
-
|
|
5
|
+
private state;
|
|
6
|
+
private setState;
|
|
7
|
+
constructor(state: IRouterState | undefined, setState: React.Dispatch<React.SetStateAction<IRouterState | undefined>>);
|
|
6
8
|
private notify;
|
|
7
9
|
onInformation(text: string): void;
|
|
8
10
|
onSuccess(text: string): void;
|
package/dist/Messenger.js
CHANGED
|
@@ -7,8 +7,9 @@ exports.Messenger = void 0;
|
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const NotificationType_1 = require("./NotificationType");
|
|
9
9
|
class Messenger {
|
|
10
|
-
constructor(
|
|
11
|
-
this.
|
|
10
|
+
constructor(state, setState) {
|
|
11
|
+
this.state = state;
|
|
12
|
+
this.setState = setState;
|
|
12
13
|
this.notify = this.notify.bind(this);
|
|
13
14
|
this.onInformation = this.onInformation.bind(this);
|
|
14
15
|
this.onSuccess = this.onSuccess.bind(this);
|
|
@@ -17,12 +18,14 @@ class Messenger {
|
|
|
17
18
|
this.delNotification = this.delNotification.bind(this);
|
|
18
19
|
}
|
|
19
20
|
notify(message) {
|
|
20
|
-
let state = this.
|
|
21
|
+
let state = this.state;
|
|
22
|
+
if (!state)
|
|
23
|
+
state = {};
|
|
21
24
|
let id = Messenger.Counter++;
|
|
22
25
|
if (!state.notifications)
|
|
23
26
|
state.notifications = [];
|
|
24
27
|
state.notifications[id] = message;
|
|
25
|
-
this.
|
|
28
|
+
this.setState(state);
|
|
26
29
|
setTimeout(() => {
|
|
27
30
|
this.delNotification(id);
|
|
28
31
|
}, 5000);
|
|
@@ -51,10 +54,12 @@ class Messenger {
|
|
|
51
54
|
this.notify({ text, type: NotificationType_1.NotificationType.Error, color: "red" });
|
|
52
55
|
}
|
|
53
56
|
delNotification(id) {
|
|
54
|
-
let state = this.
|
|
57
|
+
let state = this.state;
|
|
58
|
+
if (!state)
|
|
59
|
+
state = {};
|
|
55
60
|
if (state.notifications)
|
|
56
61
|
delete state.notifications[id];
|
|
57
|
-
this.
|
|
62
|
+
this.setState(state);
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
exports.Messenger = Messenger;
|
package/dist/Messenger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Messenger.js","sourceRoot":"","sources":["../src/Messenger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"Messenger.js","sourceRoot":"","sources":["../src/Messenger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,yDAAsD;AAGtD,MAAa,SAAS;IAKlB,YAAY,KAA+B,EAAE,QAAwE;QAEjH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IACO,MAAM,CAAC,OAAqB;QAEhC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK;YACN,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,aAAa;YACpB,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;QAC7B,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,UAAU,CAAC,GAAG,EAAE;YAEZ,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,aAAa,CAAC,IAAY;QAEtB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,mCAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,SAAS,CAAC,IAAY;QAElB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,mCAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,SAAS,CAAC,IAAY;QAElB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,mCAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,CAAC,KAAqB;;QAEzB,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,IAAI,KAAK,YAAY,KAAK,EAC1B;YACI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC;gBACzB,IAAI,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI;oBACpB,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;SACtC;;YAEG,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,mCAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,eAAe,CAAC,EAAU;QAEtB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK;YACN,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,aAAa;YACnB,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;;AAlEL,8BAmEC;AAjEU,iBAAO,GAAW,CAAC,CAAC"}
|
package/dist/RouterMaker.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
2
|
import { ParsedNameValue } from "namirasoft-core";
|
|
3
|
-
import { IRouterStateChanger } from "./IRouterStateChanger";
|
|
4
3
|
import { IRouterMaker } from "./IRouterMaker";
|
|
4
|
+
import { IRouterState } from "./IRouterState";
|
|
5
5
|
export default class RouterMaker {
|
|
6
|
+
private state;
|
|
7
|
+
private setState;
|
|
6
8
|
private component;
|
|
7
|
-
constructor(
|
|
9
|
+
constructor(state: IRouterState | undefined, setState: React.Dispatch<React.SetStateAction<IRouterState | undefined>>, component: IRouterMaker);
|
|
8
10
|
private init;
|
|
9
11
|
getQuery(name: string): string;
|
|
10
12
|
getLink(sub: string, customQuery: {
|
|
@@ -13,6 +15,6 @@ export default class RouterMaker {
|
|
|
13
15
|
redirect(sub: string, customQuery: {
|
|
14
16
|
[name: string]: ParsedNameValue;
|
|
15
17
|
}): void;
|
|
16
|
-
|
|
18
|
+
onUseEffect(): void;
|
|
17
19
|
onRender(): ReactNode;
|
|
18
20
|
}
|
package/dist/RouterMaker.js
CHANGED
|
@@ -7,20 +7,23 @@ const query_string_1 = __importDefault(require("query-string"));
|
|
|
7
7
|
const namirasoft_core_1 = require("namirasoft-core");
|
|
8
8
|
const Messenger_1 = require("./Messenger");
|
|
9
9
|
const namirasoft_account_1 = require("namirasoft-account");
|
|
10
|
+
const react_router_dom_1 = require("react-router-dom");
|
|
10
11
|
const axios_1 = __importDefault(require("axios"));
|
|
11
12
|
class RouterMaker {
|
|
12
|
-
constructor(component) {
|
|
13
|
+
constructor(state, setState, component) {
|
|
14
|
+
this.state = state;
|
|
15
|
+
this.setState = setState;
|
|
13
16
|
this.component = component;
|
|
14
17
|
this.init = this.init.bind(this);
|
|
15
18
|
this.getQuery = this.getQuery.bind(this);
|
|
16
19
|
this.getLink = this.getLink.bind(this);
|
|
17
20
|
this.redirect = this.redirect.bind(this);
|
|
18
|
-
this.
|
|
21
|
+
this.onUseEffect = this.onUseEffect.bind(this);
|
|
19
22
|
this.onRender = this.onRender.bind(this);
|
|
20
23
|
}
|
|
21
24
|
init() {
|
|
22
|
-
var _a;
|
|
23
|
-
let messenger = new Messenger_1.Messenger(this.
|
|
25
|
+
var _a, _b;
|
|
26
|
+
let messenger = new Messenger_1.Messenger(this.state, this.setState);
|
|
24
27
|
let qStorage = this.getQuery("location");
|
|
25
28
|
let qAPI = this.getQuery("api");
|
|
26
29
|
let qToken = this.getQuery("token");
|
|
@@ -32,7 +35,7 @@ class RouterMaker {
|
|
|
32
35
|
storage = new namirasoft_core_1.IStorageMemory();
|
|
33
36
|
else
|
|
34
37
|
storage = new namirasoft_core_1.IStorageLocal();
|
|
35
|
-
let token_manager = new namirasoft_account_1.TokenManager(storage, () => this.
|
|
38
|
+
let token_manager = new namirasoft_account_1.TokenManager(storage, () => this.setState({}));
|
|
36
39
|
if (qToken)
|
|
37
40
|
token_manager.setValue(qToken, true);
|
|
38
41
|
let server = new namirasoft_account_1.NamirasoftAccountServer(token_manager, (error) => {
|
|
@@ -60,10 +63,11 @@ class RouterMaker {
|
|
|
60
63
|
};
|
|
61
64
|
let inited = true;
|
|
62
65
|
if (qToken)
|
|
63
|
-
inited = (_a = this.
|
|
66
|
+
inited = (_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a.inited) !== null && _b !== void 0 ? _b : false;
|
|
64
67
|
return { props, inited };
|
|
65
68
|
}
|
|
66
69
|
getQuery(name) {
|
|
70
|
+
const location = (0, react_router_dom_1.useLocation)();
|
|
67
71
|
let query = query_string_1.default.parse(location.search);
|
|
68
72
|
let item = query[name];
|
|
69
73
|
return new namirasoft_core_1.ObjectService(item).getString();
|
|
@@ -71,26 +75,29 @@ class RouterMaker {
|
|
|
71
75
|
getLink(sub, customQuery) {
|
|
72
76
|
if (!customQuery)
|
|
73
77
|
customQuery = {};
|
|
78
|
+
const location = (0, react_router_dom_1.useLocation)();
|
|
74
79
|
let query = query_string_1.default.parse(location.search);
|
|
75
80
|
let final = Object.assign(Object.assign({}, query), customQuery);
|
|
76
81
|
return namirasoft_core_1.URLOperation.getLink("", sub, final);
|
|
77
82
|
}
|
|
78
83
|
redirect(sub, customQuery) {
|
|
79
|
-
|
|
84
|
+
const navigate = (0, react_router_dom_1.useNavigate)();
|
|
85
|
+
let ans = this.getLink(sub, customQuery);
|
|
86
|
+
navigate(ans);
|
|
80
87
|
}
|
|
81
|
-
|
|
88
|
+
onUseEffect() {
|
|
82
89
|
let { inited, props } = this.init();
|
|
83
|
-
this.
|
|
90
|
+
this.setState({ notifications: [], inited });
|
|
84
91
|
let token = this.getQuery("token");
|
|
85
92
|
if (token) {
|
|
86
93
|
if (!props.account.token_manager.getUserData(u => u.id, "")) {
|
|
87
94
|
props.account.server.session.Current()
|
|
88
95
|
.then(response => {
|
|
89
96
|
props.account.token_manager.set(response, false);
|
|
90
|
-
this.
|
|
97
|
+
this.setState({ inited: true });
|
|
91
98
|
})
|
|
92
99
|
.catch(() => {
|
|
93
|
-
this.
|
|
100
|
+
this.setState({ inited: true });
|
|
94
101
|
});
|
|
95
102
|
}
|
|
96
103
|
}
|
package/dist/RouterMaker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterMaker.js","sourceRoot":"","sources":["../src/RouterMaker.ts"],"names":[],"mappings":";;;;;AAEA,gEAAuC;AACvC,qDAAwH;
|
|
1
|
+
{"version":3,"file":"RouterMaker.js","sourceRoot":"","sources":["../src/RouterMaker.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -21,7 +21,6 @@ exports.RouterMaker = void 0;
|
|
|
21
21
|
__exportStar(require("./IAccountProps"), exports);
|
|
22
22
|
__exportStar(require("./IRouterMaker"), exports);
|
|
23
23
|
__exportStar(require("./IRouterState"), exports);
|
|
24
|
-
__exportStar(require("./IRouterStateChanger"), exports);
|
|
25
24
|
__exportStar(require("./Messenger"), exports);
|
|
26
25
|
__exportStar(require("./Notification"), exports);
|
|
27
26
|
__exportStar(require("./NotificationType"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B;AAC/B,8CAA4B;AAC5B,iDAA+B;AAC/B,qDAAmC;AACnC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe"}
|
package/package.json
CHANGED
|
@@ -8,16 +8,18 @@
|
|
|
8
8
|
"framework": "npm",
|
|
9
9
|
"application": "package",
|
|
10
10
|
"private": false,
|
|
11
|
-
"version": "1.3.
|
|
11
|
+
"version": "1.3.2",
|
|
12
12
|
"main": "./dist/index.js",
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
14
14
|
"author": "Amir Abolhasani",
|
|
15
15
|
"license": "MIT",
|
|
16
|
-
"scripts": {
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": ""
|
|
18
|
+
},
|
|
17
19
|
"dependencies": {
|
|
18
|
-
"@types/react": "^18.2.
|
|
19
|
-
"namirasoft-account": "^1.3.
|
|
20
|
-
"namirasoft-core": "^1.3.
|
|
20
|
+
"@types/react": "^18.2.70",
|
|
21
|
+
"namirasoft-account": "^1.3.7",
|
|
22
|
+
"namirasoft-core": "^1.3.11",
|
|
21
23
|
"query-string": "^9.0.0",
|
|
22
24
|
"react": "^18.2.0",
|
|
23
25
|
"react-router-dom": "^6.22.3",
|
package/src/Messenger.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
|
-
import { IRouterStateChanger } from "./IRouterStateChanger";
|
|
3
2
|
import { Notification } from "./Notification";
|
|
4
3
|
import { NotificationType } from "./NotificationType";
|
|
4
|
+
import { IRouterState } from "./IRouterState";
|
|
5
5
|
|
|
6
6
|
export class Messenger
|
|
7
7
|
{
|
|
8
8
|
static Counter: number = 1;
|
|
9
|
-
private
|
|
10
|
-
|
|
9
|
+
private state: IRouterState | undefined;
|
|
10
|
+
private setState: React.Dispatch<React.SetStateAction<IRouterState | undefined>>;
|
|
11
|
+
constructor(state: IRouterState | undefined, setState: React.Dispatch<React.SetStateAction<IRouterState | undefined>>)
|
|
11
12
|
{
|
|
12
|
-
this.
|
|
13
|
+
this.state = state;
|
|
14
|
+
this.setState = setState;
|
|
13
15
|
this.notify = this.notify.bind(this);
|
|
14
16
|
this.onInformation = this.onInformation.bind(this);
|
|
15
17
|
this.onSuccess = this.onSuccess.bind(this);
|
|
@@ -19,12 +21,14 @@ export class Messenger
|
|
|
19
21
|
}
|
|
20
22
|
private notify(message: Notification)
|
|
21
23
|
{
|
|
22
|
-
let state = this.
|
|
24
|
+
let state = this.state;
|
|
25
|
+
if (!state)
|
|
26
|
+
state = {};
|
|
23
27
|
let id = Messenger.Counter++;
|
|
24
28
|
if (!state.notifications)
|
|
25
29
|
state.notifications = [];
|
|
26
30
|
state.notifications[id] = message;
|
|
27
|
-
this.
|
|
31
|
+
this.setState(state);
|
|
28
32
|
setTimeout(() =>
|
|
29
33
|
{
|
|
30
34
|
this.delNotification(id);
|
|
@@ -59,9 +63,11 @@ export class Messenger
|
|
|
59
63
|
}
|
|
60
64
|
delNotification(id: number): void
|
|
61
65
|
{
|
|
62
|
-
let state = this.
|
|
66
|
+
let state = this.state;
|
|
67
|
+
if (!state)
|
|
68
|
+
state = {};
|
|
63
69
|
if (state.notifications)
|
|
64
70
|
delete state.notifications[id];
|
|
65
|
-
this.
|
|
71
|
+
this.setState(state);
|
|
66
72
|
}
|
|
67
73
|
}
|
package/src/RouterMaker.ts
CHANGED
|
@@ -2,43 +2,34 @@
|
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
3
|
import queryString from 'query-string';
|
|
4
4
|
import { IStorage, IStorageLocal, IStorageMemory, ObjectService, ParsedNameValue, URLOperation } from "namirasoft-core";
|
|
5
|
-
import { IRouterStateChanger } from "./IRouterStateChanger";
|
|
6
5
|
import { Messenger } from "./Messenger";
|
|
7
6
|
import { NamirasoftAccountServer, TokenManager } from "namirasoft-account";
|
|
8
7
|
import { IAccountProps } from "./IAccountProps";
|
|
9
8
|
import { IRouterMaker } from "./IRouterMaker";
|
|
9
|
+
import { useLocation, useNavigate } from 'react-router-dom';
|
|
10
10
|
import axios from "axios";
|
|
11
|
-
|
|
12
|
-
// import { RouteComponentProps } from 'react-router-dom';
|
|
13
|
-
|
|
14
|
-
// todo
|
|
15
|
-
// interface IProps extends RouteComponentProps
|
|
16
|
-
// {
|
|
17
|
-
// }
|
|
11
|
+
import { IRouterState } from "./IRouterState";
|
|
18
12
|
|
|
19
13
|
export default class RouterMaker
|
|
20
14
|
{
|
|
21
|
-
private
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
constructor(
|
|
25
|
-
// todo
|
|
26
|
-
// , props: IProps
|
|
27
|
-
)
|
|
15
|
+
private state: IRouterState | undefined;
|
|
16
|
+
private setState: React.Dispatch<React.SetStateAction<IRouterState | undefined>>;
|
|
17
|
+
private component: IRouterMaker;
|
|
18
|
+
constructor(state: IRouterState | undefined, setState: React.Dispatch<React.SetStateAction<IRouterState | undefined>>, component: IRouterMaker)
|
|
28
19
|
{
|
|
20
|
+
this.state = state;
|
|
21
|
+
this.setState = setState;
|
|
29
22
|
this.component = component;
|
|
30
|
-
// todo
|
|
31
|
-
// this.props = props;
|
|
32
23
|
this.init = this.init.bind(this);
|
|
33
24
|
this.getQuery = this.getQuery.bind(this);
|
|
34
25
|
this.getLink = this.getLink.bind(this);
|
|
35
26
|
this.redirect = this.redirect.bind(this);
|
|
36
|
-
this.
|
|
27
|
+
this.onUseEffect = this.onUseEffect.bind(this);
|
|
37
28
|
this.onRender = this.onRender.bind(this);
|
|
38
29
|
}
|
|
39
30
|
private init(): { props: IAccountProps, inited: boolean }
|
|
40
31
|
{
|
|
41
|
-
let messenger: Messenger = new Messenger(this.
|
|
32
|
+
let messenger: Messenger = new Messenger(this.state, this.setState);
|
|
42
33
|
let qStorage: string = this.getQuery("location");
|
|
43
34
|
let qAPI: string = this.getQuery("api");
|
|
44
35
|
let qToken: string = this.getQuery("token");
|
|
@@ -50,7 +41,7 @@ export default class RouterMaker
|
|
|
50
41
|
storage = new IStorageMemory();
|
|
51
42
|
else
|
|
52
43
|
storage = new IStorageLocal();
|
|
53
|
-
let token_manager = new TokenManager(storage, () => this.
|
|
44
|
+
let token_manager = new TokenManager(storage, () => this.setState({}));
|
|
54
45
|
if (qToken)
|
|
55
46
|
token_manager.setValue(qToken, true);
|
|
56
47
|
let server = new NamirasoftAccountServer(token_manager, (error: Error) =>
|
|
@@ -74,19 +65,17 @@ export default class RouterMaker
|
|
|
74
65
|
getLink: this.getLink,
|
|
75
66
|
redirect: this.redirect,
|
|
76
67
|
getQuery: this.getQuery,
|
|
77
|
-
// todo
|
|
78
|
-
// ...this.props
|
|
79
68
|
},
|
|
80
69
|
messenger,
|
|
81
70
|
};
|
|
82
71
|
let inited = true;
|
|
83
72
|
if (qToken)
|
|
84
|
-
inited = this.
|
|
73
|
+
inited = this.state?.inited ?? false;
|
|
85
74
|
return { props, inited };
|
|
86
75
|
}
|
|
87
76
|
getQuery(name: string): string
|
|
88
77
|
{
|
|
89
|
-
|
|
78
|
+
const location = useLocation();
|
|
90
79
|
let query = queryString.parse(location.search);
|
|
91
80
|
let item = query[name];
|
|
92
81
|
return new ObjectService(item).getString();
|
|
@@ -95,23 +84,21 @@ export default class RouterMaker
|
|
|
95
84
|
{
|
|
96
85
|
if (!customQuery)
|
|
97
86
|
customQuery = {};
|
|
98
|
-
|
|
87
|
+
const location = useLocation();
|
|
99
88
|
let query = queryString.parse(location.search);
|
|
100
89
|
let final = { ...query, ...customQuery };
|
|
101
90
|
return URLOperation.getLink("", sub, final);
|
|
102
91
|
}
|
|
103
92
|
redirect(sub: string, customQuery: { [name: string]: ParsedNameValue }): void
|
|
104
93
|
{
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
// const { history } = this.props;
|
|
109
|
-
// history.push(ans);
|
|
94
|
+
const navigate = useNavigate();
|
|
95
|
+
let ans = this.getLink(sub, customQuery);
|
|
96
|
+
navigate(ans);
|
|
110
97
|
}
|
|
111
|
-
|
|
98
|
+
onUseEffect(): void
|
|
112
99
|
{
|
|
113
100
|
let { inited, props } = this.init();
|
|
114
|
-
this.
|
|
101
|
+
this.setState({ notifications: [], inited });
|
|
115
102
|
let token = this.getQuery("token");
|
|
116
103
|
if (token)
|
|
117
104
|
{
|
|
@@ -121,11 +108,11 @@ export default class RouterMaker
|
|
|
121
108
|
.then(response =>
|
|
122
109
|
{
|
|
123
110
|
props.account.token_manager.set(response, false);
|
|
124
|
-
this.
|
|
111
|
+
this.setState({ inited: true });
|
|
125
112
|
})
|
|
126
113
|
.catch(() =>
|
|
127
114
|
{
|
|
128
|
-
this.
|
|
115
|
+
this.setState({ inited: true });
|
|
129
116
|
});
|
|
130
117
|
}
|
|
131
118
|
}
|
package/src/index.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IRouterStateChanger.js","sourceRoot":"","sources":["../src/IRouterStateChanger.ts"],"names":[],"mappings":""}
|