@mis-wis/common 0.1.9 → 0.2.1
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/esm2020/lib/components/create-non-shift-modal/create-non-shift-modal.component.mjs +237 -0
- package/esm2020/lib/constants/assets.constants.mjs +8 -0
- package/esm2020/lib/models/env.model.mjs +1 -1
- package/esm2020/lib/models/session.model.mjs +2 -0
- package/esm2020/lib/services/http.service.mjs +29 -9
- package/esm2020/lib/services/session.errors.mjs +45 -0
- package/esm2020/lib/services/session.service.mjs +198 -0
- package/esm2020/lib/wis-common.module.mjs +13 -8
- package/esm2020/public-api.mjs +5 -1
- package/fesm2015/mis-wis-common.mjs +530 -25
- package/fesm2015/mis-wis-common.mjs.map +1 -1
- package/fesm2020/mis-wis-common.mjs +522 -25
- package/fesm2020/mis-wis-common.mjs.map +1 -1
- package/lib/components/create-non-shift-modal/create-non-shift-modal.component.d.ts +56 -0
- package/lib/constants/assets.constants.d.ts +7 -0
- package/lib/models/env.model.d.ts +1 -0
- package/lib/models/session.model.d.ts +22 -0
- package/lib/services/http.service.d.ts +16 -5
- package/lib/services/session.errors.d.ts +31 -0
- package/lib/services/session.service.d.ts +79 -0
- package/lib/wis-common.module.d.ts +9 -4
- package/package.json +9 -3
- package/public-api.d.ts +4 -0
- package/src/assets/calendar.svg +7 -0
- package/src/assets/images/icons/Wis-icon.svg +4 -0
- package/src/assets/images/icons/brand.png +0 -0
- package/src/assets/images/icons/broascast.svg +3 -0
- package/src/assets/images/icons/bulk-upload.svg +3 -0
- package/src/assets/images/icons/desk-mgmt.svg +6 -0
- package/src/assets/images/icons/employees-sidebar.svg +3 -0
- package/src/assets/images/icons/help-section.svg +4 -0
- package/src/assets/images/icons/home.svg +3 -0
- package/src/assets/images/icons/logout.svg +4 -0
- package/src/assets/images/icons/manage-premise.svg +3 -0
- package/src/assets/images/icons/meeting-room.svg +7 -0
- package/src/assets/images/icons/mis-icon.svg +3 -0
- package/src/assets/images/icons/my-bookings.svg +5 -0
- package/src/assets/images/icons/profile.svg +3 -0
- package/src/assets/images/icons/reception.svg +14 -0
- package/src/assets/images/icons/report.svg +3 -0
- package/src/assets/images/icons/resource-group.svg +3 -0
- package/src/assets/images/icons/roles.svg +3 -0
- package/src/assets/images/icons/sanitize.svg +10 -0
- package/src/assets/images/icons/seat-mgmt.svg +3 -0
- package/src/assets/images/icons/settings-sidebar.svg +3 -0
- package/src/assets/images/icons/signout.svg +4 -0
- package/src/assets/images/icons/user-group.svg +6 -0
- package/src/assets/images/icons/user-permission.svg +5 -0
- package/src/assets/images/icons/utilisation.svg +3 -0
- package/src/assets/images/icons/vaccine_approval.svg +8 -0
- package/src/assets/images/icons/vaccine_upload.png +0 -0
- package/src/assets/images/icons/work-planner-sidebar.svg +3 -0
- package/src/assets/images/icons/workInSyncText.svg +14 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import jwtDecode from 'jwt-decode';
|
|
3
|
+
import { getCookie } from '../functions/cookie.function';
|
|
4
|
+
import { getQueryParam } from '../functions/url.functions';
|
|
5
|
+
import { describeClaimFailures, SessionClaimNotFoundError, SessionClaimsMissingError, SessionError, SessionTokenExpiredError, SessionTokenInvalidError, SessionTokenNotFoundError, } from './session.errors';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
const DEFAULT_SESSION_TOKEN_PREFIX = 'sso-wis-token';
|
|
8
|
+
const DEFAULT_SESSION_TOKEN_FALLBACK_KEY = 'x-wis-token';
|
|
9
|
+
const DEFAULT_VET_TOKEN_PREFIX = 'x-vet-token';
|
|
10
|
+
const LAUNCH_SOURCE_VET = 'VET';
|
|
11
|
+
export class SessionService {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.config = {};
|
|
14
|
+
this.cachedToken = null;
|
|
15
|
+
this.cachedState = null;
|
|
16
|
+
this.collecting = null;
|
|
17
|
+
}
|
|
18
|
+
init(config) {
|
|
19
|
+
this.config = { ...config };
|
|
20
|
+
this.cachedToken = null;
|
|
21
|
+
this.cachedState = null;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Runs `handlers.next` and returns its result, or `handlers.error(error)` if it throws a `SessionError`.
|
|
25
|
+
* Centralizes the try/catch mechanics; the caller still supplies the actual handling logic.
|
|
26
|
+
*/
|
|
27
|
+
read(handlers) {
|
|
28
|
+
try {
|
|
29
|
+
return handlers.next(this);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
if (e instanceof SessionError) {
|
|
33
|
+
return handlers.error(e);
|
|
34
|
+
}
|
|
35
|
+
throw e;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Statement-style variant of `read` for blocks of assignments/side effects with no return value.
|
|
40
|
+
*
|
|
41
|
+
* `next` always runs to completion: a claim that is absent or blank yields `undefined` instead of
|
|
42
|
+
* throwing, and every such failure is reported once afterwards via `handlers.error`, as a
|
|
43
|
+
* `SessionClaimsMissingError` listing all of them. An unusable token (missing, expired,
|
|
44
|
+
* undecodable) still aborts `next` immediately with the matching `SessionError`.
|
|
45
|
+
*
|
|
46
|
+
* Collecting covers the synchronous body of `next` only — claim reads deferred into a subscription,
|
|
47
|
+
* timeout or promise run after it has returned and throw as usual.
|
|
48
|
+
*
|
|
49
|
+
* An error `next` throws for any other reason propagates untouched, except that any claims missing
|
|
50
|
+
* at the time are appended to its message and attached as `sessionClaimFailures` — a collected
|
|
51
|
+
* `undefined` reaching the block is the usual cause, and that is the part worth knowing.
|
|
52
|
+
*/
|
|
53
|
+
run(handlers) {
|
|
54
|
+
const failures = [];
|
|
55
|
+
const previous = this.collecting;
|
|
56
|
+
this.collecting = failures;
|
|
57
|
+
try {
|
|
58
|
+
handlers.next(this);
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
if (e instanceof SessionError) {
|
|
62
|
+
handlers.error(e);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (failures.length && e instanceof Error) {
|
|
66
|
+
e.sessionClaimFailures = failures;
|
|
67
|
+
e.message = `${e.message} — session claims missing during run(): ${describeClaimFailures(failures)}`;
|
|
68
|
+
}
|
|
69
|
+
throw e;
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
this.collecting = previous;
|
|
73
|
+
}
|
|
74
|
+
if (failures.length) {
|
|
75
|
+
handlers.error(new SessionClaimsMissingError(failures));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
get isVET() {
|
|
79
|
+
return this.state.isVET;
|
|
80
|
+
}
|
|
81
|
+
get sub() { return this.getClaim('sub'); }
|
|
82
|
+
get empGuid() { return this.getClaim('employeeGUID'); }
|
|
83
|
+
get employeeId() { return this.getClaim('employeeId'); }
|
|
84
|
+
get internalSsoRole() { return this.getClaim('internal_sso_role'); }
|
|
85
|
+
get roles() { return this.getClaim('roles'); }
|
|
86
|
+
get sessionId() { return this.getClaim('sessionId'); }
|
|
87
|
+
get loggedInUser() { return this.getClaim('loggedInUser'); }
|
|
88
|
+
get exp() { return this.getClaim('exp'); }
|
|
89
|
+
get iat() { return this.getClaim('iat'); }
|
|
90
|
+
get businessUnitId() { return this.getClaim('businessUnitId'); }
|
|
91
|
+
get allowedBuids() { return this.getClaim('ALLOWED_BUIDS'); }
|
|
92
|
+
get vetUserEmailId() { return this.getClaim('vetUserEmailId'); }
|
|
93
|
+
get vetUserId() { return this.getClaim('vetUserId'); }
|
|
94
|
+
get source() { return this.getClaim('source'); }
|
|
95
|
+
get roleId() {
|
|
96
|
+
const raw = this.resolveRole(this.getClaims());
|
|
97
|
+
if (!raw) {
|
|
98
|
+
return this.missingClaim('roleId', 'absent');
|
|
99
|
+
}
|
|
100
|
+
return Number(raw);
|
|
101
|
+
}
|
|
102
|
+
/** First numeric role in `internal_sso_role` then `roles`, or `''` when the token carries none. */
|
|
103
|
+
resolveRole(claims) {
|
|
104
|
+
const candidates = [claims.internal_sso_role, ...(claims.roles ?? [])];
|
|
105
|
+
return candidates
|
|
106
|
+
.map(value => value?.trim())
|
|
107
|
+
.find(value => this.isDigitsOnly(value)) ?? '';
|
|
108
|
+
}
|
|
109
|
+
isDigitsOnly(value) {
|
|
110
|
+
return !!value && /^\d+$/.test(value);
|
|
111
|
+
}
|
|
112
|
+
getClaims() {
|
|
113
|
+
const state = this.state;
|
|
114
|
+
if (state.status === 'ok') {
|
|
115
|
+
return state.claims;
|
|
116
|
+
}
|
|
117
|
+
if (state.status === 'not-found') {
|
|
118
|
+
throw new SessionTokenNotFoundError();
|
|
119
|
+
}
|
|
120
|
+
if (state.status === 'expired') {
|
|
121
|
+
throw new SessionTokenExpiredError();
|
|
122
|
+
}
|
|
123
|
+
throw new SessionTokenInvalidError();
|
|
124
|
+
}
|
|
125
|
+
getClaim(key) {
|
|
126
|
+
const claims = this.getClaims();
|
|
127
|
+
const value = claims[key];
|
|
128
|
+
const isEmptyString = typeof value === 'string' && value.trim() === '';
|
|
129
|
+
if (value === undefined || value === null || isEmptyString) {
|
|
130
|
+
return this.missingClaim(key, isEmptyString ? 'blank' : 'absent');
|
|
131
|
+
}
|
|
132
|
+
return (typeof value === 'string' ? value.trim() : value);
|
|
133
|
+
}
|
|
134
|
+
/** Records the failure and yields `undefined` while `run` is collecting; throws otherwise. */
|
|
135
|
+
missingClaim(claim, reason) {
|
|
136
|
+
if (this.collecting) {
|
|
137
|
+
this.collecting.push({ claim, reason });
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
throw new SessionClaimNotFoundError(claim);
|
|
141
|
+
}
|
|
142
|
+
get state() {
|
|
143
|
+
const { token, isVET } = this.findToken();
|
|
144
|
+
if (!this.cachedState || token !== this.cachedToken) {
|
|
145
|
+
this.cachedToken = token;
|
|
146
|
+
this.cachedState = this.build(token, isVET);
|
|
147
|
+
}
|
|
148
|
+
return this.cachedState;
|
|
149
|
+
}
|
|
150
|
+
build(token, isVET) {
|
|
151
|
+
if (!token) {
|
|
152
|
+
return { status: 'not-found', isVET };
|
|
153
|
+
}
|
|
154
|
+
let claims;
|
|
155
|
+
try {
|
|
156
|
+
claims = jwtDecode(token);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return { status: 'invalid', isVET };
|
|
160
|
+
}
|
|
161
|
+
if (this.isExpired(claims)) {
|
|
162
|
+
return { status: 'expired', isVET };
|
|
163
|
+
}
|
|
164
|
+
return { status: 'ok', claims, isVET };
|
|
165
|
+
}
|
|
166
|
+
isExpired(claims) {
|
|
167
|
+
return typeof claims.exp === 'number' && claims.exp * 1000 <= Date.now();
|
|
168
|
+
}
|
|
169
|
+
isVETSource() {
|
|
170
|
+
return getQueryParam('source') === LAUNCH_SOURCE_VET;
|
|
171
|
+
}
|
|
172
|
+
resolveBuid() {
|
|
173
|
+
return getQueryParam('buid') || getCookie('buid') || null;
|
|
174
|
+
}
|
|
175
|
+
findToken() {
|
|
176
|
+
const buid = this.resolveBuid();
|
|
177
|
+
if (this.isVETSource()) {
|
|
178
|
+
const vetKey = this.config.vetTokenCookieKey ?? (buid ? `${DEFAULT_VET_TOKEN_PREFIX}-${buid}` : null);
|
|
179
|
+
const vetToken = (vetKey ? getCookie(vetKey) : '') || '';
|
|
180
|
+
if (vetToken) {
|
|
181
|
+
return { token: vetToken, isVET: true };
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
const sessionToken = this.config.sessionTokenCookieKey
|
|
185
|
+
? getCookie(this.config.sessionTokenCookieKey)
|
|
186
|
+
: (buid ? getCookie(`${DEFAULT_SESSION_TOKEN_PREFIX}-${buid}`) : '') || getCookie(DEFAULT_SESSION_TOKEN_FALLBACK_KEY);
|
|
187
|
+
return { token: sessionToken || '', isVET: false };
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
191
|
+
SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, providedIn: 'root' });
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, decorators: [{
|
|
193
|
+
type: Injectable,
|
|
194
|
+
args: [{
|
|
195
|
+
providedIn: 'root'
|
|
196
|
+
}]
|
|
197
|
+
}] });
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL3dpcy1jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFFbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUzRCxPQUFPLEVBQ0wscUJBQXFCLEVBR3JCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsWUFBWSxFQUNaLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzFCLE1BQU0sa0JBQWtCLENBQUM7O0FBRTFCLE1BQU0sNEJBQTRCLEdBQUcsZUFBZSxDQUFDO0FBQ3JELE1BQU0sa0NBQWtDLEdBQUcsYUFBYSxDQUFDO0FBQ3pELE1BQU0sd0JBQXdCLEdBQUcsYUFBYSxDQUFDO0FBQy9DLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDO0FBc0NoQyxNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUlVLFdBQU0sR0FBMEIsRUFBRSxDQUFDO1FBQ25DLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxnQkFBVyxHQUF3QixJQUFJLENBQUM7UUFDeEMsZUFBVSxHQUFrQyxJQUFJLENBQUM7S0ErTDFEO0lBN0xDLElBQUksQ0FBQyxNQUE2QjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxD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QUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBqd3REZWNvZGUgZnJvbSAnand0LWRlY29kZSc7XG5cbmltcG9ydCB7IGdldENvb2tpZSB9IGZyb20gJy4uL2Z1bmN0aW9ucy9jb29raWUuZnVuY3Rpb24nO1xuaW1wb3J0IHsgZ2V0UXVlcnlQYXJhbSB9IGZyb20gJy4uL2Z1bmN0aW9ucy91cmwuZnVuY3Rpb25zJztcbmltcG9ydCB7IE5zU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscy9zZXNzaW9uLm1vZGVsJztcbmltcG9ydCB7XG4gIGRlc2NyaWJlQ2xhaW1GYWlsdXJlcyxcbiAgSVNlc3Npb25DbGFpbUZhaWx1cmUsXG4gIFNlc3Npb25DbGFpbUZhaWx1cmVSZWFzb24sXG4gIFNlc3Npb25DbGFpbU5vdEZvdW5kRXJyb3IsXG4gIFNlc3Npb25DbGFpbXNNaXNzaW5nRXJyb3IsXG4gIFNlc3Npb25FcnJvcixcbiAgU2Vzc2lvblRva2VuRXhwaXJlZEVycm9yLFxuICBTZXNzaW9uVG9rZW5JbnZhbGlkRXJyb3IsXG4gIFNlc3Npb25Ub2tlbk5vdEZvdW5kRXJyb3IsXG59IGZyb20gJy4vc2Vzc2lvbi5lcnJvcnMnO1xuXG5jb25zdCBERUZBVUxUX1NFU1NJT05fVE9LRU5fUFJFRklYID0gJ3Nzby13aXMtdG9rZW4nO1xuY29uc3QgREVGQVVMVF9TRVNTSU9OX1RPS0VOX0ZBTExCQUNLX0tFWSA9ICd4LXdpcy10b2tlbic7XG5jb25zdCBERUZBVUxUX1ZFVF9UT0tFTl9QUkVGSVggPSAneC12ZXQtdG9rZW4nO1xuY29uc3QgTEFVTkNIX1NPVVJDRV9WRVQgPSAnVkVUJztcblxuLyoqIFRoZSBhY2Nlc3NvcnMgdGhhdCByZWFkIGEgc2luZ2xlIGNsYWltLCBhbmQgc28gY2FuIGNvbWUgYmFjayBgdW5kZWZpbmVkYCBpbnNpZGUgYHJ1bmAuICovXG50eXBlIENsYWltQWNjZXNzb3IgPVxuICB8ICdzdWInXG4gIHwgJ2VtcEd1aWQnXG4gIHwgJ2VtcGxveWVlSWQnXG4gIHwgJ2ludGVybmFsU3NvUm9sZSdcbiAgfCAncm9sZXMnXG4gIHwgJ3Nlc3Npb25JZCdcbiAgfCAnbG9nZ2VkSW5Vc2VyJ1xuICB8ICdleHAnXG4gIHwgJ2lhdCdcbiAgfCAnYnVzaW5lc3NVbml0SWQnXG4gIHwgJ2FsbG93ZWRCdWlkcydcbiAgfCAndmV0VXNlckVtYWlsSWQnXG4gIHwgJ3ZldFVzZXJJZCdcbiAgfCAnc291cmNlJ1xuICB8ICdyb2xlSWQnO1xuXG4vKipcbiAqIFRoZSBzZXNzaW9uIGFzIHNlZW4gaW5zaWRlIGBydW5gJ3MgYG5leHRgLiBgcnVuYCBjb2xsZWN0cyBtaXNzaW5nIGNsYWltcyBpbnN0ZWFkIG9mIHRocm93aW5nXG4gKiBzbyB0aGUgYmxvY2sgYWx3YXlzIGNvbXBsZXRlcywgd2hpY2ggbWVhbnMgYW55IGNsYWltIGFjY2Vzc29yIG1heSB5aWVsZCBgdW5kZWZpbmVkYC5cbiAqIE91dHNpZGUgYHJ1bmAg4oCUIGRpcmVjdCBhY2Nlc3MsIG9yIGByZWFkYCDigJQgdGhlIGFjY2Vzc29ycyBzdGlsbCB0aHJvdyBhbmQgc3RheSBub24tb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnRpYWxTZXNzaW9uID0gT21pdDxTZXNzaW9uU2VydmljZSwgQ2xhaW1BY2Nlc3Nvcj4gJiB7XG4gIHJlYWRvbmx5IFtLIGluIENsYWltQWNjZXNzb3JdOiBTZXNzaW9uU2VydmljZVtLXSB8IHVuZGVmaW5lZDtcbn07XG5cbnR5cGUgU2Vzc2lvblN0YXRlID1cbiAgfCB7IHN0YXR1czogJ29rJzsgY2xhaW1zOiBOc1Nlc3Npb24uSUNsYWltczsgaXNWRVQ6IGJvb2xlYW4gfVxuICB8IHsgc3RhdHVzOiAnbm90LWZvdW5kJzsgaXNWRVQ6IGJvb2xlYW4gfVxuICB8IHsgc3RhdHVzOiAnZXhwaXJlZCc7IGlzVkVUOiBib29sZWFuIH1cbiAgfCB7IHN0YXR1czogJ2ludmFsaWQnOyBpc1ZFVDogYm9vbGVhbiB9O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnOiBOc1Nlc3Npb24uSUluaXRDb25maWcgPSB7fTtcbiAgcHJpdmF0ZSBjYWNoZWRUb2tlbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2FjaGVkU3RhdGU6IFNlc3Npb25TdGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNvbGxlY3Rpbmc6IElTZXNzaW9uQ2xhaW1GYWlsdXJlW10gfCBudWxsID0gbnVsbDtcblxuICBpbml0KGNvbmZpZzogTnNTZXNzaW9uLklJbml0Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcgPSB7IC4uLmNvbmZpZyB9O1xuICAgIHRoaXMuY2FjaGVkVG9rZW4gPSBudWxsO1xuICAgIHRoaXMuY2FjaGVkU3RhdGUgPSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYGhhbmRsZXJzLm5leHRgIGFuZCByZXR1cm5zIGl0cyByZXN1bHQsIG9yIGBoYW5kbGVycy5lcnJvcihlcnJvcilgIGlmIGl0IHRocm93cyBhIGBTZXNzaW9uRXJyb3JgLlxuICAgKiBDZW50cmFsaXplcyB0aGUgdHJ5L2NhdGNoIG1lY2hhbmljczsgdGhlIGNhbGxlciBzdGlsbCBzdXBwbGllcyB0aGUgYWN0dWFsIGhhbmRsaW5nIGxvZ2ljLlxuICAgKi9cbiAgcmVhZDxUPihoYW5kbGVyczogeyBuZXh0OiAoc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpID0+IFQ7IGVycm9yOiAoZXJyb3I6IFNlc3Npb25FcnJvcikgPT4gVCB9KTogVCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBoYW5kbGVycy5uZXh0KHRoaXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgU2Vzc2lvbkVycm9yKSB7XG4gICAgICAgIHJldHVybiBoYW5kbGVycy5lcnJvcihlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0YXRlbWVudC1zdHlsZSB2YXJpYW50IG9mIGByZWFkYCBmb3IgYmxvY2tzIG9mIGFzc2lnbm1lbnRzL3NpZGUgZWZmZWN0cyB3aXRoIG5vIHJldHVybiB2YWx1ZS5cbiAgICpcbiAgICogYG5leHRgIGFsd2F5cyBydW5zIHRvIGNvbXBsZXRpb246IGEgY2xhaW0gdGhhdCBpcyBhYnNlbnQgb3IgYmxhbmsgeWllbGRzIGB1bmRlZmluZWRgIGluc3RlYWQgb2ZcbiAgICogdGhyb3dpbmcsIGFuZCBldmVyeSBzdWNoIGZhaWx1cmUgaXMgcmVwb3J0ZWQgb25jZSBhZnRlcndhcmRzIHZpYSBgaGFuZGxlcnMuZXJyb3JgLCBhcyBhXG4gICAqIGBTZXNzaW9uQ2xhaW1zTWlzc2luZ0Vycm9yYCBsaXN0aW5nIGFsbCBvZiB0aGVtLiBBbiB1bnVzYWJsZSB0b2tlbiAobWlzc2luZywgZXhwaXJlZCxcbiAgICogdW5kZWNvZGFibGUpIHN0aWxsIGFib3J0cyBgbmV4dGAgaW1tZWRpYXRlbHkgd2l0aCB0aGUgbWF0Y2hpbmcgYFNlc3Npb25FcnJvcmAuXG4gICAqXG4gICAqIENvbGxlY3RpbmcgY292ZXJzIHRoZSBzeW5jaHJvbm91cyBib2R5IG9mIGBuZXh0YCBvbmx5IOKAlCBjbGFpbSByZWFkcyBkZWZlcnJlZCBpbnRvIGEgc3Vic2NyaXB0aW9uLFxuICAgKiB0aW1lb3V0IG9yIHByb21pc2UgcnVuIGFmdGVyIGl0IGhhcyByZXR1cm5lZCBhbmQgdGhyb3cgYXMgdXN1YWwuXG4gICAqXG4gICAqIEFuIGVycm9yIGBuZXh0YCB0aHJvd3MgZm9yIGFueSBvdGhlciByZWFzb24gcHJvcGFnYXRlcyB1bnRvdWNoZWQsIGV4Y2VwdCB0aGF0IGFueSBjbGFpbXMgbWlzc2luZ1xuICAgKiBhdCB0aGUgdGltZSBhcmUgYXBwZW5kZWQgdG8gaXRzIG1lc3NhZ2UgYW5kIGF0dGFjaGVkIGFzIGBzZXNzaW9uQ2xhaW1GYWlsdXJlc2Ag4oCUIGEgY29sbGVjdGVkXG4gICAqIGB1bmRlZmluZWRgIHJlYWNoaW5nIHRoZSBibG9jayBpcyB0aGUgdXN1YWwgY2F1c2UsIGFuZCB0aGF0IGlzIHRoZSBwYXJ0IHdvcnRoIGtub3dpbmcuXG4gICAqL1xuICBydW4oaGFuZGxlcnM6IHsgbmV4dDogKHNlc3Npb246IFBhcnRpYWxTZXNzaW9uKSA9PiB2b2lkOyBlcnJvcjogKGVycm9yOiBTZXNzaW9uRXJyb3IpID0+IHZvaWQgfSk6IHZvaWQge1xuICAgIGNvbnN0IGZhaWx1cmVzOiBJU2Vzc2lvbkNsYWltRmFpbHVyZVtdID0gW107XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLmNvbGxlY3Rpbmc7XG4gICAgdGhpcy5jb2xsZWN0aW5nID0gZmFpbHVyZXM7XG4gICAgdHJ5IHtcbiAgICAgIGhhbmRsZXJzLm5leHQodGhpcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBTZXNzaW9uRXJyb3IpIHtcbiAgICAgICAgaGFuZGxlcnMuZXJyb3IoZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChmYWlsdXJlcy5sZW5ndGggJiYgZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIChlIGFzIEVycm9yICYgeyBzZXNzaW9uQ2xhaW1GYWlsdXJlcz86IElTZXNzaW9uQ2xhaW1GYWlsdXJlW10gfSkuc2Vzc2lvbkNsYWltRmFpbHVyZXMgPSBmYWlsdXJlcztcbiAgICAgICAgZS5tZXNzYWdlID0gYCR7ZS5tZXNzYWdlfSDigJQgc2Vzc2lvbiBjbGFpbXMgbWlzc2luZyBkdXJpbmcgcnVuKCk6ICR7ZGVzY3JpYmVDbGFpbUZhaWx1cmVzKGZhaWx1cmVzKX1gO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5jb2xsZWN0aW5nID0gcHJldmlvdXM7XG4gICAgfVxuICAgIGlmIChmYWlsdXJlcy5sZW5ndGgpIHtcbiAgICAgIGhhbmRsZXJzLmVycm9yKG5ldyBTZXNzaW9uQ2xhaW1zTWlzc2luZ0Vycm9yKGZhaWx1cmVzKSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzVkVUKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmlzVkVUO1xuICB9XG5cbiAgZ2V0IHN1YigpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5nZXRDbGFpbSgnc3ViJyk7IH1cbiAgZ2V0IGVtcEd1aWQoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuZ2V0Q2xhaW0oJ2VtcGxveWVlR1VJRCcpOyB9XG4gIGdldCBlbXBsb3llZUlkKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmdldENsYWltKCdlbXBsb3llZUlkJyk7IH1cbiAgZ2V0IGludGVybmFsU3NvUm9sZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5nZXRDbGFpbSgnaW50ZXJuYWxfc3NvX3JvbGUnKTsgfVxuICBnZXQgcm9sZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5nZXRDbGFpbSgncm9sZXMnKTsgfVxuICBnZXQgc2Vzc2lvbklkKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmdldENsYWltKCdzZXNzaW9uSWQnKTsgfVxuICBnZXQgbG9nZ2VkSW5Vc2VyKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmdldENsYWltKCdsb2dnZWRJblVzZXInKTsgfVxuICBnZXQgZXhwKCk6IG51bWJlciB7IHJldHVybiB0aGlzLmdldENsYWltKCdleHAnKTsgfVxuICBnZXQgaWF0KCk6IG51bWJlciB7IHJldHVybiB0aGlzLmdldENsYWltKCdpYXQnKTsgfVxuICBnZXQgYnVzaW5lc3NVbml0SWQoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuZ2V0Q2xhaW0oJ2J1c2luZXNzVW5pdElkJyk7IH1cbiAgZ2V0IGFsbG93ZWRCdWlkcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLmdldENsYWltKCdBTExPV0VEX0JVSURTJyk7IH1cbiAgZ2V0IHZldFVzZXJFbWFpbElkKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmdldENsYWltKCd2ZXRVc2VyRW1haWxJZCcpOyB9XG4gIGdldCB2ZXRVc2VySWQoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuZ2V0Q2xhaW0oJ3ZldFVzZXJJZCcpOyB9XG4gIGdldCBzb3VyY2UoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuZ2V0Q2xhaW0oJ3NvdXJjZScpOyB9XG5cbiAgZ2V0IHJvbGVJZCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHJhdyA9IHRoaXMucmVzb2x2ZVJvbGUodGhpcy5nZXRDbGFpbXMoKSk7XG4gICAgaWYgKCFyYXcpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pc3NpbmdDbGFpbSgncm9sZUlkJywgJ2Fic2VudCcpO1xuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyKHJhdyk7XG4gIH1cblxuICAvKiogRmlyc3QgbnVtZXJpYyByb2xlIGluIGBpbnRlcm5hbF9zc29fcm9sZWAgdGhlbiBgcm9sZXNgLCBvciBgJydgIHdoZW4gdGhlIHRva2VuIGNhcnJpZXMgbm9uZS4gKi9cbiAgcHJpdmF0ZSByZXNvbHZlUm9sZShjbGFpbXM6IE5zU2Vzc2lvbi5JQ2xhaW1zKTogc3RyaW5nIHtcbiAgICBjb25zdCBjYW5kaWRhdGVzID0gW2NsYWltcy5pbnRlcm5hbF9zc29fcm9sZSwgLi4uKGNsYWltcy5yb2xlcyA/PyBbXSldO1xuICAgIHJldHVybiBjYW5kaWRhdGVzXG4gICAgICAubWFwKHZhbHVlID0+IHZhbHVlPy50cmltKCkpXG4gICAgICAuZmluZCh2YWx1ZSA9PiB0aGlzLmlzRGlnaXRzT25seSh2YWx1ZSkpID8/ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0RpZ2l0c09ubHkodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZhbHVlIGlzIHN0cmluZyB7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgL15cXGQrJC8udGVzdCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldENsYWltcygpOiBOc1Nlc3Npb24uSUNsYWltcyB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlO1xuICAgIGlmIChzdGF0ZS5zdGF0dXMgPT09ICdvaycpIHtcbiAgICAgIHJldHVybiBzdGF0ZS5jbGFpbXM7XG4gICAgfVxuICAgIGlmIChzdGF0ZS5zdGF0dXMgPT09ICdub3QtZm91bmQnKSB7XG4gICAgICB0aHJvdyBuZXcgU2Vzc2lvblRva2VuTm90Rm91bmRFcnJvcigpO1xuICAgIH1cbiAgICBpZiAoc3RhdGUuc3RhdHVzID09PSAnZXhwaXJlZCcpIHtcbiAgICAgIHRocm93IG5ldyBTZXNzaW9uVG9rZW5FeHBpcmVkRXJyb3IoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFNlc3Npb25Ub2tlbkludmFsaWRFcnJvcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDbGFpbTxLIGV4dGVuZHMga2V5b2YgTnNTZXNzaW9uLklDbGFpbXM+KGtleTogSyk6IE5vbk51bGxhYmxlPE5zU2Vzc2lvbi5JQ2xhaW1zW0tdPiB7XG4gICAgY29uc3QgY2xhaW1zID0gdGhpcy5nZXRDbGFpbXMoKTtcbiAgICBjb25zdCB2YWx1ZSA9IGNsYWltc1trZXldO1xuICAgIGNvbnN0IGlzRW1wdHlTdHJpbmcgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKSA9PT0gJyc7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgaXNFbXB0eVN0cmluZykge1xuICAgICAgcmV0dXJuIHRoaXMubWlzc2luZ0NsYWltKGtleSBhcyBzdHJpbmcsIGlzRW1wdHlTdHJpbmcgPyAnYmxhbmsnIDogJ2Fic2VudCcpO1xuICAgIH1cbiAgICByZXR1cm4gKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS50cmltKCkgOiB2YWx1ZSkgYXMgTm9uTnVsbGFibGU8TnNTZXNzaW9uLklDbGFpbXNbS10+O1xuICB9XG5cbiAgLyoqIFJlY29yZHMgdGhlIGZhaWx1cmUgYW5kIHlpZWxkcyBgdW5kZWZpbmVkYCB3aGlsZSBgcnVuYCBpcyBjb2xsZWN0aW5nOyB0aHJvd3Mgb3RoZXJ3aXNlLiAqL1xuICBwcml2YXRlIG1pc3NpbmdDbGFpbShjbGFpbTogc3RyaW5nLCByZWFzb246IFNlc3Npb25DbGFpbUZhaWx1cmVSZWFzb24pOiBuZXZlciB7XG4gICAgaWYgKHRoaXMuY29sbGVjdGluZykge1xuICAgICAgdGhpcy5jb2xsZWN0aW5nLnB1c2goeyBjbGFpbSwgcmVhc29uIH0pO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBuZXZlcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFNlc3Npb25DbGFpbU5vdEZvdW5kRXJyb3IoY2xhaW0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgc3RhdGUoKTogU2Vzc2lvblN0YXRlIHtcbiAgICBjb25zdCB7IHRva2VuLCBpc1ZFVCB9ID0gdGhpcy5maW5kVG9rZW4oKTtcbiAgICBpZiAoIXRoaXMuY2FjaGVkU3RhdGUgfHwgdG9rZW4gIT09IHRoaXMuY2FjaGVkVG9rZW4pIHtcbiAgICAgIHRoaXMuY2FjaGVkVG9rZW4gPSB0b2tlbjtcbiAgICAgIHRoaXMuY2FjaGVkU3RhdGUgPSB0aGlzLmJ1aWxkKHRva2VuLCBpc1ZFVCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlZFN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZCh0b2tlbjogc3RyaW5nLCBpc1ZFVDogYm9vbGVhbik6IFNlc3Npb25TdGF0ZSB7XG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgcmV0dXJuIHsgc3RhdHVzOiAnbm90LWZvdW5kJywgaXNWRVQgfTtcbiAgICB9XG5cbiAgICBsZXQgY2xhaW1zOiBOc1Nlc3Npb24uSUNsYWltcztcbiAgICB0cnkge1xuICAgICAgY2xhaW1zID0gand0RGVjb2RlPE5zU2Vzc2lvbi5JQ2xhaW1zPih0b2tlbik7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4geyBzdGF0dXM6ICdpbnZhbGlkJywgaXNWRVQgfTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0V4cGlyZWQoY2xhaW1zKSkge1xuICAgICAgcmV0dXJuIHsgc3RhdHVzOiAnZXhwaXJlZCcsIGlzVkVUIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc3RhdHVzOiAnb2snLCBjbGFpbXMsIGlzVkVUIH07XG4gIH1cblxuICBwcml2YXRlIGlzRXhwaXJlZChjbGFpbXM6IE5zU2Vzc2lvbi5JQ2xhaW1zKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiBjbGFpbXMuZXhwID09PSAnbnVtYmVyJyAmJiBjbGFpbXMuZXhwICogMTAwMCA8PSBEYXRlLm5vdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1ZFVFNvdXJjZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZ2V0UXVlcnlQYXJhbSgnc291cmNlJykgPT09IExBVU5DSF9TT1VSQ0VfVkVUO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQnVpZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gZ2V0UXVlcnlQYXJhbSgnYnVpZCcpIHx8IGdldENvb2tpZSgnYnVpZCcpIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGZpbmRUb2tlbigpOiB7IHRva2VuOiBzdHJpbmc7IGlzVkVUOiBib29sZWFuIH0ge1xuICAgIGNvbnN0IGJ1aWQgPSB0aGlzLnJlc29sdmVCdWlkKCk7XG5cbiAgICBpZiAodGhpcy5pc1ZFVFNvdXJjZSgpKSB7XG4gICAgICBjb25zdCB2ZXRLZXkgPSB0aGlzLmNvbmZpZy52ZXRUb2tlbkNvb2tpZUtleSA/PyAoYnVpZCA/IGAke0RFRkFVTFRfVkVUX1RPS0VOX1BSRUZJWH0tJHtidWlkfWAgOiBudWxsKTtcbiAgICAgIGNvbnN0IHZldFRva2VuID0gKHZldEtleSA/IGdldENvb2tpZSh2ZXRLZXkpIDogJycpIHx8ICcnO1xuICAgICAgaWYgKHZldFRva2VuKSB7XG4gICAgICAgIHJldHVybiB7IHRva2VuOiB2ZXRUb2tlbiwgaXNWRVQ6IHRydWUgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzZXNzaW9uVG9rZW4gPSB0aGlzLmNvbmZpZy5zZXNzaW9uVG9rZW5Db29raWVLZXlcbiAgICAgID8gZ2V0Q29va2llKHRoaXMuY29uZmlnLnNlc3Npb25Ub2tlbkNvb2tpZUtleSlcbiAgICAgIDogKGJ1aWQgPyBnZXRDb29raWUoYCR7REVGQVVMVF9TRVNTSU9OX1RPS0VOX1BSRUZJWH0tJHtidWlkfWApIDogJycpIHx8IGdldENvb2tpZShERUZBVUxUX1NFU1NJT05fVE9LRU5fRkFMTEJBQ0tfS0VZKTtcblxuICAgIHJldHVybiB7IHRva2VuOiBzZXNzaW9uVG9rZW4gfHwgJycsIGlzVkVUOiBmYWxzZSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -8,25 +8,30 @@ import { LoaderComponent } from "./components/loader/loader.component";
|
|
|
8
8
|
import { LoaderService } from "./services/loader.service";
|
|
9
9
|
import { OverlayModule } from "@angular/cdk/overlay";
|
|
10
10
|
import { SidenavComponent } from "./components/sidenav/sidenav.component";
|
|
11
|
+
import { CreateNonShiftModalComponent } from "./components/create-non-shift-modal/create-non-shift-modal.component";
|
|
12
|
+
import { DropdownModule } from "mis-crystal-design-system/dropdown";
|
|
13
|
+
import { ReactiveFormsModule } from "@angular/forms";
|
|
14
|
+
import { DatepickerModuleV2 } from "mis-crystal-design-system/datepicker_v2";
|
|
15
|
+
import { HttpClientModule } from "@angular/common/http";
|
|
11
16
|
import * as i0 from "@angular/core";
|
|
12
17
|
export class WisCommonModule {
|
|
13
18
|
static forRoot(env) {
|
|
14
19
|
return {
|
|
15
20
|
ngModule: WisCommonModule,
|
|
16
|
-
providers: [{ provide: CONSTANTS_WIS_COMMON, useValue: env }, ConfigurationService, LoaderService]
|
|
21
|
+
providers: [HttpService, { provide: CONSTANTS_WIS_COMMON, useValue: env }, ConfigurationService, LoaderService]
|
|
17
22
|
};
|
|
18
23
|
}
|
|
19
24
|
}
|
|
20
25
|
WisCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WisCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21
|
-
WisCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: WisCommonModule, declarations: [LoaderComponent, SidenavComponent], imports: [CommonModule, OverlayModule, LoaderModule], exports: [SidenavComponent] });
|
|
22
|
-
WisCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WisCommonModule,
|
|
26
|
+
WisCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: WisCommonModule, declarations: [LoaderComponent, SidenavComponent, CreateNonShiftModalComponent], imports: [CommonModule, HttpClientModule, OverlayModule, LoaderModule, DropdownModule, ReactiveFormsModule, DatepickerModuleV2], exports: [SidenavComponent, CreateNonShiftModalComponent] });
|
|
27
|
+
WisCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WisCommonModule, imports: [CommonModule, HttpClientModule, OverlayModule, LoaderModule, DropdownModule, ReactiveFormsModule, DatepickerModuleV2] });
|
|
23
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WisCommonModule, decorators: [{
|
|
24
29
|
type: NgModule,
|
|
25
30
|
args: [{
|
|
26
|
-
declarations: [LoaderComponent, SidenavComponent],
|
|
27
|
-
imports: [CommonModule, OverlayModule, LoaderModule],
|
|
28
|
-
providers: [
|
|
29
|
-
exports: [SidenavComponent]
|
|
31
|
+
declarations: [LoaderComponent, SidenavComponent, CreateNonShiftModalComponent],
|
|
32
|
+
imports: [CommonModule, HttpClientModule, OverlayModule, LoaderModule, DropdownModule, ReactiveFormsModule, DatepickerModuleV2,],
|
|
33
|
+
providers: [],
|
|
34
|
+
exports: [SidenavComponent, CreateNonShiftModalComponent]
|
|
30
35
|
}]
|
|
31
36
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzLWNvbW1vbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJpZXMvd2lzLWNvbW1vbi9zcmMvbGliL3dpcy1jb21tb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFReEQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFxQjtRQUNsQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxhQUFhLENBQUM7U0FDL0csQ0FBQztJQUNKLENBQUM7OzRHQU5VLGVBQWU7NkdBQWYsZUFBZSxpQkFMWCxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLGFBQ3BFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsYUFFcEgsZ0JBQWdCLEVBQUUsNEJBQTRCOzZHQUU3QyxlQUFlLFlBSmhCLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0I7MkZBSW5ILGVBQWU7a0JBTjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLDRCQUE0QixDQUFDO29CQUMvRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUU7b0JBQ2hJLFNBQVMsRUFBRSxFQUFFO29CQUNiLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLDRCQUE0QixDQUFDO2lCQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOc1dJU0NvbW1vbiB9IGZyb20gXCIuL21vZGVscy9lbnYubW9kZWxcIjtcbmltcG9ydCB7IENPTlNUQU5UU19XSVNfQ09NTU9OIH0gZnJvbSBcIi4vY29uc3RhbnRzL2VtcC13ZWItZXhwLmNvbnN0YW50c1wiO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9odHRwLnNlcnZpY2VcIjtcbmltcG9ydCB7IExvYWRlck1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL2xvYWRlclwiO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBTaWRlbmF2Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDcmVhdGVOb25TaGlmdE1vZGFsQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9jcmVhdGUtbm9uLXNoaWZ0LW1vZGFsL2NyZWF0ZS1ub24tc2hpZnQtbW9kYWwuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEYXRlcGlja2VyTW9kdWxlVjIgfSBmcm9tIFwibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS9kYXRlcGlja2VyX3YyXCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0xvYWRlckNvbXBvbmVudCwgU2lkZW5hdkNvbXBvbmVudCwgQ3JlYXRlTm9uU2hpZnRNb2RhbENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEh0dHBDbGllbnRNb2R1bGUsIE92ZXJsYXlNb2R1bGUsIExvYWRlck1vZHVsZSwgRHJvcGRvd25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIERhdGVwaWNrZXJNb2R1bGVWMixdLFxuICBwcm92aWRlcnM6IFtdLFxuICBleHBvcnRzOiBbU2lkZW5hdkNvbXBvbmVudCwgQ3JlYXRlTm9uU2hpZnRNb2RhbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgV2lzQ29tbW9uTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoZW52OiBOc1dJU0NvbW1vbi5JRW52KTogTW9kdWxlV2l0aFByb3ZpZGVyczxXaXNDb21tb25Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFdpc0NvbW1vbk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW0h0dHBTZXJ2aWNlLHsgcHJvdmlkZTogQ09OU1RBTlRTX1dJU19DT01NT04sIHVzZVZhbHVlOiBlbnYgfSwgQ29uZmlndXJhdGlvblNlcnZpY2UsIExvYWRlclNlcnZpY2VdXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -16,4 +16,8 @@ export * from "./lib/wis-common.module";
|
|
|
16
16
|
export * from "./lib/modules/logger/logger.model";
|
|
17
17
|
export * from "./lib/components/sidenav/sidenav.component";
|
|
18
18
|
export * from "./lib/services/mfe-communication.service";
|
|
19
|
-
|
|
19
|
+
export * from "./lib/components/create-non-shift-modal/create-non-shift-modal.component";
|
|
20
|
+
export * from "./lib/services/session.service";
|
|
21
|
+
export * from "./lib/services/session.errors";
|
|
22
|
+
export * from "./lib/models/session.model";
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYnJhcmllcy93aXMtY29tbW9uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwRUFBMEUsQ0FBQztBQUN6RixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygd2lzLWNvbW1vblxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tb2R1bGVzL2F1dGgvYXV0aC5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kdWxlcy9hdXRoL2F1dGgubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kZWxzL2NvbmZpZ3VyYXRpb25zLm1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZnVuY3Rpb25zL25hdi1maWx0ZXIuZnVuY3Rpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9mdW5jdGlvbnMvY29va2llLmZ1bmN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZnVuY3Rpb25zL3VybC5mdW5jdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnRlcmNlcHRvcnMvYXV0aC5pbnRlcmNlcHRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kdWxlcy9sb2dnZXIvbG9nZ2VyLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21vZHVsZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvd2lzLWNvbW1vbi5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tb2R1bGVzL2xvZ2dlci9sb2dnZXIubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlcy9tZmUtY29tbXVuaWNhdGlvbi5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jcmVhdGUtbm9uLXNoaWZ0LW1vZGFsL2NyZWF0ZS1ub24tc2hpZnQtbW9kYWwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvc2Vzc2lvbi5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvc2Vzc2lvbi5lcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tb2RlbHMvc2Vzc2lvbi5tb2RlbFwiO1xuIl19
|