@csmart/ngc-smart-core 0.7.95 → 1.13.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/csmart-ngc-smart-core.d.ts +1 -5
- package/esm2020/csmart-ngc-smart-core.mjs +5 -0
- package/esm2020/lib/ngc-smart-core.module.mjs +97 -0
- package/esm2020/lib/smart-auth/smart-access-control-config.mjs +12 -0
- package/esm2020/lib/smart-auth/smart-access-control.directive.mjs +40 -0
- package/esm2020/lib/smart-auth/smart-auth.service.mjs +479 -0
- package/esm2020/lib/smart-auth/smart-authorization-guard.service.mjs +35 -0
- package/esm2020/lib/smart-auth/smart-error.component.mjs +37 -0
- package/esm2020/lib/smart-auth/smart-login-staff-resolver.service.mjs +59 -0
- package/esm2020/lib/smart-auth/smart-selected-offender-resolver.service.mjs +49 -0
- package/esm2020/lib/smart-navbar/smart-navbar-config.mjs +2 -0
- package/esm2020/lib/smart-navbar/smart-navbar.component.mjs +132 -0
- package/esm2020/lib/smart-navbar/smart-navbar.service.mjs +63 -0
- package/esm2020/lib/smart-offender-header/smart-offender-header.component.mjs +151 -0
- package/esm2020/lib/smart-offender-header/smart-offender-header.service.mjs +41 -0
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.mjs +25 -0
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options.component.mjs +78 -0
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options.service.mjs +134 -0
- package/esm2020/lib/smart-storage/smart-storage-model.mjs +30 -0
- package/esm2020/lib/smart-storage/xdm.service.mjs +158 -0
- package/esm2020/public-api.mjs +20 -0
- package/fesm2015/csmart-ngc-smart-core.mjs +1529 -0
- package/fesm2015/csmart-ngc-smart-core.mjs.map +1 -0
- package/fesm2020/csmart-ngc-smart-core.mjs +1514 -0
- package/fesm2020/csmart-ngc-smart-core.mjs.map +1 -0
- package/lib/ngc-smart-core.module.d.ts +18 -0
- package/lib/smart-auth/smart-access-control.directive.d.ts +3 -0
- package/lib/smart-auth/smart-auth.service.d.ts +4 -0
- package/lib/smart-auth/smart-authorization-guard.service.d.ts +3 -0
- package/lib/smart-auth/smart-error.component.d.ts +3 -0
- package/lib/smart-auth/smart-login-staff-resolver.service.d.ts +3 -0
- package/lib/smart-auth/smart-selected-offender-resolver.service.d.ts +3 -0
- package/lib/smart-navbar/smart-navbar.component.d.ts +6 -3
- package/lib/smart-navbar/smart-navbar.service.d.ts +3 -0
- package/lib/smart-offender-header/smart-offender-header.component.d.ts +4 -1
- package/lib/smart-offender-header/smart-offender-header.service.d.ts +3 -0
- package/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.d.ts +3 -0
- package/lib/smart-staff-offender-options/smart-staff-offender-options.component.d.ts +3 -0
- package/lib/smart-staff-offender-options/smart-staff-offender-options.service.d.ts +6 -3
- package/lib/smart-storage/xdm.service.d.ts +3 -0
- package/package.json +25 -14
- package/public-api.d.ts +3 -0
- package/bundles/csmart-ngc-smart-core.umd.js +0 -2620
- package/bundles/csmart-ngc-smart-core.umd.js.map +0 -1
- package/bundles/csmart-ngc-smart-core.umd.min.js +0 -2
- package/bundles/csmart-ngc-smart-core.umd.min.js.map +0 -1
- package/csmart-ngc-smart-core.metadata.json +0 -1
- package/esm2015/csmart-ngc-smart-core.js +0 -15
- package/esm2015/lib/ngc-smart-core.module.js +0 -59
- package/esm2015/lib/smart-auth/smart-access-control-config.js +0 -32
- package/esm2015/lib/smart-auth/smart-access-control.directive.js +0 -70
- package/esm2015/lib/smart-auth/smart-auth.service.js +0 -693
- package/esm2015/lib/smart-auth/smart-authorization-guard.service.js +0 -63
- package/esm2015/lib/smart-auth/smart-error.component.js +0 -77
- package/esm2015/lib/smart-auth/smart-login-staff-resolver.service.js +0 -94
- package/esm2015/lib/smart-auth/smart-selected-offender-resolver.service.js +0 -101
- package/esm2015/lib/smart-navbar/smart-navbar-config.js +0 -22
- package/esm2015/lib/smart-navbar/smart-navbar.component.js +0 -224
- package/esm2015/lib/smart-navbar/smart-navbar.service.js +0 -89
- package/esm2015/lib/smart-offender-header/smart-offender-header.component.js +0 -253
- package/esm2015/lib/smart-offender-header/smart-offender-header.service.js +0 -85
- package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.js +0 -49
- package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options.component.js +0 -151
- package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options.service.js +0 -222
- package/esm2015/lib/smart-storage/smart-storage-model.js +0 -131
- package/esm2015/lib/smart-storage/xdm.service.js +0 -317
- package/esm2015/public-api.js +0 -22
- package/esm5/csmart-ngc-smart-core.js +0 -15
- package/esm5/lib/ngc-smart-core.module.js +0 -63
- package/esm5/lib/smart-auth/smart-access-control-config.js +0 -32
- package/esm5/lib/smart-auth/smart-access-control.directive.js +0 -74
- package/esm5/lib/smart-auth/smart-auth.service.js +0 -762
- package/esm5/lib/smart-auth/smart-authorization-guard.service.js +0 -67
- package/esm5/lib/smart-auth/smart-error.component.js +0 -83
- package/esm5/lib/smart-auth/smart-login-staff-resolver.service.js +0 -98
- package/esm5/lib/smart-auth/smart-selected-offender-resolver.service.js +0 -108
- package/esm5/lib/smart-navbar/smart-navbar-config.js +0 -22
- package/esm5/lib/smart-navbar/smart-navbar.component.js +0 -251
- package/esm5/lib/smart-navbar/smart-navbar.service.js +0 -114
- package/esm5/lib/smart-offender-header/smart-offender-header.component.js +0 -283
- package/esm5/lib/smart-offender-header/smart-offender-header.service.js +0 -76
- package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.js +0 -52
- package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options.component.js +0 -165
- package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options.service.js +0 -232
- package/esm5/lib/smart-storage/smart-storage-model.js +0 -155
- package/esm5/lib/smart-storage/xdm.service.js +0 -389
- package/esm5/public-api.js +0 -22
- package/fesm2015/csmart-ngc-smart-core.js +0 -2231
- package/fesm2015/csmart-ngc-smart-core.js.map +0 -1
- package/fesm5/csmart-ngc-smart-core.js +0 -2502
- package/fesm5/csmart-ngc-smart-core.js.map +0 -1
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/smart-auth/smart-authorization-guard.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
// smart-authorization.service
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import { take, mergeMap, catchError } from 'rxjs/operators';
|
|
9
|
-
import { of } from 'rxjs';
|
|
10
|
-
import { SmartAuthService } from './smart-auth.service';
|
|
11
|
-
export class SmartAuthorizationGuard {
|
|
12
|
-
/**
|
|
13
|
-
* @param {?} authnService
|
|
14
|
-
*/
|
|
15
|
-
constructor(authnService) {
|
|
16
|
-
this.authnService = authnService;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @param {?} route
|
|
20
|
-
* @return {?}
|
|
21
|
-
*/
|
|
22
|
-
canActivate(route) {
|
|
23
|
-
return this.authnService.getLoginStaff().pipe(take(1), mergeMap((/**
|
|
24
|
-
* @param {?} loginStaff
|
|
25
|
-
* @return {?}
|
|
26
|
-
*/
|
|
27
|
-
(loginStaff) => {
|
|
28
|
-
if (!loginStaff || !route || !route.routeConfig) {
|
|
29
|
-
return of(false);
|
|
30
|
-
}
|
|
31
|
-
// if (!this.authnService.isAuthEnable(loginStaff.roles, null)) {
|
|
32
|
-
// return of(true);
|
|
33
|
-
// }
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
const resource = route.routeConfig.path
|
|
36
|
-
? route.routeConfig.path.split('/')[0]
|
|
37
|
-
: '';
|
|
38
|
-
/** @type {?} */
|
|
39
|
-
const isFeatureValid = this.authnService.canAppFeatureActivate(loginStaff, resource);
|
|
40
|
-
return of(isFeatureValid);
|
|
41
|
-
})), catchError((/**
|
|
42
|
-
* @param {?} error
|
|
43
|
-
* @return {?}
|
|
44
|
-
*/
|
|
45
|
-
(error) => {
|
|
46
|
-
return of(false);
|
|
47
|
-
})));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
SmartAuthorizationGuard.decorators = [
|
|
51
|
-
{ type: Injectable }
|
|
52
|
-
];
|
|
53
|
-
/** @nocollapse */
|
|
54
|
-
SmartAuthorizationGuard.ctorParameters = () => [
|
|
55
|
-
{ type: SmartAuthService }
|
|
56
|
-
];
|
|
57
|
-
if (false) {
|
|
58
|
-
/** @type {?} */
|
|
59
|
-
SmartAuthorizationGuard.prototype.loginStaff;
|
|
60
|
-
/** @type {?} */
|
|
61
|
-
SmartAuthorizationGuard.prototype.authnService;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYXV0aG9yaXphdGlvbi1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNzbWFydC9uZ2Mtc21hcnQtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zbWFydC1hdXRoL3NtYXJ0LWF1dGhvcml6YXRpb24tZ3VhcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHeEQsTUFBTSxPQUFPLHVCQUF1Qjs7OztJQUdsQyxZQUFtQixZQUE4QjtRQUE5QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7SUFBSSxDQUFDOzs7OztJQUV0RCxXQUFXLENBQUMsS0FBNkI7UUFDdkMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFFBQVE7Ozs7UUFBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO2dCQUMvQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjs7Ozs7a0JBSUssUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDckMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxFQUFFOztrQkFDQSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FDNUQsVUFBVSxFQUNWLFFBQVEsQ0FDVDtZQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBQyxFQUNGLFVBQVU7Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7WUE3QkYsVUFBVTs7OztZQUZGLGdCQUFnQjs7OztJQUl2Qiw2Q0FBdUI7O0lBRVgsK0NBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc21hcnQtYXV0aG9yaXphdGlvbi5zZXJ2aWNlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDYW5BY3RpdmF0ZSxcclxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgdGFrZSwgbWVyZ2VNYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IG9mLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2luU3RhZmYgfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3NtYXJ0LXN0b3JhZ2UtbW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1hdXRoLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU21hcnRBdXRob3JpemF0aW9uR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcbiAgbG9naW5TdGFmZjogTG9naW5TdGFmZjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhuU2VydmljZTogU21hcnRBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRoblNlcnZpY2UuZ2V0TG9naW5TdGFmZigpLnBpcGUoXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIG1lcmdlTWFwKChsb2dpblN0YWZmKSA9PiB7XHJcbiAgICAgICAgaWYgKCFsb2dpblN0YWZmIHx8ICFyb3V0ZSB8fCAhcm91dGUucm91dGVDb25maWcpIHtcclxuICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGlmICghdGhpcy5hdXRoblNlcnZpY2UuaXNBdXRoRW5hYmxlKGxvZ2luU3RhZmYucm9sZXMsIG51bGwpKSB7XHJcbiAgICAgICAgLy8gICByZXR1cm4gb2YodHJ1ZSk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gcm91dGUucm91dGVDb25maWcucGF0aFxyXG4gICAgICAgICAgPyByb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoLnNwbGl0KCcvJylbMF1cclxuICAgICAgICAgIDogJyc7XHJcbiAgICAgICAgY29uc3QgaXNGZWF0dXJlVmFsaWQgPSB0aGlzLmF1dGhuU2VydmljZS5jYW5BcHBGZWF0dXJlQWN0aXZhdGUoXHJcbiAgICAgICAgICBsb2dpblN0YWZmLFxyXG4gICAgICAgICAgcmVzb3VyY2UsXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gb2YoaXNGZWF0dXJlVmFsaWQpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/smart-auth/smart-error.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Component, Inject } from '@angular/core';
|
|
7
|
-
// import { SmartAuthService } from './smart-auth.service';
|
|
8
|
-
import { MsalService } from '@azure/msal-angular';
|
|
9
|
-
import { ActivatedRoute } from '@angular/router';
|
|
10
|
-
import { SMART_WEB_PORTAL_URL } from '../smart-storage/smart-storage-model';
|
|
11
|
-
export class SmartErrorComponent {
|
|
12
|
-
/**
|
|
13
|
-
* @param {?} authnService
|
|
14
|
-
* @param {?} route
|
|
15
|
-
* @param {?} smartWebPortalUrl
|
|
16
|
-
*/
|
|
17
|
-
constructor(authnService, route, smartWebPortalUrl) {
|
|
18
|
-
this.authnService = authnService;
|
|
19
|
-
this.route = route;
|
|
20
|
-
this.smartWebPortalUrl = smartWebPortalUrl;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* @return {?}
|
|
24
|
-
*/
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
this.type = this.route.snapshot.queryParamMap.get('type') || 'staff';
|
|
27
|
-
this.message =
|
|
28
|
-
this.route.snapshot.queryParamMap.get('message') || 'Error occured.';
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* @return {?}
|
|
32
|
-
*/
|
|
33
|
-
logout() {
|
|
34
|
-
this.authnService.logout();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* @return {?}
|
|
38
|
-
*/
|
|
39
|
-
portal() {
|
|
40
|
-
window.location.href = this.smartWebPortalUrl;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
SmartErrorComponent.decorators = [
|
|
44
|
-
{ type: Component, args: [{
|
|
45
|
-
selector: 'app-smart-error',
|
|
46
|
-
template: "<div>\r\n <h2>\r\n {{ message }}\r\n </h2>\r\n <p>\r\n Please contact help desk if needed.\r\n </p>\r\n <div>\r\n <button (click)=\"logout()\" *ngIf=\"type === 'staff'\">OK</button>\r\n <button (click)=\"portal()\" *ngIf=\"type === 'offender'\">OK</button>\r\n </div>\r\n</div>\r\n",
|
|
47
|
-
styles: ["div{text-align:center}"]
|
|
48
|
-
}] }
|
|
49
|
-
];
|
|
50
|
-
/** @nocollapse */
|
|
51
|
-
SmartErrorComponent.ctorParameters = () => [
|
|
52
|
-
{ type: MsalService },
|
|
53
|
-
{ type: ActivatedRoute },
|
|
54
|
-
{ type: String, decorators: [{ type: Inject, args: [SMART_WEB_PORTAL_URL,] }] }
|
|
55
|
-
];
|
|
56
|
-
if (false) {
|
|
57
|
-
/** @type {?} */
|
|
58
|
-
SmartErrorComponent.prototype.type;
|
|
59
|
-
/** @type {?} */
|
|
60
|
-
SmartErrorComponent.prototype.message;
|
|
61
|
-
/**
|
|
62
|
-
* @type {?}
|
|
63
|
-
* @private
|
|
64
|
-
*/
|
|
65
|
-
SmartErrorComponent.prototype.authnService;
|
|
66
|
-
/**
|
|
67
|
-
* @type {?}
|
|
68
|
-
* @private
|
|
69
|
-
*/
|
|
70
|
-
SmartErrorComponent.prototype.route;
|
|
71
|
-
/**
|
|
72
|
-
* @type {?}
|
|
73
|
-
* @private
|
|
74
|
-
*/
|
|
75
|
-
SmartErrorComponent.prototype.smartWebPortalUrl;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNzbWFydC9uZ2Mtc21hcnQtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zbWFydC1hdXRoL3NtYXJ0LWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBTzVFLE1BQU0sT0FBTyxtQkFBbUI7Ozs7OztJQUk5QixZQUNVLFlBQXlCLEVBQ3pCLEtBQXFCLEVBQ1MsaUJBQXlCO1FBRnZELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ1Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO0lBQzlELENBQUM7Ozs7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQztRQUNyRSxJQUFJLENBQUMsT0FBTztZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksZ0JBQWdCLENBQUM7SUFDekUsQ0FBQzs7OztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxNQUFNO1FBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hELENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsdVRBQTJDOzthQUU1Qzs7OztZQVJRLFdBQVc7WUFDWCxjQUFjO3lDQWVsQixNQUFNLFNBQUMsb0JBQW9COzs7O0lBTjlCLG1DQUFhOztJQUNiLHNDQUFnQjs7Ozs7SUFHZCwyQ0FBaUM7Ozs7O0lBQ2pDLG9DQUE2Qjs7Ozs7SUFDN0IsZ0RBQStEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vLyBpbXBvcnQgeyBTbWFydEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNc2FsU2VydmljZSB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNNQVJUX1dFQl9QT1JUQUxfVVJMIH0gZnJvbSAnLi4vc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLW1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNtYXJ0LWVycm9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWVycm9yLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RXJyb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhdXRoblNlcnZpY2U6IE1zYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBASW5qZWN0KFNNQVJUX1dFQl9QT1JUQUxfVVJMKSBwcml2YXRlIHNtYXJ0V2ViUG9ydGFsVXJsOiBzdHJpbmcsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHlwZSA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ3R5cGUnKSB8fCAnc3RhZmYnO1xyXG4gICAgdGhpcy5tZXNzYWdlID1cclxuICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnbWVzc2FnZScpIHx8ICdFcnJvciBvY2N1cmVkLic7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhuU2VydmljZS5sb2dvdXQoKTtcclxuICB9XHJcblxyXG4gIHBvcnRhbCgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5zbWFydFdlYlBvcnRhbFVybDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/smart-auth/smart-login-staff-resolver.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable, isDevMode } from '@angular/core';
|
|
7
|
-
import { Router, } from '@angular/router';
|
|
8
|
-
import { EMPTY, of, throwError } from 'rxjs';
|
|
9
|
-
import { mergeMap, catchError, take } from 'rxjs/operators';
|
|
10
|
-
import { SmartAuthService } from './smart-auth.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./smart-auth.service";
|
|
13
|
-
import * as i2 from "@angular/router";
|
|
14
|
-
export class LoginStaffResolverService {
|
|
15
|
-
/**
|
|
16
|
-
* @param {?} authnService
|
|
17
|
-
* @param {?} router
|
|
18
|
-
*/
|
|
19
|
-
constructor(authnService, router) {
|
|
20
|
-
this.authnService = authnService;
|
|
21
|
-
this.router = router;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* @param {?} route
|
|
25
|
-
* @param {?} state
|
|
26
|
-
* @return {?}
|
|
27
|
-
*/
|
|
28
|
-
resolve(route, state) {
|
|
29
|
-
return this.authnService.getLoginStaff().pipe(take(1), mergeMap((/**
|
|
30
|
-
* @param {?} loginStaff
|
|
31
|
-
* @return {?}
|
|
32
|
-
*/
|
|
33
|
-
(loginStaff) => {
|
|
34
|
-
if (isDevMode) {
|
|
35
|
-
console.log('LoginStaffResolverService: ', loginStaff);
|
|
36
|
-
}
|
|
37
|
-
if (loginStaff) {
|
|
38
|
-
return of(loginStaff);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return throwError('Not authorized to access SMART.');
|
|
42
|
-
// return EMPTY;
|
|
43
|
-
/*
|
|
44
|
-
this.zone.run(() => {
|
|
45
|
-
this.router.navigate(['/smart-error'], {
|
|
46
|
-
queryParams: {
|
|
47
|
-
type: 'staff',
|
|
48
|
-
message: 'Not authorized to access SMART.'
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
return EMPTY;
|
|
53
|
-
*/
|
|
54
|
-
}
|
|
55
|
-
})), catchError((/**
|
|
56
|
-
* @param {?} error
|
|
57
|
-
* @return {?}
|
|
58
|
-
*/
|
|
59
|
-
(error) => {
|
|
60
|
-
console.log('LoginStaffResolverService: ' + error);
|
|
61
|
-
this.router.navigate(['/smart-error'], {
|
|
62
|
-
queryParams: {
|
|
63
|
-
type: 'staff',
|
|
64
|
-
message: 'SMART Authentication: ' + error,
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
return EMPTY;
|
|
68
|
-
})));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
LoginStaffResolverService.decorators = [
|
|
72
|
-
{ type: Injectable, args: [{
|
|
73
|
-
providedIn: 'root',
|
|
74
|
-
},] }
|
|
75
|
-
];
|
|
76
|
-
/** @nocollapse */
|
|
77
|
-
LoginStaffResolverService.ctorParameters = () => [
|
|
78
|
-
{ type: SmartAuthService },
|
|
79
|
-
{ type: Router }
|
|
80
|
-
];
|
|
81
|
-
/** @nocollapse */ LoginStaffResolverService.ngInjectableDef = i0.defineInjectable({ factory: function LoginStaffResolverService_Factory() { return new LoginStaffResolverService(i0.inject(i1.SmartAuthService), i0.inject(i2.Router)); }, token: LoginStaffResolverService, providedIn: "root" });
|
|
82
|
-
if (false) {
|
|
83
|
-
/**
|
|
84
|
-
* @type {?}
|
|
85
|
-
* @private
|
|
86
|
-
*/
|
|
87
|
-
LoginStaffResolverService.prototype.authnService;
|
|
88
|
-
/**
|
|
89
|
-
* @type {?}
|
|
90
|
-
* @private
|
|
91
|
-
*/
|
|
92
|
-
LoginStaffResolverService.prototype.router;
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbG9naW4tc3RhZmYtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjc21hcnQvbmdjLXNtYXJ0LWNvcmUvIiwic291cmNlcyI6WyJsaWIvc21hcnQtYXV0aC9zbWFydC1sb2dpbi1zdGFmZi1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUlMLE1BQU0sR0FDUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBYyxLQUFLLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU14RCxNQUFNLE9BQU8seUJBQXlCOzs7OztJQUNwQyxZQUNVLFlBQThCLEVBRTlCLE1BQWM7UUFGZCxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFFOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDOzs7Ozs7SUFFSixPQUFPLENBQ0wsS0FBNkIsRUFDN0IsS0FBMEI7UUFFMUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFFBQVE7Ozs7UUFBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RCLElBQUksU0FBUyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDeEQ7WUFDRCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxPQUFPLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2dCQUNyRCxnQkFBZ0I7Z0JBQ2hCOzs7Ozs7Ozs7O2tCQVVFO2FBQ0g7UUFDSCxDQUFDLEVBQUMsRUFDRixVQUFVOzs7O1FBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ3JDLFdBQVcsRUFBRTtvQkFDWCxJQUFJLEVBQUUsT0FBTztvQkFDYixPQUFPLEVBQUUsd0JBQXdCLEdBQUcsS0FBSztpQkFDMUM7YUFDRixDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7WUFqREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTFEsZ0JBQWdCO1lBSnZCLE1BQU07Ozs7Ozs7O0lBWUosaURBQXNDOzs7OztJQUV0QywyQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFJlc29sdmUsXHJcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxyXG4gIFJvdXRlcixcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBFTVBUWSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIGNhdGNoRXJyb3IsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNtYXJ0QXV0aFNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LWF1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2luU3RhZmYgfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3NtYXJ0LXN0b3JhZ2UtbW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luU3RhZmZSZXNvbHZlclNlcnZpY2UgaW1wbGVtZW50cyBSZXNvbHZlPExvZ2luU3RhZmY+IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aG5TZXJ2aWNlOiBTbWFydEF1dGhTZXJ2aWNlLFxyXG4gICAgLy8gcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICkge31cclxuXHJcbiAgcmVzb2x2ZShcclxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXHJcbiAgKTogT2JzZXJ2YWJsZTxMb2dpblN0YWZmPiB8IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmF1dGhuU2VydmljZS5nZXRMb2dpblN0YWZmKCkucGlwZShcclxuICAgICAgdGFrZSgxKSxcclxuICAgICAgbWVyZ2VNYXAoKGxvZ2luU3RhZmYpID0+IHtcclxuICAgICAgICBpZiAoaXNEZXZNb2RlKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnTG9naW5TdGFmZlJlc29sdmVyU2VydmljZTogJywgbG9naW5TdGFmZik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChsb2dpblN0YWZmKSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YobG9naW5TdGFmZik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdOb3QgYXV0aG9yaXplZCB0byBhY2Nlc3MgU01BUlQuJyk7XHJcbiAgICAgICAgICAvLyByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgICAvKlxyXG4gICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3NtYXJ0LWVycm9yJ10sIHtcclxuICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0YWZmJyxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdOb3QgYXV0aG9yaXplZCB0byBhY2Nlc3MgU01BUlQuJ1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICAgICovXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnTG9naW5TdGFmZlJlc29sdmVyU2VydmljZTogJyArIGVycm9yKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zbWFydC1lcnJvciddLCB7XHJcbiAgICAgICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgICAgICB0eXBlOiAnc3RhZmYnLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiAnU01BUlQgQXV0aGVudGljYXRpb246ICcgKyBlcnJvcixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/smart-auth/smart-selected-offender-resolver.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable, NgZone, isDevMode } from '@angular/core';
|
|
7
|
-
import { Router, } from '@angular/router';
|
|
8
|
-
import { from, of, EMPTY, throwError, concat } from 'rxjs';
|
|
9
|
-
import { catchError, mergeMap, take, retryWhen, delay, } from 'rxjs/operators';
|
|
10
|
-
import { XdmService } from '../smart-storage/xdm.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "../smart-storage/xdm.service";
|
|
13
|
-
import * as i2 from "@angular/router";
|
|
14
|
-
export class SelectedOffenderResolverService {
|
|
15
|
-
/**
|
|
16
|
-
* @param {?} service
|
|
17
|
-
* @param {?} zone
|
|
18
|
-
* @param {?} router
|
|
19
|
-
*/
|
|
20
|
-
constructor(service, zone, router) {
|
|
21
|
-
this.service = service;
|
|
22
|
-
this.zone = zone;
|
|
23
|
-
this.router = router;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* @param {?} route
|
|
27
|
-
* @param {?} state
|
|
28
|
-
* @return {?}
|
|
29
|
-
*/
|
|
30
|
-
resolve(route, state) {
|
|
31
|
-
return from(this.service.getSelectedOffender()).pipe(mergeMap((/**
|
|
32
|
-
* @param {?} selectedOffender
|
|
33
|
-
* @return {?}
|
|
34
|
-
*/
|
|
35
|
-
(selectedOffender) => {
|
|
36
|
-
if (isDevMode) {
|
|
37
|
-
console.log(selectedOffender);
|
|
38
|
-
}
|
|
39
|
-
if (!selectedOffender) {
|
|
40
|
-
return throwError('No offender selected.');
|
|
41
|
-
}
|
|
42
|
-
return of(selectedOffender);
|
|
43
|
-
})), retryWhen((/**
|
|
44
|
-
* @param {?} errors
|
|
45
|
-
* @return {?}
|
|
46
|
-
*/
|
|
47
|
-
(errors) => errors.pipe(
|
|
48
|
-
// tap(() => console.log('Retry getting selected offender.')),
|
|
49
|
-
delay(1000), take(5), (/**
|
|
50
|
-
* @param {?} o
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
(o) => concat(o, throwError('No offender selected (failed after retries).')))))), catchError((/**
|
|
54
|
-
* @param {?} error
|
|
55
|
-
* @return {?}
|
|
56
|
-
*/
|
|
57
|
-
(error) => {
|
|
58
|
-
/*
|
|
59
|
-
this.zone.run(() => {
|
|
60
|
-
this.router.navigate(['/smart-error'], {
|
|
61
|
-
queryParams: { type: 'offender', message: error }
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
*/
|
|
65
|
-
this.router.navigate(['/smart-error'], {
|
|
66
|
-
queryParams: { type: 'offender', message: error },
|
|
67
|
-
});
|
|
68
|
-
return EMPTY;
|
|
69
|
-
})));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
SelectedOffenderResolverService.decorators = [
|
|
73
|
-
{ type: Injectable, args: [{
|
|
74
|
-
providedIn: 'root',
|
|
75
|
-
},] }
|
|
76
|
-
];
|
|
77
|
-
/** @nocollapse */
|
|
78
|
-
SelectedOffenderResolverService.ctorParameters = () => [
|
|
79
|
-
{ type: XdmService },
|
|
80
|
-
{ type: NgZone },
|
|
81
|
-
{ type: Router }
|
|
82
|
-
];
|
|
83
|
-
/** @nocollapse */ SelectedOffenderResolverService.ngInjectableDef = i0.defineInjectable({ factory: function SelectedOffenderResolverService_Factory() { return new SelectedOffenderResolverService(i0.inject(i1.XdmService), i0.inject(i0.NgZone), i0.inject(i2.Router)); }, token: SelectedOffenderResolverService, providedIn: "root" });
|
|
84
|
-
if (false) {
|
|
85
|
-
/**
|
|
86
|
-
* @type {?}
|
|
87
|
-
* @private
|
|
88
|
-
*/
|
|
89
|
-
SelectedOffenderResolverService.prototype.service;
|
|
90
|
-
/**
|
|
91
|
-
* @type {?}
|
|
92
|
-
* @private
|
|
93
|
-
*/
|
|
94
|
-
SelectedOffenderResolverService.prototype.zone;
|
|
95
|
-
/**
|
|
96
|
-
* @type {?}
|
|
97
|
-
* @private
|
|
98
|
-
*/
|
|
99
|
-
SelectedOffenderResolverService.prototype.router;
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjc21hcnQvbmdjLXNtYXJ0LWNvcmUvIiwic291cmNlcyI6WyJsaWIvc21hcnQtYXV0aC9zbWFydC1zZWxlY3RlZC1vZmZlbmRlci1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFJTCxNQUFNLEdBQ1AsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQWMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFFUixJQUFJLEVBQ0osU0FBUyxFQUVULEtBQUssR0FDTixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUsxRCxNQUFNLE9BQU8sK0JBQStCOzs7Ozs7SUFFMUMsWUFDVSxPQUFtQixFQUNuQixJQUFZLEVBQ1osTUFBYztRQUZkLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckIsQ0FBQzs7Ozs7O0lBRUosT0FBTyxDQUNMLEtBQTZCLEVBQzdCLEtBQTBCO1FBRTFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbEQsUUFBUTs7OztRQUFDLENBQUMsZ0JBQWdCLEVBQUUsRUFBRTtZQUM1QixJQUFJLFNBQVMsRUFBRTtnQkFDYixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDL0I7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3JCLE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUM7YUFDNUM7WUFDRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlCLENBQUMsRUFBQyxFQUNGLFNBQVM7Ozs7UUFBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ25CLE1BQU0sQ0FBQyxJQUFJO1FBQ1QsOERBQThEO1FBQzlELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFDWCxJQUFJLENBQUMsQ0FBQyxDQUFDOzs7O1FBQ1AsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLE1BQU0sQ0FDSixDQUFDLEVBQ0QsVUFBVSxDQUFDLDhDQUE4QyxDQUFDLENBQzNELEVBQ0osRUFDRixFQUNELFVBQVU7Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25COzs7Ozs7Y0FNRTtZQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ3JDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTthQUNsRCxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7WUFuREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBSlEsVUFBVTtZQWxCRSxNQUFNO1lBS3pCLE1BQU07Ozs7Ozs7O0lBcUJKLGtEQUEyQjs7Ozs7SUFDM0IsK0NBQW9COzs7OztJQUNwQixpREFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFJlc29sdmUsXHJcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxyXG4gIFJvdXRlcixcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBvZiwgRU1QVFksIHRocm93RXJyb3IsIGNvbmNhdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIGNhdGNoRXJyb3IsXHJcbiAgbWVyZ2VNYXAsXHJcbiAgbWFwLFxyXG4gIHRha2UsXHJcbiAgcmV0cnlXaGVuLFxyXG4gIHRhcCxcclxuICBkZWxheSxcclxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkT2ZmZW5kZXIgfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3NtYXJ0LXN0b3JhZ2UtbW9kZWwnO1xyXG5pbXBvcnQgeyBYZG1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtc3RvcmFnZS94ZG0uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRPZmZlbmRlclJlc29sdmVyU2VydmljZVxyXG4gIGltcGxlbWVudHMgUmVzb2x2ZTxTZWxlY3RlZE9mZmVuZGVyPiB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFhkbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7fVxyXG5cclxuICByZXNvbHZlKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcclxuICApOiBPYnNlcnZhYmxlPFNlbGVjdGVkT2ZmZW5kZXI+IHwgT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gICAgcmV0dXJuIGZyb20odGhpcy5zZXJ2aWNlLmdldFNlbGVjdGVkT2ZmZW5kZXIoKSkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoKHNlbGVjdGVkT2ZmZW5kZXIpID0+IHtcclxuICAgICAgICBpZiAoaXNEZXZNb2RlKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhzZWxlY3RlZE9mZmVuZGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFzZWxlY3RlZE9mZmVuZGVyKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignTm8gb2ZmZW5kZXIgc2VsZWN0ZWQuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZihzZWxlY3RlZE9mZmVuZGVyKTtcclxuICAgICAgfSksXHJcbiAgICAgIHJldHJ5V2hlbigoZXJyb3JzKSA9PlxyXG4gICAgICAgIGVycm9ycy5waXBlKFxyXG4gICAgICAgICAgLy8gdGFwKCgpID0+IGNvbnNvbGUubG9nKCdSZXRyeSBnZXR0aW5nIHNlbGVjdGVkIG9mZmVuZGVyLicpKSxcclxuICAgICAgICAgIGRlbGF5KDEwMDApLFxyXG4gICAgICAgICAgdGFrZSg1KSxcclxuICAgICAgICAgIChvKSA9PlxyXG4gICAgICAgICAgICBjb25jYXQoXHJcbiAgICAgICAgICAgICAgbyxcclxuICAgICAgICAgICAgICB0aHJvd0Vycm9yKCdObyBvZmZlbmRlciBzZWxlY3RlZCAoZmFpbGVkIGFmdGVyIHJldHJpZXMpLicpLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgLypcclxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3NtYXJ0LWVycm9yJ10sIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgdHlwZTogJ29mZmVuZGVyJywgbWVzc2FnZTogZXJyb3IgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgKi9cclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zbWFydC1lcnJvciddLCB7XHJcbiAgICAgICAgICBxdWVyeVBhcmFtczogeyB0eXBlOiAnb2ZmZW5kZXInLCBtZXNzYWdlOiBlcnJvciB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/smart-navbar/smart-navbar-config.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* @record
|
|
8
|
-
*/
|
|
9
|
-
export function SmartNavbarConfig() { }
|
|
10
|
-
if (false) {
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
SmartNavbarConfig.prototype.appModuleId;
|
|
13
|
-
/** @type {?} */
|
|
14
|
-
SmartNavbarConfig.prototype.name;
|
|
15
|
-
/** @type {?} */
|
|
16
|
-
SmartNavbarConfig.prototype.url;
|
|
17
|
-
/** @type {?} */
|
|
18
|
-
SmartNavbarConfig.prototype.offenderSpecificFlag;
|
|
19
|
-
/** @type {?} */
|
|
20
|
-
SmartNavbarConfig.prototype.displayOrder;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbmF2YmFyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjc21hcnQvbmdjLXNtYXJ0LWNvcmUvIiwic291cmNlcyI6WyJsaWIvc21hcnQtbmF2YmFyL3NtYXJ0LW5hdmJhci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx1Q0FNQzs7O0lBTEMsd0NBQW9COztJQUNwQixpQ0FBYTs7SUFDYixnQ0FBWTs7SUFDWixpREFBOEI7O0lBQzlCLHlDQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU21hcnROYXZiYXJDb25maWcge1xyXG4gIGFwcE1vZHVsZUlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIG9mZmVuZGVyU3BlY2lmaWNGbGFnOiBib29sZWFuO1xyXG4gIGRpc3BsYXlPcmRlcjogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/smart-navbar/smart-navbar.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Component, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
7
|
-
import { MatTabGroup } from '@angular/material';
|
|
8
|
-
import { MsalService } from '@azure/msal-angular';
|
|
9
|
-
import { SmartNavbarService } from './smart-navbar.service';
|
|
10
|
-
import { XdmService } from '../smart-storage/xdm.service';
|
|
11
|
-
export class SmartNavbarComponent {
|
|
12
|
-
/**
|
|
13
|
-
* @param {?} navbarConfigService
|
|
14
|
-
* @param {?} xdmService
|
|
15
|
-
* @param {?} authnService
|
|
16
|
-
*/
|
|
17
|
-
constructor(navbarConfigService, xdmService, authnService) {
|
|
18
|
-
this.navbarConfigService = navbarConfigService;
|
|
19
|
-
this.xdmService = xdmService;
|
|
20
|
-
this.authnService = authnService;
|
|
21
|
-
this.appModuleId = 'SMART';
|
|
22
|
-
this.isAuthenticated = false;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* @return {?}
|
|
26
|
-
*/
|
|
27
|
-
ngOnChanges() {
|
|
28
|
-
/*
|
|
29
|
-
console.log(this.selectedTab);
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
this.tabGroup.selectedIndex = this.selectedTab;
|
|
32
|
-
}, 1000);
|
|
33
|
-
*/
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @return {?}
|
|
37
|
-
*/
|
|
38
|
-
ngOnInit() {
|
|
39
|
-
this.xdmService.getSelectedOffender().then((/**
|
|
40
|
-
* @param {?} selectedOffender
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
(selectedOffender) => {
|
|
44
|
-
this.selectedOffender =
|
|
45
|
-
selectedOffender && selectedOffender.offenderId
|
|
46
|
-
? selectedOffender
|
|
47
|
-
: null;
|
|
48
|
-
}));
|
|
49
|
-
this.xdmService.getLoginStaff().then((/**
|
|
50
|
-
* @param {?} loginStaff
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
(loginStaff) => {
|
|
54
|
-
// this.zone.run(() => {
|
|
55
|
-
this.loginStaff = loginStaff ? loginStaff : null;
|
|
56
|
-
// });
|
|
57
|
-
}));
|
|
58
|
-
this.offenderSubscription = this.xdmService
|
|
59
|
-
.getOffenderUpdate()
|
|
60
|
-
.subscribe((/**
|
|
61
|
-
* @param {?} selectedOffender
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
(selectedOffender) => {
|
|
65
|
-
// this.zone.run(() => {
|
|
66
|
-
this.selectedOffender = selectedOffender;
|
|
67
|
-
// });
|
|
68
|
-
}));
|
|
69
|
-
this.staffSubscription = this.xdmService
|
|
70
|
-
.getStaffUpdate()
|
|
71
|
-
.subscribe((/**
|
|
72
|
-
* @param {?} loginStaff
|
|
73
|
-
* @return {?}
|
|
74
|
-
*/
|
|
75
|
-
(loginStaff) => {
|
|
76
|
-
// this.zone.run(() => {
|
|
77
|
-
this.loginStaff = loginStaff;
|
|
78
|
-
// });
|
|
79
|
-
}));
|
|
80
|
-
this.navbarConfigService
|
|
81
|
-
.getNavbarConfigs(this.serviceApiUrl)
|
|
82
|
-
.subscribe((/**
|
|
83
|
-
* @param {?} configs
|
|
84
|
-
* @return {?}
|
|
85
|
-
*/
|
|
86
|
-
(configs) => {
|
|
87
|
-
this.navbarConfigs = configs.sort((/**
|
|
88
|
-
* @param {?} a
|
|
89
|
-
* @param {?} b
|
|
90
|
-
* @return {?}
|
|
91
|
-
*/
|
|
92
|
-
(a, b) => {
|
|
93
|
-
if (a.displayOrder < b.displayOrder) {
|
|
94
|
-
return -1;
|
|
95
|
-
}
|
|
96
|
-
else if (a.displayOrder > b.displayOrder) {
|
|
97
|
-
return 1;
|
|
98
|
-
}
|
|
99
|
-
return 0;
|
|
100
|
-
}));
|
|
101
|
-
}));
|
|
102
|
-
this.isAuthenticated = this.authnService.getAccount() ? true : false;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* @return {?}
|
|
106
|
-
*/
|
|
107
|
-
ngOnDestroy() {
|
|
108
|
-
this.offenderSubscription.unsubscribe();
|
|
109
|
-
this.staffSubscription.unsubscribe();
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* @return {?}
|
|
113
|
-
*/
|
|
114
|
-
logout() {
|
|
115
|
-
this.xdmService.clearAll();
|
|
116
|
-
this.authnService.logout();
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* @param {?} config
|
|
120
|
-
* @return {?}
|
|
121
|
-
*/
|
|
122
|
-
getAppModuleUrl(config) {
|
|
123
|
-
return (config && this.selectedOffender && config.appModuleId === 'PPMAS') ?
|
|
124
|
-
`${config.url}?skipAppMetadata=true&OffenderId=${this.selectedOffender.offenderId}` : config.url;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* @param {?} appModuleId
|
|
128
|
-
* @return {?}
|
|
129
|
-
*/
|
|
130
|
-
hasAppModulePermission(appModuleId) {
|
|
131
|
-
if (this.loginStaff && this.loginStaff.permissions && this.loginStaff.permissions.length > 0) {
|
|
132
|
-
return this.loginStaff.permissions.findIndex((/**
|
|
133
|
-
* @param {?} p
|
|
134
|
-
* @return {?}
|
|
135
|
-
*/
|
|
136
|
-
p => p.appModuleId === appModuleId)) > -1;
|
|
137
|
-
}
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* @return {?}
|
|
142
|
-
*/
|
|
143
|
-
get hasExternalUserRole() {
|
|
144
|
-
if (this.loginStaff && this.loginStaff.roles && this.loginStaff.roles.length > 0) {
|
|
145
|
-
return this.loginStaff.roles.findIndex(this.isExternalRole) > -1;
|
|
146
|
-
}
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* @private
|
|
151
|
-
* @param {?} role
|
|
152
|
-
* @return {?}
|
|
153
|
-
*/
|
|
154
|
-
isExternalRole(role) {
|
|
155
|
-
switch (role.roleId) {
|
|
156
|
-
case 'EUDTL':
|
|
157
|
-
case 'EUDUSM':
|
|
158
|
-
case 'EUJDG':
|
|
159
|
-
case 'EUMPD':
|
|
160
|
-
case 'EUSOTV':
|
|
161
|
-
case 'EUUSA2':
|
|
162
|
-
case 'EUUSAO':
|
|
163
|
-
case 'EUUSPC':
|
|
164
|
-
return true;
|
|
165
|
-
default:
|
|
166
|
-
return false;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
SmartNavbarComponent.decorators = [
|
|
171
|
-
{ type: Component, args: [{
|
|
172
|
-
selector: 'app-smart-navbar',
|
|
173
|
-
template: "<!--\r\n<a class=\"smart-navbar-toggle open\" href=\"#nav\">\r\n <i class=\"material-icons\">menu</i>\r\n</a>\r\n\r\n<nav id=\"nav\" role=\"navigation\" class=\"smart-navbar-container\">\r\n <a class=\"smart-navbar-toggle close\" href=\"#\">\r\n <i class=\"material-icons\">close</i>\r\n </a>\r\n\r\n <span *ngFor=\"let config of navbarConfigs\">\r\n <a mat-button class=\"smart-navbar-item\" \r\n *ngIf=\"(config.offenderSpecificFlag === false || selectedOffender) && isAuthenticated && loginStaff\" href=\"{{config.url}}\">{{config.name}}</a>\r\n </span>\r\n\r\n <button mat-button class=\"smart-navbar-item\" [matMenuTriggerFor]=\"menuTheme\">Set Theme</button>\r\n <mat-menu #menuTheme=\"matMenu\">\r\n <button mat-menu-item (click)=\"onSetTheme('blue-theme')\">Blue</button>\r\n <button mat-menu-item (click)=\"onSetTheme('red-theme')\">Red</button>\r\n <button mat-menu-item (click)=\"onSetTheme('green-theme')\">Green</button>\r\n </mat-menu>\r\n <button mat-button class=\"smart-navbar-item smart-navbar-last-item\" [matMenuTriggerFor]=\"menu\"\r\n *ngIf=\"isAuthenticated && loginStaff\">{{loginStaff.firstName + ' ' + loginStaff.lastName}}</button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button mat-menu-item>Profile</button>\r\n <button mat-menu-item (click)=\"logout()\">Sign Out</button>\r\n </mat-menu>\r\n</nav>\r\n-->\r\n\r\n<!-- <nav mat-tab-nav-bar>\r\n <a mat-tab-link mat-flat-button *ngFor=\"let config of navbarConfigs\" [active]=\"appModuleId == config.appModuleId\" href=\"{{config.url}}\">{{config.name}}</a>\r\n</nav> -->\r\n\r\n<mat-tab-group class=\"nav-tab-group\" [selectedIndex]=\"null\">\r\n <ng-container *ngFor=\"let config of navbarConfigs\">\r\n <mat-tab\r\n *ngIf=\"\r\n ((hasExternalUserRole && hasAppModulePermission(config.appModuleId)) ||\r\n (!hasExternalUserRole && (config.offenderSpecificFlag === false || selectedOffender))) &&\r\n isAuthenticated &&\r\n loginStaff \r\n \"\r\n label=\"config.name\"\r\n >\r\n <ng-template mat-tab-label>\r\n <a\r\n mat-flat-button\r\n [ngClass]=\"{ 'main-menu-active': appModuleId == config.appModuleId }\"\r\n [href]=\"getAppModuleUrl(config)\"\r\n >{{ config.name }}</a\r\n >\r\n </ng-template>\r\n </mat-tab>\r\n </ng-container>\r\n</mat-tab-group>\r\n",
|
|
174
|
-
encapsulation: ViewEncapsulation.None,
|
|
175
|
-
styles: [".smart-navbar-container{display:flex;flex-wrap:wrap;flex-direction:column}.smart-navbar-item{font-size:1.2rem;line-height:1.2rem;padding:.5rem;background-color:var(--primary-color,#9fa8da);-webkit-text-decoration-line:none;text-decoration-line:none;display:block;text-align:left;border-radius:.3rem;margin:.1rem}.smart-navbar-last-item{margin-left:auto}.main-menu-active{border-bottom:3px solid #00008b!important;border-radius:0!important}.nav-tab-group.mat-primary .mat-ink-bar{background-color:inherit!important}.mat-tab-links{flex-direction:row;margin:4px;flex-wrap:wrap;font-family:Roboto,arial,sans-serif;font-size:13px}.mat-tab-link{min-width:16px!important}@media only screen and (min-width:768px){.smart-navbar-container{flex-direction:row}.smart-navbar-item{text-align:center}.smart-navbar-toggle{display:none}}@media only screen and (max-width:767px){#nav{position:fixed;top:0;bottom:0;width:300px;left:-340px;transition:transform .3s ease-in-out}#nav:target{transform:translateX(340px)}}.mat-tab-labels{display:flex!important;justify-content:flex-start!important}.mat-tab-label,.mat-tab-label.mat-tab-label-active{min-width:25px!important;padding:0 5px!important;justify-content:flex-start!important;font-weight:700}"]
|
|
176
|
-
}] }
|
|
177
|
-
];
|
|
178
|
-
/** @nocollapse */
|
|
179
|
-
SmartNavbarComponent.ctorParameters = () => [
|
|
180
|
-
{ type: SmartNavbarService },
|
|
181
|
-
{ type: XdmService },
|
|
182
|
-
{ type: MsalService }
|
|
183
|
-
];
|
|
184
|
-
SmartNavbarComponent.propDecorators = {
|
|
185
|
-
serviceApiUrl: [{ type: Input }],
|
|
186
|
-
appModuleId: [{ type: Input }],
|
|
187
|
-
tabGroup: [{ type: ViewChild, args: ['tabs',] }]
|
|
188
|
-
};
|
|
189
|
-
if (false) {
|
|
190
|
-
/** @type {?} */
|
|
191
|
-
SmartNavbarComponent.prototype.serviceApiUrl;
|
|
192
|
-
/** @type {?} */
|
|
193
|
-
SmartNavbarComponent.prototype.appModuleId;
|
|
194
|
-
/** @type {?} */
|
|
195
|
-
SmartNavbarComponent.prototype.tabGroup;
|
|
196
|
-
/** @type {?} */
|
|
197
|
-
SmartNavbarComponent.prototype.selectedOffender;
|
|
198
|
-
/** @type {?} */
|
|
199
|
-
SmartNavbarComponent.prototype.loginStaff;
|
|
200
|
-
/** @type {?} */
|
|
201
|
-
SmartNavbarComponent.prototype.offenderSubscription;
|
|
202
|
-
/** @type {?} */
|
|
203
|
-
SmartNavbarComponent.prototype.staffSubscription;
|
|
204
|
-
/** @type {?} */
|
|
205
|
-
SmartNavbarComponent.prototype.isAuthenticated;
|
|
206
|
-
/** @type {?} */
|
|
207
|
-
SmartNavbarComponent.prototype.navbarConfigs;
|
|
208
|
-
/**
|
|
209
|
-
* @type {?}
|
|
210
|
-
* @private
|
|
211
|
-
*/
|
|
212
|
-
SmartNavbarComponent.prototype.navbarConfigService;
|
|
213
|
-
/**
|
|
214
|
-
* @type {?}
|
|
215
|
-
* @private
|
|
216
|
-
*/
|
|
217
|
-
SmartNavbarComponent.prototype.xdmService;
|
|
218
|
-
/**
|
|
219
|
-
* @type {?}
|
|
220
|
-
* @private
|
|
221
|
-
*/
|
|
222
|
-
SmartNavbarComponent.prototype.authnService;
|
|
223
|
-
}
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjc21hcnQvbmdjLXNtYXJ0LWNvcmUvIiwic291cmNlcyI6WyJsaWIvc21hcnQtbmF2YmFyL3NtYXJ0LW5hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUlULEtBQUssRUFFTCxTQUFTLEVBRVQsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBYzFELE1BQU0sT0FBTyxvQkFBb0I7Ozs7OztJQVkvQixZQUNVLG1CQUF1QyxFQUN2QyxVQUFzQixFQUV0QixZQUF5QjtRQUh6Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFdEIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFkMUIsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFNL0Isb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFTckIsQ0FBQzs7OztJQUVKLFdBQVc7UUFDVDs7Ozs7VUFLRTtJQUNKLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUk7Ozs7UUFBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLGdCQUFnQjtnQkFDbkIsZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsVUFBVTtvQkFDN0MsQ0FBQyxDQUFDLGdCQUFnQjtvQkFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNiLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJOzs7O1FBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNsRCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2pELE1BQU07UUFDUixDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsVUFBVTthQUN4QyxpQkFBaUIsRUFBRTthQUNuQixTQUFTOzs7O1FBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1lBQzlCLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7WUFDekMsTUFBTTtRQUNSLENBQUMsRUFBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVO2FBQ3JDLGNBQWMsRUFBRTthQUNoQixTQUFTOzs7O1FBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN4Qix3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDN0IsTUFBTTtRQUNSLENBQUMsRUFBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLG1CQUFtQjthQUNyQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQ3BDLFNBQVM7Ozs7UUFBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUk7Ozs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFO29CQUNuQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUNYO3FCQUFNLElBQUksQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFO29CQUMxQyxPQUFPLENBQUMsQ0FBQztpQkFDVjtnQkFDRCxPQUFPLENBQUMsQ0FBQztZQUNYLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZFLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzs7O0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7OztJQUVNLGVBQWUsQ0FBQyxNQUF5QjtRQUM5QyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDMUUsR0FBRyxNQUFNLENBQUMsR0FBRyxvQ0FBb0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3JHLENBQUM7Ozs7O0lBRU0sc0JBQXNCLENBQUMsV0FBVztRQUN2QyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1RixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7WUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssV0FBVyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdkY7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbEU7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7OztJQUVPLGNBQWMsQ0FBQyxJQUFVO1FBQzlCLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNwQixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQztZQUNkO2dCQUNFLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQzs7O1lBNUhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixpMkVBQTRDO2dCQUU1QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7Ozs7WUFkUSxrQkFBa0I7WUFDbEIsVUFBVTtZQUhWLFdBQVc7Ozs0QkFrQmpCLEtBQUs7MEJBQ0wsS0FBSzt1QkFDTCxTQUFTLFNBQUMsTUFBTTs7OztJQUZqQiw2Q0FBK0I7O0lBQy9CLDJDQUErQjs7SUFDL0Isd0NBQXlDOztJQUN6QyxnREFBbUM7O0lBQ25DLDBDQUF1Qjs7SUFDdkIsb0RBQW1DOztJQUNuQyxpREFBZ0M7O0lBQ2hDLCtDQUF3Qjs7SUFFeEIsNkNBQW1DOzs7OztJQUdqQyxtREFBK0M7Ozs7O0lBQy9DLDBDQUE4Qjs7Ozs7SUFFOUIsNENBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIFZpZXdDaGlsZCxcclxuICBpc0Rldk1vZGUsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYkdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xyXG5pbXBvcnQgeyBNc2FsU2VydmljZSB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBTbWFydE5hdmJhckNvbmZpZyB9IGZyb20gJy4vc21hcnQtbmF2YmFyLWNvbmZpZyc7XHJcbmltcG9ydCB7IFNtYXJ0TmF2YmFyU2VydmljZSB9IGZyb20gJy4vc21hcnQtbmF2YmFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBYZG1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtc3RvcmFnZS94ZG0uc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgU2VsZWN0ZWRPZmZlbmRlcixcclxuICBMb2dpblN0YWZmLFxyXG4gIFJvbGUsXHJcbn0gZnJvbSAnLi4vc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLW1vZGVsJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zbWFydC1uYXZiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LW5hdmJhci5jb21wb25lbnQuY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0TmF2YmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgc2VydmljZUFwaVVybDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFwcE1vZHVsZUlkID0gJ1NNQVJUJztcclxuICBAVmlld0NoaWxkKCd0YWJzJykgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xyXG4gIHNlbGVjdGVkT2ZmZW5kZXI6IFNlbGVjdGVkT2ZmZW5kZXI7XHJcbiAgbG9naW5TdGFmZjogTG9naW5TdGFmZjtcclxuICBvZmZlbmRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHN0YWZmU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgaXNBdXRoZW50aWNhdGVkID0gZmFsc2U7XHJcblxyXG4gIG5hdmJhckNvbmZpZ3M6IFNtYXJ0TmF2YmFyQ29uZmlnW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBuYXZiYXJDb25maWdTZXJ2aWNlOiBTbWFydE5hdmJhclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHhkbVNlcnZpY2U6IFhkbVNlcnZpY2UsXHJcbiAgICAvLyBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgYXV0aG5TZXJ2aWNlOiBNc2FsU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgLypcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRUYWIpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IHRoaXMuc2VsZWN0ZWRUYWI7XHJcbiAgICB9LCAxMDAwKTtcclxuICAgICovXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMueGRtU2VydmljZS5nZXRTZWxlY3RlZE9mZmVuZGVyKCkudGhlbigoc2VsZWN0ZWRPZmZlbmRlcikgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT2ZmZW5kZXIgPVxyXG4gICAgICAgIHNlbGVjdGVkT2ZmZW5kZXIgJiYgc2VsZWN0ZWRPZmZlbmRlci5vZmZlbmRlcklkXHJcbiAgICAgICAgICA/IHNlbGVjdGVkT2ZmZW5kZXJcclxuICAgICAgICAgIDogbnVsbDtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMueGRtU2VydmljZS5nZXRMb2dpblN0YWZmKCkudGhlbigobG9naW5TdGFmZikgPT4ge1xyXG4gICAgICAvLyB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgdGhpcy5sb2dpblN0YWZmID0gbG9naW5TdGFmZiA/IGxvZ2luU3RhZmYgOiBudWxsO1xyXG4gICAgICAvLyB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMub2ZmZW5kZXJTdWJzY3JpcHRpb24gPSB0aGlzLnhkbVNlcnZpY2VcclxuICAgICAgLmdldE9mZmVuZGVyVXBkYXRlKClcclxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRPZmZlbmRlcikgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPZmZlbmRlciA9IHNlbGVjdGVkT2ZmZW5kZXI7XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc3RhZmZTdWJzY3JpcHRpb24gPSB0aGlzLnhkbVNlcnZpY2VcclxuICAgICAgLmdldFN0YWZmVXBkYXRlKClcclxuICAgICAgLnN1YnNjcmliZSgobG9naW5TdGFmZikgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW5TdGFmZiA9IGxvZ2luU3RhZmY7XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMubmF2YmFyQ29uZmlnU2VydmljZVxyXG4gICAgICAuZ2V0TmF2YmFyQ29uZmlncyh0aGlzLnNlcnZpY2VBcGlVcmwpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZ3MpID0+IHtcclxuICAgICAgICB0aGlzLm5hdmJhckNvbmZpZ3MgPSBjb25maWdzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgIGlmIChhLmRpc3BsYXlPcmRlciA8IGIuZGlzcGxheU9yZGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoYS5kaXNwbGF5T3JkZXIgPiBiLmRpc3BsYXlPcmRlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzQXV0aGVudGljYXRlZCA9IHRoaXMuYXV0aG5TZXJ2aWNlLmdldEFjY291bnQoKSA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5vZmZlbmRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zdGFmZlN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMueGRtU2VydmljZS5jbGVhckFsbCgpO1xyXG4gICAgdGhpcy5hdXRoblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QXBwTW9kdWxlVXJsKGNvbmZpZzogU21hcnROYXZiYXJDb25maWcpIHtcclxuICAgIHJldHVybiAoY29uZmlnICYmIHRoaXMuc2VsZWN0ZWRPZmZlbmRlciAmJiBjb25maWcuYXBwTW9kdWxlSWQgPT09ICdQUE1BUycpID9cclxuICAgICAgYCR7Y29uZmlnLnVybH0/c2tpcEFwcE1ldGFkYXRhPXRydWUmT2ZmZW5kZXJJZD0ke3RoaXMuc2VsZWN0ZWRPZmZlbmRlci5vZmZlbmRlcklkfWAgOiBjb25maWcudXJsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhc0FwcE1vZHVsZVBlcm1pc3Npb24oYXBwTW9kdWxlSWQpIHtcclxuICAgIGlmICh0aGlzLmxvZ2luU3RhZmYgJiYgdGhpcy5sb2dpblN0YWZmLnBlcm1pc3Npb25zICYmIHRoaXMubG9naW5TdGFmZi5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvZ2luU3RhZmYucGVybWlzc2lvbnMuZmluZEluZGV4KHAgPT4gcC5hcHBNb2R1bGVJZCA9PT0gYXBwTW9kdWxlSWQpID4gLTE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoYXNFeHRlcm5hbFVzZXJSb2xlKCkge1xyXG4gICAgaWYgKHRoaXMubG9naW5TdGFmZiAmJiB0aGlzLmxvZ2luU3RhZmYucm9sZXMgJiYgdGhpcy5sb2dpblN0YWZmLnJvbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9naW5TdGFmZi5yb2xlcy5maW5kSW5kZXgodGhpcy5pc0V4dGVybmFsUm9sZSkgPiAtMTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFeHRlcm5hbFJvbGUocm9sZTogUm9sZSkge1xyXG4gICAgIHN3aXRjaCAocm9sZS5yb2xlSWQpIHtcclxuICAgICAgY2FzZSAnRVVEVEwnOlxyXG4gICAgICBjYXNlICdFVURVU00nOlxyXG4gICAgICBjYXNlICdFVUpERyc6XHJcbiAgICAgIGNhc2UgJ0VVTVBEJzpcclxuICAgICAgY2FzZSAnRVVTT1RWJzpcclxuICAgICAgY2FzZSAnRVVVU0EyJzpcclxuICAgICAgY2FzZSAnRVVVU0FPJzpcclxuICAgICAgY2FzZSAnRVVVU1BDJzpcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBFVURUTFxyXG4vLyBFVURVU01cclxuLy8gRVVKREdcclxuXHJcbi8vIEVVTVBEXHJcbi8vIEVVU09UVlxyXG4vLyBFVVVTQTJcclxuXHJcbi8vIEVVVVNBT1xyXG4vLyBFVVVTUENcclxuIl19
|