@sambath999/localize-token 18.0.4 → 18.0.6
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/esm2022/localize-logindlg/localize-logindlg.component.mjs +210 -0
- package/esm2022/localize-logindlg/localize-logindlg.module.mjs +39 -0
- package/esm2022/localize-logindlg/localize-logindlg.service.mjs +33 -0
- package/esm2022/localize-logindlg/public-api.mjs +4 -0
- package/esm2022/localize-token/localize.api.service.mjs +138 -0
- package/esm2022/localize-token/localize.token.mjs +54 -0
- package/esm2022/{lib → localize-token}/localize.token.module.mjs +1 -1
- package/esm2022/localize-token/localize.token.service.mjs +61 -0
- package/esm2022/localize-token/localize.token.storage.mjs +113 -0
- package/esm2022/localize-token/public-api.mjs +6 -0
- package/esm2022/public-api.mjs +3 -2
- package/fesm2022/sambath999-localize-token.mjs +272 -2
- package/fesm2022/sambath999-localize-token.mjs.map +1 -1
- package/localize-logindlg/localize-logindlg.component.d.ts +32 -0
- package/localize-logindlg/localize-logindlg.module.d.ts +12 -0
- package/localize-logindlg/localize-logindlg.service.d.ts +10 -0
- package/localize-logindlg/public-api.d.ts +3 -0
- package/localize-token/public-api.d.ts +5 -0
- package/package.json +6 -11
- package/public-api.d.ts +2 -1
- package/esm2022/lib/index.mjs +0 -6
- package/esm2022/lib/localize.api.service.mjs +0 -138
- package/esm2022/lib/localize.token.mjs +0 -54
- package/esm2022/lib/localize.token.service.mjs +0 -61
- package/esm2022/lib/localize.token.storage.mjs +0 -113
- package/lib/index.d.ts +0 -5
- /package/{lib → localize-token}/localize.api.service.d.ts +0 -0
- /package/{lib → localize-token}/localize.token.d.ts +0 -0
- /package/{lib → localize-token}/localize.token.module.d.ts +0 -0
- /package/{lib → localize-token}/localize.token.service.d.ts +0 -0
- /package/{lib → localize-token}/localize.token.storage.d.ts +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { LocalizeToken } from './localize.token';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import * as jwt_decode from 'jwt-decode';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class LocalizeTokenService {
|
|
7
|
+
isRevokingTokenSubject = new BehaviorSubject(false);
|
|
8
|
+
get authToken() { return this.storageGet(); }
|
|
9
|
+
set authToken(value) {
|
|
10
|
+
value
|
|
11
|
+
? this.storageSet(value)
|
|
12
|
+
: LocalizeToken.storage.delete(LocalizeToken.config.authTokenName);
|
|
13
|
+
}
|
|
14
|
+
get refreshToken() { return LocalizeToken.storage.get(LocalizeToken.config.refreshTokenName); }
|
|
15
|
+
get accessToken() { return this.authToken?.token; }
|
|
16
|
+
set accessToken(value) {
|
|
17
|
+
if (value) {
|
|
18
|
+
this.authToken = { token: value, revoke: false };
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get isRevokingToken() { return this.isRevokingTokenSubject.value; /* this.authToken?.revoke ?? false */ }
|
|
22
|
+
set isRevokingToken(value) {
|
|
23
|
+
this.isRevokingTokenSubject.next(value);
|
|
24
|
+
if (this.authToken) {
|
|
25
|
+
this.authToken = { ...this.authToken, revoke: value };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
get tenantToken() { return LocalizeToken.storage.get(LocalizeToken.config.tenantTokenName); }
|
|
29
|
+
constructor() { }
|
|
30
|
+
storageGet() {
|
|
31
|
+
try {
|
|
32
|
+
const encoded = LocalizeToken.storage.get(LocalizeToken.config.authTokenName);
|
|
33
|
+
const decoded = atob(encoded || '');
|
|
34
|
+
return JSON.parse(decoded);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
storageSet(value) {
|
|
41
|
+
const base64 = btoa(JSON.stringify(value));
|
|
42
|
+
LocalizeToken.storage.set(LocalizeToken.config.authTokenName, base64);
|
|
43
|
+
}
|
|
44
|
+
tokensValid() {
|
|
45
|
+
return this.refreshToken?.length && (!LocalizeToken.config.needTenant || this.tenantToken?.length);
|
|
46
|
+
}
|
|
47
|
+
decodeToken = (token) => jwt_decode.jwtDecode(token);
|
|
48
|
+
get decodeRefreshToken() {
|
|
49
|
+
const token = LocalizeToken.storage.get(LocalizeToken.config.refreshTokenName);
|
|
50
|
+
if (!token)
|
|
51
|
+
return null;
|
|
52
|
+
return this.decodeToken(token);
|
|
53
|
+
}
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeTokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeTokenService, providedIn: 'root' });
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeTokenService, decorators: [{
|
|
58
|
+
type: Injectable,
|
|
59
|
+
args: [{ providedIn: 'root' }]
|
|
60
|
+
}], ctorParameters: () => [] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7O0FBaUJ6QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3BCLHNCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXRFLElBQVksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBLENBQUMsQ0FBQztJQUNwRCxJQUFZLFNBQVMsQ0FBQyxLQUE2QjtRQUMvQyxLQUFLO1lBQ0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJLFlBQVksS0FBSyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDOUYsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFFbEQsSUFBSSxXQUFXLENBQUMsS0FBeUI7UUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQTtRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDeEcsSUFBSSxlQUFlLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzFELENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxXQUFXLEtBQUssT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUU1RixnQkFBZ0IsQ0FBQztJQUVULFVBQVU7UUFDZCxJQUFJLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBZSxDQUFDO1FBQzdDLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDTCxPQUFPLFNBQVMsQ0FBQTtRQUNwQixDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFpQjtRQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsV0FBVyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFhLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLElBQUksa0JBQWtCO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO3dHQXZEUSxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQURQLE1BQU07OzRGQUNuQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuIH0gZnJvbSAnLi9sb2NhbGl6ZS50b2tlbic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBqd3RfZGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnO1xyXG5leHBvcnQgaW50ZXJmYWNlIEp3dFBheWxvYWQgZXh0ZW5kcyBqd3RfZGVjb2RlLkp3dFBheWxvYWQge1xyXG4gICAgLy8gRGVmaW5lIHRoZSBzdHJ1Y3R1cmUgb2YgeW91ciBKV1QgcGF5bG9hZCBoZXJlXHJcbiAgICBlbWFpbDogc3RyaW5nO1xyXG4gICAgc3ViOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpYXQ6IG51bWJlcjtcclxuICAgIGV4cDogbnVtYmVyO1xyXG4gICAgLy8gQWRkIG90aGVyIGZpZWxkcyBhcyBuZWVkZWRcclxufVxyXG5cclxuaW50ZXJmYWNlIElBdXRoVG9rZW4ge1xyXG4gICAgdG9rZW46IHN0cmluZztcclxuICAgIHJldm9rZTogYm9vbGVhbjtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplVG9rZW5TZXJ2aWNlIHtcclxuICAgIHJlYWRvbmx5IGlzUmV2b2tpbmdUb2tlblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICBwcml2YXRlIGdldCBhdXRoVG9rZW4oKSB7IHJldHVybiB0aGlzLnN0b3JhZ2VHZXQoKSB9XHJcbiAgICBwcml2YXRlIHNldCBhdXRoVG9rZW4odmFsdWU6IElBdXRoVG9rZW4gfCB1bmRlZmluZWQpIHtcclxuICAgICAgICB2YWx1ZVxyXG4gICAgICAgICAgICA/IHRoaXMuc3RvcmFnZVNldCh2YWx1ZSlcclxuICAgICAgICAgICAgOiBMb2NhbGl6ZVRva2VuLnN0b3JhZ2UuZGVsZXRlKExvY2FsaXplVG9rZW4uY29uZmlnLmF1dGhUb2tlbk5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByZWZyZXNoVG9rZW4oKSB7IHJldHVybiBMb2NhbGl6ZVRva2VuLnN0b3JhZ2UuZ2V0KExvY2FsaXplVG9rZW4uY29uZmlnLnJlZnJlc2hUb2tlbk5hbWUpIH1cclxuICAgIGdldCBhY2Nlc3NUb2tlbigpIHsgcmV0dXJuIHRoaXMuYXV0aFRva2VuPy50b2tlbiB9XHJcblxyXG4gICAgc2V0IGFjY2Vzc1Rva2VuKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5hdXRoVG9rZW4gPSB7IHRva2VuOiB2YWx1ZSwgcmV2b2tlOiBmYWxzZSB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc1Jldm9raW5nVG9rZW4oKSB7IHJldHVybiB0aGlzLmlzUmV2b2tpbmdUb2tlblN1YmplY3QudmFsdWUgLyogdGhpcy5hdXRoVG9rZW4/LnJldm9rZSA/PyBmYWxzZSAqLyB9XHJcbiAgICBzZXQgaXNSZXZva2luZ1Rva2VuKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5pc1Jldm9raW5nVG9rZW5TdWJqZWN0Lm5leHQodmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLmF1dGhUb2tlbikge1xyXG4gICAgICAgICAgICB0aGlzLmF1dGhUb2tlbiA9IHsgLi4udGhpcy5hdXRoVG9rZW4sIHJldm9rZTogdmFsdWUgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHRlbmFudFRva2VuKCkgeyByZXR1cm4gTG9jYWxpemVUb2tlbi5zdG9yYWdlLmdldChMb2NhbGl6ZVRva2VuLmNvbmZpZy50ZW5hbnRUb2tlbk5hbWUpIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIHByaXZhdGUgc3RvcmFnZUdldCgpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBlbmNvZGVkID0gTG9jYWxpemVUb2tlbi5zdG9yYWdlLmdldChMb2NhbGl6ZVRva2VuLmNvbmZpZy5hdXRoVG9rZW5OYW1lKTtcclxuICAgICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGF0b2IoZW5jb2RlZCB8fCAnJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpIGFzIElBdXRoVG9rZW47XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2V0KHZhbHVlOiBJQXV0aFRva2VuKSB7XHJcbiAgICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gICAgICAgIExvY2FsaXplVG9rZW4uc3RvcmFnZS5zZXQoTG9jYWxpemVUb2tlbi5jb25maWcuYXV0aFRva2VuTmFtZSwgYmFzZTY0KTtcclxuICAgIH1cclxuXHJcbiAgICB0b2tlbnNWYWxpZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW4/Lmxlbmd0aCAmJiAoIUxvY2FsaXplVG9rZW4uY29uZmlnLm5lZWRUZW5hbnQgfHwgdGhpcy50ZW5hbnRUb2tlbj8ubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWNvZGVUb2tlbiA9ICh0b2tlbjogc3RyaW5nKSA9PiBqd3RfZGVjb2RlLmp3dERlY29kZTxKd3RQYXlsb2FkPih0b2tlbik7XHJcbiAgICBnZXQgZGVjb2RlUmVmcmVzaFRva2VuKCkge1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gTG9jYWxpemVUb2tlbi5zdG9yYWdlLmdldChMb2NhbGl6ZVRva2VuLmNvbmZpZy5yZWZyZXNoVG9rZW5OYW1lKTtcclxuICAgICAgICBpZiAoIXRva2VuKSByZXR1cm4gbnVsbDtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWNvZGVUb2tlbih0b2tlbik7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assembly of @package ng2-cookies @see https://www.npmjs.com/package/ng2-cookies
|
|
3
|
+
*
|
|
4
|
+
* Reassembled by
|
|
5
|
+
* @author sambath999
|
|
6
|
+
* @date_29_09_2021
|
|
7
|
+
* Updated from raw parameters to
|
|
8
|
+
* @param {ICookieOptions} options and added another newer cookie flag
|
|
9
|
+
* @param {string} samesite
|
|
10
|
+
* @param {constant} SameSiteTypes, @param {string} strict "strict", @param {string} lax "lax", @param {string} none "none"
|
|
11
|
+
*
|
|
12
|
+
* @enum
|
|
13
|
+
*/
|
|
14
|
+
export class LocalizeTokenStorageHelper {
|
|
15
|
+
/**
|
|
16
|
+
* Checks the existence of a single cookie by it's name
|
|
17
|
+
*
|
|
18
|
+
* @param {string} name Identification of the cookie
|
|
19
|
+
* @returns existence of the cookie
|
|
20
|
+
*/
|
|
21
|
+
check(name) {
|
|
22
|
+
if (typeof document === "undefined")
|
|
23
|
+
return false;
|
|
24
|
+
name = encodeURIComponent(name);
|
|
25
|
+
const regexp = new RegExp('(?:^' + name + '|;\\s*' + name + ')=(.*?)(?:;|$)', 'g');
|
|
26
|
+
return regexp.test(document.cookie);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Retrieves a single cookie by it's name
|
|
30
|
+
*
|
|
31
|
+
* @param {string} name Identification of the Cookie
|
|
32
|
+
* @returns The Cookie's value
|
|
33
|
+
*/
|
|
34
|
+
get(name) {
|
|
35
|
+
if (!this.check(name))
|
|
36
|
+
return undefined;
|
|
37
|
+
name = encodeURIComponent(name);
|
|
38
|
+
const regexp = new RegExp('(?:^' + name + '|;\\s*' + name + ')=(.*?)(?:;|$)', 'g');
|
|
39
|
+
const result = regexp.exec(document.cookie);
|
|
40
|
+
return result ? decodeURIComponent(result[1]) : undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Retrieves a a list of all cookie avaiable
|
|
44
|
+
*
|
|
45
|
+
* @returns Object with all Cookies
|
|
46
|
+
*/
|
|
47
|
+
getAll() {
|
|
48
|
+
const cookies = {};
|
|
49
|
+
if (document.cookie) {
|
|
50
|
+
const split = document.cookie.split(';');
|
|
51
|
+
for (const s of split) {
|
|
52
|
+
const currCookie = s.split('=');
|
|
53
|
+
currCookie[0] = currCookie[0].trim();
|
|
54
|
+
cookies[decodeURIComponent(currCookie[0])] = decodeURIComponent(currCookie[1]);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return cookies;
|
|
58
|
+
}
|
|
59
|
+
get defaultOptions() {
|
|
60
|
+
const getMainDomain = (subdomain) => {
|
|
61
|
+
const parts = subdomain.split('.');
|
|
62
|
+
return parts.length > 2 ? parts.slice(-2).join('.') : subdomain;
|
|
63
|
+
};
|
|
64
|
+
const mainDomain = getMainDomain(window.location.hostname);
|
|
65
|
+
return {
|
|
66
|
+
path: '/',
|
|
67
|
+
domain: mainDomain,
|
|
68
|
+
secure: true,
|
|
69
|
+
// samesite: SameSiteType.strict,
|
|
70
|
+
expires: 1
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
set(name, value, options) {
|
|
74
|
+
options ??= this.defaultOptions;
|
|
75
|
+
const { expires, path, domain, secure, samesite } = options;
|
|
76
|
+
let cookieStr = `${encodeURIComponent(name)}=${encodeURIComponent(value)};`;
|
|
77
|
+
if (expires) {
|
|
78
|
+
const dtExpires = typeof expires === 'number' ? new Date(Date.now() + expires * 864e5) : expires;
|
|
79
|
+
cookieStr += `expires=${dtExpires.toUTCString()};`;
|
|
80
|
+
}
|
|
81
|
+
cookieStr += path ? `path=${path};` : '';
|
|
82
|
+
cookieStr += domain ? `domain=${domain};` : '';
|
|
83
|
+
cookieStr += secure ? 'secure;' : '';
|
|
84
|
+
cookieStr += samesite ? `samesite=${samesite};` : '';
|
|
85
|
+
document.cookie = cookieStr;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Removes specified Cookie
|
|
89
|
+
*
|
|
90
|
+
* @param {string} name Cookie's identification
|
|
91
|
+
* @param {string} path Path relative to the domain where the cookie should be avaiable. Default /
|
|
92
|
+
* @param {string} domain Domain where the cookie should be avaiable. Default current domain
|
|
93
|
+
*/
|
|
94
|
+
delete(name, path = '/', domain = window.location.hostname) {
|
|
95
|
+
this.set(name, '', { path, domain, expires: -1 });
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Delete all cookie avaiable
|
|
99
|
+
*/
|
|
100
|
+
deleteAll(path, domain) {
|
|
101
|
+
const cookies = this.getAll();
|
|
102
|
+
for (const cookieName of Object.keys(cookies)) {
|
|
103
|
+
this.delete(cookieName, path, domain);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export var ISameSiteType;
|
|
108
|
+
(function (ISameSiteType) {
|
|
109
|
+
ISameSiteType["strict"] = "strict";
|
|
110
|
+
ISameSiteType["lax"] = "lax";
|
|
111
|
+
ISameSiteType["none"] = "none";
|
|
112
|
+
})(ISameSiteType || (ISameSiteType = {}));
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi5zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7RUFZRTtBQUNGLE1BQU0sT0FBTywwQkFBMEI7SUFFckM7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsSUFBWTtRQUNoQixJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNsRCxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxHQUFHLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLElBQVk7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUV4QyxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxHQUFHLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFD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LE9BQWUsR0FBRyxFQUFFLFNBQWlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUTtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLElBQWEsRUFBRSxNQUFlO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU5QixLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7Q0FFRjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDdkIsa0NBQWlCLENBQUE7SUFDakIsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuKiBBc3NlbWJseSBvZiBAcGFja2FnZSBuZzItY29va2llcyBAc2VlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL25nMi1jb29raWVzXHJcbipcclxuKiBSZWFzc2VtYmxlZCBieVxyXG4qIEBhdXRob3Igc2FtYmF0aDk5OVxyXG4qIEBkYXRlXzI5XzA5XzIwMjFcclxuKiBVcGRhdGVkIGZyb20gcmF3IHBhcmFtZXRlcnMgdG9cclxuKiBAcGFyYW0ge0lDb29raWVPcHRpb25zfSBvcHRpb25zIGFuZCBhZGRlZCBhbm90aGVyIG5ld2VyIGNvb2tpZSBmbGFnXHJcbiogQHBhcmFtIHtzdHJpbmd9IHNhbWVzaXRlXHJcbiogQHBhcmFtIHtjb25zdGFudH0gU2FtZVNpdGVUeXBlcywgQHBhcmFtIHtzdHJpbmd9IHN0cmljdCBcInN0cmljdFwiLCBAcGFyYW0ge3N0cmluZ30gbGF4IFwibGF4XCIsIEBwYXJhbSB7c3RyaW5nfSBub25lIFwibm9uZVwiXHJcbipcclxuKiBAZW51bVxyXG4qL1xyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVUb2tlblN0b3JhZ2VIZWxwZXIge1xyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgdGhlIGV4aXN0ZW5jZSBvZiBhIHNpbmdsZSBjb29raWUgYnkgaXQncyBuYW1lXHJcbiAgICpcclxuICAgKiBAcGFyYW0gIHtzdHJpbmd9IG5hbWUgSWRlbnRpZmljYXRpb24gb2YgdGhlIGNvb2tpZVxyXG4gICAqIEByZXR1cm5zIGV4aXN0ZW5jZSBvZiB0aGUgY29va2llXHJcbiAgICovXHJcbiAgY2hlY2sobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gZmFsc2U7XHJcbiAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xyXG4gICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cCgnKD86XicgKyBuYW1lICsgJ3w7XFxcXHMqJyArIG5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLCAnZycpO1xyXG4gICAgcmV0dXJuIHJlZ2V4cC50ZXN0KGRvY3VtZW50LmNvb2tpZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBzaW5nbGUgY29va2llIGJ5IGl0J3MgbmFtZVxyXG4gICAqXHJcbiAgICogQHBhcmFtICB7c3RyaW5nfSBuYW1lIElkZW50aWZpY2F0aW9uIG9mIHRoZSBDb29raWVcclxuICAgKiBAcmV0dXJucyBUaGUgQ29va2llJ3MgdmFsdWVcclxuICAgKi9cclxuICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghdGhpcy5jaGVjayhuYW1lKSkgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xyXG4gICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cCgnKD86XicgKyBuYW1lICsgJ3w7XFxcXHMqJyArIG5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLCAnZycpO1xyXG4gICAgY29uc3QgcmVzdWx0ID0gcmVnZXhwLmV4ZWMoZG9jdW1lbnQuY29va2llKTtcclxuICAgIHJldHVybiByZXN1bHQgPyBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0WzFdKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGEgbGlzdCBvZiBhbGwgY29va2llIGF2YWlhYmxlXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyBPYmplY3Qgd2l0aCBhbGwgQ29va2llc1xyXG4gICAqL1xyXG4gIGdldEFsbCgpOiBhbnkge1xyXG4gICAgY29uc3QgY29va2llczogYW55ID0ge307XHJcblxyXG4gICAgaWYgKGRvY3VtZW50LmNvb2tpZSkge1xyXG4gICAgICBjb25zdCBzcGxpdCA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xyXG4gICAgICBmb3IgKGNvbnN0IHMgb2Ygc3BsaXQpIHtcclxuICAgICAgICBjb25zdCBjdXJyQ29va2llID0gcy5zcGxpdCgnPScpO1xyXG4gICAgICAgIGN1cnJDb29raWVbMF0gPSBjdXJyQ29va2llWzBdLnRyaW0oKTtcclxuICAgICAgICBjb29raWVzW2RlY29kZVVSSUNvbXBvbmVudChjdXJyQ29va2llWzBdKV0gPSBkZWNvZGVVUklDb21wb25lbnQoY3VyckNvb2tpZVsxXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29va2llcztcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0T3B0aW9ucygpOiBJQ29va2llT3B0aW9ucyB7XHJcbiAgICBjb25zdCBnZXRNYWluRG9tYWluID0gKHN1YmRvbWFpbjogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgICAgY29uc3QgcGFydHMgPSBzdWJkb21haW4uc3BsaXQoJy4nKTtcclxuICAgICAgcmV0dXJuIHBhcnRzLmxlbmd0aCA+IDIgPyBwYXJ0cy5zbGljZSgtMikuam9pbignLicpIDogc3ViZG9tYWluO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBtYWluRG9tYWluID0gZ2V0TWFpbkRvbWFpbih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcGF0aDogJy8nLFxyXG4gICAgICBkb21haW46IG1haW5Eb21haW4sXHJcbiAgICAgIHNlY3VyZTogdHJ1ZSxcclxuICAgICAgLy8gc2FtZXNpdGU6IFNhbWVTaXRlVHlwZS5zdHJpY3QsXHJcbiAgICAgIGV4cGlyZXM6IDFcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBJQ29va2llT3B0aW9ucykge1xyXG4gICAgb3B0aW9ucyA/Pz0gdGhpcy5kZWZhdWx0T3B0aW9ucztcclxuICAgIGNvbnN0IHsgZXhwaXJlcywgcGF0aCwgZG9tYWluLCBzZWN1cmUsIHNhbWVzaXRlIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IGNvb2tpZVN0ciA9IGAke2VuY29kZVVSSUNvbXBvbmVudChuYW1lKX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsdWUpfTtgO1xyXG5cclxuICAgIGlmIChleHBpcmVzKSB7XHJcbiAgICAgIGNvbnN0IGR0RXhwaXJlcyA9IHR5cGVvZiBleHBpcmVzID09PSAnbnVtYmVyJyA/IG5ldyBEYXRlKERhdGUubm93KCkgKyBleHBpcmVzICogODY0ZTUpIDogZXhwaXJlcztcclxuICAgICAgY29va2llU3RyICs9IGBleHBpcmVzPSR7ZHRFeHBpcmVzLnRvVVRDU3RyaW5nKCl9O2A7XHJcbiAgICB9XHJcblxyXG4gICAgY29va2llU3RyICs9IHBhdGggPyBgcGF0aD0ke3BhdGh9O2AgOiAnJztcclxuICAgIGNvb2tpZVN0ciArPSBkb21haW4gPyBgZG9tYWluPSR7ZG9tYWlufTtgIDogJyc7XHJcbiAgICBjb29raWVTdHIgKz0gc2VjdXJlID8gJ3NlY3VyZTsnIDogJyc7XHJcbiAgICBjb29raWVTdHIgKz0gc2FtZXNpdGUgPyBgc2FtZXNpdGU9JHtzYW1lc2l0ZX07YCA6ICcnO1xyXG5cclxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgc3BlY2lmaWVkIENvb2tpZVxyXG4gICAqXHJcbiAgICogQHBhcmFtICB7c3RyaW5nfSBuYW1lIENvb2tpZSdzIGlkZW50aWZpY2F0aW9uXHJcbiAgICogQHBhcmFtICB7c3RyaW5nfSBwYXRoIFBhdGggcmVsYXRpdmUgdG8gdGhlIGRvbWFpbiB3aGVyZSB0aGUgY29va2llIHNob3VsZCBiZSBhdmFpYWJsZS4gRGVmYXVsdCAvXHJcbiAgICogQHBhcmFtICB7c3RyaW5nfSBkb21haW4gRG9tYWluIHdoZXJlIHRoZSBjb29raWUgc2hvdWxkIGJlIGF2YWlhYmxlLiBEZWZhdWx0IGN1cnJlbnQgZG9tYWluXHJcbiAgICovXHJcbiAgZGVsZXRlKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nID0gJy8nLCBkb21haW46IHN0cmluZyA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXQobmFtZSwgJycsIHsgcGF0aCwgZG9tYWluLCBleHBpcmVzOiAtMSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBhbGwgY29va2llIGF2YWlhYmxlXHJcbiAgICovXHJcbiAgZGVsZXRlQWxsKHBhdGg/OiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgY29va2llcyA9IHRoaXMuZ2V0QWxsKCk7XHJcblxyXG4gICAgZm9yIChjb25zdCBjb29raWVOYW1lIG9mIE9iamVjdC5rZXlzKGNvb2tpZXMpKSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlKGNvb2tpZU5hbWUsIHBhdGgsIGRvbWFpbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGVudW0gSVNhbWVTaXRlVHlwZSB7XHJcbiAgc3RyaWN0ID0gXCJzdHJpY3RcIixcclxuICBsYXggPSBcImxheFwiLFxyXG4gIG5vbmUgPSBcIm5vbmVcIlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDb29raWVPcHRpb25zIHtcclxuICBleHBpcmVzPzogbnVtYmVyIHwgRGF0ZTtcclxuICBwYXRoPzogc3RyaW5nO1xyXG4gIGRvbWFpbj86IHN0cmluZztcclxuICBzZWN1cmU/OiBib29sZWFuO1xyXG4gIHNhbWVzaXRlPzogc3RyaW5nXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./localize.token.service";
|
|
2
|
+
export * from "./localize.token";
|
|
3
|
+
export * from "./localize.token.storage";
|
|
4
|
+
export * from "./localize.token.module";
|
|
5
|
+
export * from "./localize.api.service";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xvY2FsaXplLnRva2VuLnNlcnZpY2VcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxpemUudG9rZW5cIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxpemUudG9rZW4uc3RvcmFnZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlbi5tb2R1bGVcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxpemUuYXBpLnNlcnZpY2VcIjsiXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
|
|
1
|
+
export * from './localize-token/public-api';
|
|
2
|
+
export * from './localize-logindlg/public-api';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemUtdG9rZW4vcHVibGljLWFwaSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemUtbG9naW5kbGcvcHVibGljLWFwaSc7XHJcbiJdfQ==
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, NgModule, Component, ViewEncapsulation, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import * as jwt_decode from 'jwt-decode';
|
|
5
5
|
import * as i1 from '@angular/common/http';
|
|
6
6
|
import { HttpHeaders } from '@angular/common/http';
|
|
7
|
+
import * as i1$1 from 'primeng/api';
|
|
8
|
+
import { MessageService } from 'primeng/api';
|
|
9
|
+
import * as i2 from 'primeng/dynamicdialog';
|
|
10
|
+
import { DialogService } from 'primeng/dynamicdialog';
|
|
11
|
+
import * as i5 from '@angular/common';
|
|
12
|
+
import { CommonModule } from '@angular/common';
|
|
13
|
+
import * as i6 from 'primeng/toast';
|
|
14
|
+
import { ToastModule } from 'primeng/toast';
|
|
15
|
+
import * as i7 from 'primeng/inputtext';
|
|
16
|
+
import { InputTextModule } from 'primeng/inputtext';
|
|
17
|
+
import * as i8 from '@angular/forms';
|
|
18
|
+
import { FormsModule } from '@angular/forms';
|
|
19
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
7
20
|
|
|
8
21
|
/**
|
|
9
22
|
* Assembly of @package ng2-cookies @see https://www.npmjs.com/package/ng2-cookies
|
|
@@ -376,9 +389,266 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
376
389
|
}]
|
|
377
390
|
}] });
|
|
378
391
|
|
|
392
|
+
class LocalizeLogindlgComponent {
|
|
393
|
+
messageService;
|
|
394
|
+
cdt;
|
|
395
|
+
dlgRef;
|
|
396
|
+
dlgConfig;
|
|
397
|
+
tokenService;
|
|
398
|
+
httpClient;
|
|
399
|
+
messageKey = "$login-dlg";
|
|
400
|
+
password;
|
|
401
|
+
decodeToken;
|
|
402
|
+
loading = false;
|
|
403
|
+
success = false;
|
|
404
|
+
config;
|
|
405
|
+
logout;
|
|
406
|
+
loginUrl;
|
|
407
|
+
constructor(messageService, cdt, dlgRef, dlgConfig, tokenService, httpClient) {
|
|
408
|
+
this.messageService = messageService;
|
|
409
|
+
this.cdt = cdt;
|
|
410
|
+
this.dlgRef = dlgRef;
|
|
411
|
+
this.dlgConfig = dlgConfig;
|
|
412
|
+
this.tokenService = tokenService;
|
|
413
|
+
this.httpClient = httpClient;
|
|
414
|
+
this.decodeToken = this.tokenService.decodeRefreshToken;
|
|
415
|
+
this.config = LocalizeToken.config;
|
|
416
|
+
}
|
|
417
|
+
ngOnInit() {
|
|
418
|
+
this.dlgConfig.closable = false;
|
|
419
|
+
this.logout = this.dlgConfig.data?.logout;
|
|
420
|
+
this.loginUrl = this.dlgConfig.data?.loginUrl;
|
|
421
|
+
if (!this.decodeToken) {
|
|
422
|
+
this.messageService.add({
|
|
423
|
+
key: this.messageKey,
|
|
424
|
+
severity: "error",
|
|
425
|
+
summary: "Token is invalid",
|
|
426
|
+
});
|
|
427
|
+
setTimeout(() => this.logout?.(), 2000);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
ngAfterViewInit() {
|
|
431
|
+
this.cdt.detectChanges();
|
|
432
|
+
}
|
|
433
|
+
async clickLogin() {
|
|
434
|
+
if (!this.isValidPassword) {
|
|
435
|
+
this.messageService.add({
|
|
436
|
+
key: this.messageKey,
|
|
437
|
+
severity: "error",
|
|
438
|
+
summary: "Password is required and must be at least 6 characters",
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
this.loading = true;
|
|
442
|
+
const loginRes = await this.login();
|
|
443
|
+
if (!loginRes?.status) {
|
|
444
|
+
this.messageService.add({
|
|
445
|
+
key: this.messageKey,
|
|
446
|
+
severity: "error",
|
|
447
|
+
summary: loginRes.message,
|
|
448
|
+
});
|
|
449
|
+
this.loading = false;
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
this.tokenService.accessToken = loginRes.tokens.accessToken;
|
|
453
|
+
LocalizeToken.storage.set(this.config.refreshTokenName, loginRes.tokens.refreshToken);
|
|
454
|
+
this.success = true;
|
|
455
|
+
setTimeout(() => this.dlgRef.close(true), 2000);
|
|
456
|
+
}
|
|
457
|
+
async login() {
|
|
458
|
+
const path = this.loginUrl ?? "/api/auth/login";
|
|
459
|
+
const response = await new Promise((resolve, reject) => this.httpClient
|
|
460
|
+
.post(path, { password: this.password.trim() }, { headers: this.getHeaders() })
|
|
461
|
+
.subscribe({ next: resolve, error: reject }));
|
|
462
|
+
return response;
|
|
463
|
+
}
|
|
464
|
+
getHeaders() {
|
|
465
|
+
return {
|
|
466
|
+
[LocalizeToken.httpHeaders.X_REFRESH_TOKEN]: LocalizeToken.storage.get(this.config.refreshTokenName),
|
|
467
|
+
[LocalizeToken.httpHeaders.X_TENANT]: LocalizeToken.storage.get(this.config.tenantTokenName) ?? "",
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
get isValidPassword() {
|
|
471
|
+
return this.password && this.password.trim().length >= 6;
|
|
472
|
+
}
|
|
473
|
+
clickLogout = () => this.logout?.();
|
|
474
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgComponent, deps: [{ token: i1$1.MessageService }, { token: i0.ChangeDetectorRef }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: LocalizeTokenService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
475
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: LocalizeLogindlgComponent, selector: "app-localize-logindlg", providers: [MessageService], ngImport: i0, template: `<p-toast key="$login-dlg" position="top-center"></p-toast>
|
|
476
|
+
<div id="login-dlg-wrap">
|
|
477
|
+
<div id="login-dlg-header">
|
|
478
|
+
<div id="login-logo" class="p-mb-2"></div>
|
|
479
|
+
<h3 *ngIf="!success">Your session is expired! <br> Please login again to continue.</h3>
|
|
480
|
+
<h3 *ngIf="success" style="color:green !important;">You haved successfully logged in.</h3>
|
|
481
|
+
</div>
|
|
482
|
+
<div id="login-dlg-content">
|
|
483
|
+
<ng-container *ngIf="!success">
|
|
484
|
+
<div class="login-dlg-elm">
|
|
485
|
+
<div class="p-inputgroup">
|
|
486
|
+
<span class="p-inputgroup-addon">
|
|
487
|
+
<i class="material-icons-round">person</i>
|
|
488
|
+
</span>
|
|
489
|
+
<input disabled pInputText type="text" placeholder="Username" [value]="decodeToken?.email" />
|
|
490
|
+
</div>
|
|
491
|
+
</div>
|
|
492
|
+
|
|
493
|
+
<div class="login-dlg-elm">
|
|
494
|
+
<div class="p-inputgroup">
|
|
495
|
+
<span class="p-inputgroup-addon">
|
|
496
|
+
<i class="material-icons-round">lock</i>
|
|
497
|
+
</span>
|
|
498
|
+
<input (keydown.enter)="clickLogin()" pInputText type="password" placeholder="Password" [(ngModel)]="password"
|
|
499
|
+
autofocus />
|
|
500
|
+
</div>
|
|
501
|
+
</div>
|
|
502
|
+
<div class="login-dlg-elm">
|
|
503
|
+
<button style="width: 100%;" pButton type="button" label="Login" (click)="clickLogin()"
|
|
504
|
+
[disabled]="!password || loading"></button>
|
|
505
|
+
</div>
|
|
506
|
+
|
|
507
|
+
<div class="login-dlg-elm" style="display:flex;align-items: center;user-select: none;">
|
|
508
|
+
<span>No, I want to login with another user.</span>
|
|
509
|
+
<button class="p-button-text" pButton type="button" label="Logout" (click)="clickLogout()"></button>
|
|
510
|
+
</div>
|
|
511
|
+
</ng-container>
|
|
512
|
+
|
|
513
|
+
<ng-container *ngIf="success">
|
|
514
|
+
<div style="margin-top:35px;"></div>
|
|
515
|
+
<div class="check-animation-wrap">
|
|
516
|
+
<div class="check-main-container">
|
|
517
|
+
<div class="check-container">
|
|
518
|
+
<div class="check-background">
|
|
519
|
+
<svg viewBox="0 0 65 51" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
520
|
+
<path d="M7 25L27.3077 44L58.5 7" stroke="white" stroke-width="13" stroke-linecap="round"
|
|
521
|
+
stroke-linejoin="round"></path>
|
|
522
|
+
</svg>
|
|
523
|
+
</div>
|
|
524
|
+
</div>
|
|
525
|
+
</div>
|
|
526
|
+
</div>
|
|
527
|
+
</ng-container>
|
|
528
|
+
</div>
|
|
529
|
+
</div>`, isInline: true, styles: ["#login-dlg-wrap{width:100%;max-width:400px;margin:0 auto;padding:30px}.login-dlg-elm{margin-top:1rem}#login-dlg-header{display:flex;flex-direction:column;align-items:center;justify-content:center}#login-dlg-header h3{font-weight:700;font-size:.9rem;color:orange;text-align:center}#login-logo{height:40px;width:40px;background:url(/assets/images/logo-300px.png) no-repeat;background-size:contain}#login-dlg-content .p-inputgroup{height:45px}#login-dlg-content .p-inputgroup .p-inputgroup-addon{height:45px;border-radius:15px 0 0 15px;width:50px}#login-dlg-content .p-inputgroup .p-inputgroup-addon *{font-size:1rem}#login-dlg-content .p-inputgroup input{height:45px;border-radius:0 15px 15px 0}#login-dlg-content button{height:45px;border-radius:15px}.check-animation-wrap{top:0;left:0;position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:calc(100% - 200px);min-height:400px}.check-main-container{width:100%;height:100vh;display:flex;flex-flow:column;justify-content:center;align-items:center}.check-container{width:6.25rem;height:7.5rem;display:flex;flex-flow:column;align-items:center;justify-content:space-between}.check-container .check-background{width:100%;height:calc(100% - 1.25rem);background:linear-gradient(to bottom right,#5de593,#41d67c);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset;transform:scale(.84);border-radius:50%;animation:animateContainer .75s ease-out forwards .75s;display:flex;align-items:center;justify-content:center;opacity:0}.check-container .check-background svg{width:65%;transform:translateY(.25rem);stroke-dasharray:80;stroke-dashoffset:80;animation:animateCheck .35s forwards 1.25s ease-out;min-width:auto!important}.check-container .check-shadow{bottom:calc(-15% - 5px);left:0;border-radius:50%;background:radial-gradient(closest-side,rgba(73,218,131,1),transparent);animation:animateShadow .75s ease-out forwards .75s}@keyframes animateContainer{0%{opacity:0;transform:scale(0);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset}25%{opacity:1;transform:scale(.9);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset}43.75%{transform:scale(1.15);box-shadow:0 0 0 43.334px #ffffff40 inset,0 0 0 65px #ffffff40 inset}62.5%{transform:scale(1);box-shadow:0 0 #ffffff40 inset,0 0 0 21.667px #ffffff40 inset}81.25%{box-shadow:0 0 #ffffff40 inset,0 0 #ffffff40 inset}to{opacity:1;box-shadow:0 0 #ffffff40 inset,0 0 #ffffff40 inset}}@keyframes animateCheck{0%{stroke-dashoffset:80}to{stroke-dashoffset:0}}@keyframes animateShadow{0%{opacity:0;width:100%;height:15%}25%{opacity:.25}43.75%{width:40%;height:7%;opacity:.35}to{width:85%;height:15%;opacity:.25}}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i7.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
530
|
+
}
|
|
531
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgComponent, decorators: [{
|
|
532
|
+
type: Component,
|
|
533
|
+
args: [{ template: `<p-toast key="$login-dlg" position="top-center"></p-toast>
|
|
534
|
+
<div id="login-dlg-wrap">
|
|
535
|
+
<div id="login-dlg-header">
|
|
536
|
+
<div id="login-logo" class="p-mb-2"></div>
|
|
537
|
+
<h3 *ngIf="!success">Your session is expired! <br> Please login again to continue.</h3>
|
|
538
|
+
<h3 *ngIf="success" style="color:green !important;">You haved successfully logged in.</h3>
|
|
539
|
+
</div>
|
|
540
|
+
<div id="login-dlg-content">
|
|
541
|
+
<ng-container *ngIf="!success">
|
|
542
|
+
<div class="login-dlg-elm">
|
|
543
|
+
<div class="p-inputgroup">
|
|
544
|
+
<span class="p-inputgroup-addon">
|
|
545
|
+
<i class="material-icons-round">person</i>
|
|
546
|
+
</span>
|
|
547
|
+
<input disabled pInputText type="text" placeholder="Username" [value]="decodeToken?.email" />
|
|
548
|
+
</div>
|
|
549
|
+
</div>
|
|
550
|
+
|
|
551
|
+
<div class="login-dlg-elm">
|
|
552
|
+
<div class="p-inputgroup">
|
|
553
|
+
<span class="p-inputgroup-addon">
|
|
554
|
+
<i class="material-icons-round">lock</i>
|
|
555
|
+
</span>
|
|
556
|
+
<input (keydown.enter)="clickLogin()" pInputText type="password" placeholder="Password" [(ngModel)]="password"
|
|
557
|
+
autofocus />
|
|
558
|
+
</div>
|
|
559
|
+
</div>
|
|
560
|
+
<div class="login-dlg-elm">
|
|
561
|
+
<button style="width: 100%;" pButton type="button" label="Login" (click)="clickLogin()"
|
|
562
|
+
[disabled]="!password || loading"></button>
|
|
563
|
+
</div>
|
|
564
|
+
|
|
565
|
+
<div class="login-dlg-elm" style="display:flex;align-items: center;user-select: none;">
|
|
566
|
+
<span>No, I want to login with another user.</span>
|
|
567
|
+
<button class="p-button-text" pButton type="button" label="Logout" (click)="clickLogout()"></button>
|
|
568
|
+
</div>
|
|
569
|
+
</ng-container>
|
|
570
|
+
|
|
571
|
+
<ng-container *ngIf="success">
|
|
572
|
+
<div style="margin-top:35px;"></div>
|
|
573
|
+
<div class="check-animation-wrap">
|
|
574
|
+
<div class="check-main-container">
|
|
575
|
+
<div class="check-container">
|
|
576
|
+
<div class="check-background">
|
|
577
|
+
<svg viewBox="0 0 65 51" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
578
|
+
<path d="M7 25L27.3077 44L58.5 7" stroke="white" stroke-width="13" stroke-linecap="round"
|
|
579
|
+
stroke-linejoin="round"></path>
|
|
580
|
+
</svg>
|
|
581
|
+
</div>
|
|
582
|
+
</div>
|
|
583
|
+
</div>
|
|
584
|
+
</div>
|
|
585
|
+
</ng-container>
|
|
586
|
+
</div>
|
|
587
|
+
</div>`, selector: "app-localize-logindlg", providers: [MessageService], encapsulation: ViewEncapsulation.None, styles: ["#login-dlg-wrap{width:100%;max-width:400px;margin:0 auto;padding:30px}.login-dlg-elm{margin-top:1rem}#login-dlg-header{display:flex;flex-direction:column;align-items:center;justify-content:center}#login-dlg-header h3{font-weight:700;font-size:.9rem;color:orange;text-align:center}#login-logo{height:40px;width:40px;background:url(/assets/images/logo-300px.png) no-repeat;background-size:contain}#login-dlg-content .p-inputgroup{height:45px}#login-dlg-content .p-inputgroup .p-inputgroup-addon{height:45px;border-radius:15px 0 0 15px;width:50px}#login-dlg-content .p-inputgroup .p-inputgroup-addon *{font-size:1rem}#login-dlg-content .p-inputgroup input{height:45px;border-radius:0 15px 15px 0}#login-dlg-content button{height:45px;border-radius:15px}.check-animation-wrap{top:0;left:0;position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:calc(100% - 200px);min-height:400px}.check-main-container{width:100%;height:100vh;display:flex;flex-flow:column;justify-content:center;align-items:center}.check-container{width:6.25rem;height:7.5rem;display:flex;flex-flow:column;align-items:center;justify-content:space-between}.check-container .check-background{width:100%;height:calc(100% - 1.25rem);background:linear-gradient(to bottom right,#5de593,#41d67c);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset;transform:scale(.84);border-radius:50%;animation:animateContainer .75s ease-out forwards .75s;display:flex;align-items:center;justify-content:center;opacity:0}.check-container .check-background svg{width:65%;transform:translateY(.25rem);stroke-dasharray:80;stroke-dashoffset:80;animation:animateCheck .35s forwards 1.25s ease-out;min-width:auto!important}.check-container .check-shadow{bottom:calc(-15% - 5px);left:0;border-radius:50%;background:radial-gradient(closest-side,rgba(73,218,131,1),transparent);animation:animateShadow .75s ease-out forwards .75s}@keyframes animateContainer{0%{opacity:0;transform:scale(0);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset}25%{opacity:1;transform:scale(.9);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset}43.75%{transform:scale(1.15);box-shadow:0 0 0 43.334px #ffffff40 inset,0 0 0 65px #ffffff40 inset}62.5%{transform:scale(1);box-shadow:0 0 #ffffff40 inset,0 0 0 21.667px #ffffff40 inset}81.25%{box-shadow:0 0 #ffffff40 inset,0 0 #ffffff40 inset}to{opacity:1;box-shadow:0 0 #ffffff40 inset,0 0 #ffffff40 inset}}@keyframes animateCheck{0%{stroke-dashoffset:80}to{stroke-dashoffset:0}}@keyframes animateShadow{0%{opacity:0;width:100%;height:15%}25%{opacity:.25}43.75%{width:40%;height:7%;opacity:.35}to{width:85%;height:15%;opacity:.25}}\n"] }]
|
|
588
|
+
}], ctorParameters: () => [{ type: i1$1.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }, { type: LocalizeTokenService }, { type: i1.HttpClient }] });
|
|
589
|
+
|
|
590
|
+
class LocalizeLogindlgService {
|
|
591
|
+
injector;
|
|
592
|
+
constructor(injector) {
|
|
593
|
+
this.injector = injector;
|
|
594
|
+
}
|
|
595
|
+
async openLoginDialog(config) {
|
|
596
|
+
config ??= {
|
|
597
|
+
header: 'Login',
|
|
598
|
+
height: '650px',
|
|
599
|
+
style: { 'max-width': '400px', width: '100%', 'height': '650px' },
|
|
600
|
+
};
|
|
601
|
+
const dialogService = this.injector.get(DialogService);
|
|
602
|
+
const dialog = dialogService.open(LocalizeLogindlgComponent, config);
|
|
603
|
+
await new Promise((resolve) => dialog.onClose.subscribe(res => {
|
|
604
|
+
if (res) {
|
|
605
|
+
resolve();
|
|
606
|
+
}
|
|
607
|
+
}));
|
|
608
|
+
}
|
|
609
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
610
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgService, providedIn: 'root' });
|
|
611
|
+
}
|
|
612
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgService, decorators: [{
|
|
613
|
+
type: Injectable,
|
|
614
|
+
args: [{
|
|
615
|
+
providedIn: 'root'
|
|
616
|
+
}]
|
|
617
|
+
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
618
|
+
|
|
619
|
+
class LocalizeLogindlgModule {
|
|
620
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
621
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgModule, declarations: [LocalizeLogindlgComponent], imports: [CommonModule,
|
|
622
|
+
ToastModule,
|
|
623
|
+
InputTextModule,
|
|
624
|
+
BrowserModule,
|
|
625
|
+
FormsModule], exports: [LocalizeLogindlgComponent] });
|
|
626
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgModule, providers: [LocalizeLogindlgService], imports: [CommonModule,
|
|
627
|
+
ToastModule,
|
|
628
|
+
InputTextModule,
|
|
629
|
+
BrowserModule,
|
|
630
|
+
FormsModule] });
|
|
631
|
+
}
|
|
632
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgModule, decorators: [{
|
|
633
|
+
type: NgModule,
|
|
634
|
+
args: [{
|
|
635
|
+
declarations: [LocalizeLogindlgComponent],
|
|
636
|
+
exports: [LocalizeLogindlgComponent],
|
|
637
|
+
imports: [
|
|
638
|
+
CommonModule,
|
|
639
|
+
ToastModule,
|
|
640
|
+
InputTextModule,
|
|
641
|
+
BrowserModule,
|
|
642
|
+
FormsModule,
|
|
643
|
+
],
|
|
644
|
+
providers: [LocalizeLogindlgService],
|
|
645
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
646
|
+
}]
|
|
647
|
+
}] });
|
|
648
|
+
|
|
379
649
|
/**
|
|
380
650
|
* Generated bundle index. Do not edit.
|
|
381
651
|
*/
|
|
382
652
|
|
|
383
|
-
export { EMethod, ISameSiteType, LocalizeApiService, LocalizeToken, LocalizeTokenModule, LocalizeTokenService, LocalizeTokenStorageHelper, waitFor, waitUntil };
|
|
653
|
+
export { EMethod, ISameSiteType, LocalizeApiService, LocalizeLogindlgComponent, LocalizeLogindlgModule, LocalizeLogindlgService, LocalizeToken, LocalizeTokenModule, LocalizeTokenService, LocalizeTokenStorageHelper, waitFor, waitUntil };
|
|
384
654
|
//# sourceMappingURL=sambath999-localize-token.mjs.map
|