@hmcts/rpx-xui-common-lib 1.7.22 → 1.7.28
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/bundles/hmcts-rpx-xui-common-lib.umd.js +25 -21
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/services/role-guard/role.guard.js +22 -15
- package/esm2015/lib/services/role-guard/role.service.js +13 -13
- package/esm5/lib/services/role-guard/role.guard.js +22 -15
- package/esm5/lib/services/role-guard/role.service.js +13 -13
- package/fesm2015/hmcts-rpx-xui-common-lib.js +28 -23
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +29 -24
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/lib/services/role-guard/role.guard.d.ts +2 -1
- package/lib/services/role-guard/role.service.d.ts +3 -1
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
7
|
import { Router } from '@angular/router';
|
|
8
|
+
import { map } from 'rxjs/operators';
|
|
8
9
|
import { RoleService } from './role.service';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "./role.service";
|
|
@@ -31,25 +32,31 @@ export class RoleGuard {
|
|
|
31
32
|
* @return {?}
|
|
32
33
|
*/
|
|
33
34
|
canActivate(route) {
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
-
/** @type {?} */
|
|
37
|
-
const check = (/**
|
|
38
|
-
* @param {?} roleRegEx
|
|
35
|
+
return this.roleService.roles$.pipe(map((/**
|
|
36
|
+
* @param {?} roles
|
|
39
37
|
* @return {?}
|
|
40
38
|
*/
|
|
41
|
-
|
|
39
|
+
roles => {
|
|
42
40
|
/** @type {?} */
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
const canActivateRoles = ((/** @type {?} */ (route.data.needsRole)));
|
|
42
|
+
/** @type {?} */
|
|
43
|
+
const check = (/**
|
|
44
|
+
* @param {?} roleRegEx
|
|
46
45
|
* @return {?}
|
|
47
46
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
(roleRegEx) => {
|
|
48
|
+
/** @type {?} */
|
|
49
|
+
const regex = new RegExp(roleRegEx);
|
|
50
|
+
return roles.some((/**
|
|
51
|
+
* @param {?} role
|
|
52
|
+
* @return {?}
|
|
53
|
+
*/
|
|
54
|
+
role => regex.test(role)));
|
|
55
|
+
});
|
|
56
|
+
/** @type {?} */
|
|
57
|
+
const match = route.data.roleMatching === RoleMatching.ALL ? canActivateRoles.every(check) : canActivateRoles.some(check);
|
|
58
|
+
return match || this.router.parseUrl((/** @type {?} */ (route.data.noRoleMatchRedirect)));
|
|
59
|
+
})));
|
|
53
60
|
}
|
|
54
61
|
}
|
|
55
62
|
RoleGuard.decorators = [
|
|
@@ -75,4 +82,4 @@ if (false) {
|
|
|
75
82
|
*/
|
|
76
83
|
RoleGuard.prototype.router;
|
|
77
84
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcm9sZS1ndWFyZC9yb2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXVDLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRTdDLE1BQVksWUFBWTtJQUNwQixHQUFHLEdBQUE7SUFDSCxHQUFHLEdBQUE7RUFDTjs7OztBQUtELE1BQU0sT0FBTyxTQUFTOzs7OztJQUVsQixZQUNxQixXQUF3QixFQUN4QixNQUFjO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNoQyxDQUFDOzs7OztJQUVHLFdBQVcsQ0FBQyxLQUE2QjtRQUM5QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDakMsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFOztrQkFDSixnQkFBZ0IsR0FBRyxDQUFDLG1CQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFZLENBQUM7O2tCQUNyRCxLQUFLOzs7O1lBQUcsQ0FBQyxTQUFpQixFQUFFLEVBQUU7O3NCQUM1QixLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDO2dCQUNuQyxPQUFPLEtBQUssQ0FBQyxJQUFJOzs7O2dCQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDO1lBQzlDLENBQUMsQ0FBQTs7a0JBQ0ssS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUV6SCxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFVLENBQUMsQ0FBQztRQUNqRixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7O1lBdkJKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQVRNLFdBQVc7WUFIMEIsTUFBTTs7Ozs7Ozs7SUFnQjVDLGdDQUF5Qzs7Ozs7SUFDekMsMkJBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSb2xlU2VydmljZSB9IGZyb20gJy4vcm9sZS5zZXJ2aWNlJztcblxuZXhwb3J0IGVudW0gUm9sZU1hdGNoaW5nIHtcbiAgICBBTEwsXG4gICAgQU5ZXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbmV4cG9ydCBjbGFzcyBSb2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm9sZVNlcnZpY2U6IFJvbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgICAgcmV0dXJuIHRoaXMucm9sZVNlcnZpY2Uucm9sZXMkLnBpcGUoXG4gICAgICAgIG1hcChyb2xlcyA9PiB7XG4gICAgICAgICAgY29uc3QgY2FuQWN0aXZhdGVSb2xlcyA9IChyb3V0ZS5kYXRhLm5lZWRzUm9sZSBhcyBzdHJpbmdbXSk7XG4gICAgICAgICAgY29uc3QgY2hlY2sgPSAocm9sZVJlZ0V4OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChyb2xlUmVnRXgpO1xuICAgICAgICAgICAgcmV0dXJuIHJvbGVzLnNvbWUocm9sZSA9PiByZWdleC50ZXN0KHJvbGUpKTtcbiAgICAgICAgICB9O1xuICAgICAgICAgIGNvbnN0IG1hdGNoID0gcm91dGUuZGF0YS5yb2xlTWF0Y2hpbmcgPT09IFJvbGVNYXRjaGluZy5BTEwgPyBjYW5BY3RpdmF0ZVJvbGVzLmV2ZXJ5KGNoZWNrKSA6IGNhbkFjdGl2YXRlUm9sZXMuc29tZShjaGVjayk7XG5cbiAgICAgICAgICByZXR1cm4gbWF0Y2ggfHwgdGhpcy5yb3V0ZXIucGFyc2VVcmwocm91dGUuZGF0YS5ub1JvbGVNYXRjaFJlZGlyZWN0IGFzIHN0cmluZyk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -4,23 +4,24 @@
|
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
|
+
import { BehaviorSubject } from 'rxjs';
|
|
8
|
+
import { skipWhile } from 'rxjs/operators';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
export class RoleService {
|
|
9
11
|
constructor() {
|
|
10
|
-
this.pRoles =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return this.pRoles;
|
|
12
|
+
this.pRoles = new BehaviorSubject(null);
|
|
13
|
+
this.roles$ = this.pRoles.asObservable().pipe(skipWhile((/**
|
|
14
|
+
* @param {?} item
|
|
15
|
+
* @return {?}
|
|
16
|
+
*/
|
|
17
|
+
item => item === null)));
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* @param {?} roles
|
|
20
21
|
* @return {?}
|
|
21
22
|
*/
|
|
22
23
|
set roles(roles) {
|
|
23
|
-
this.pRoles
|
|
24
|
+
this.pRoles.next(roles);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
RoleService.decorators = [
|
|
@@ -30,10 +31,9 @@ RoleService.decorators = [
|
|
|
30
31
|
];
|
|
31
32
|
/** @nocollapse */ RoleService.ngInjectableDef = i0.defineInjectable({ factory: function RoleService_Factory() { return new RoleService(); }, token: RoleService, providedIn: "root" });
|
|
32
33
|
if (false) {
|
|
33
|
-
/**
|
|
34
|
-
* @type {?}
|
|
35
|
-
* @private
|
|
36
|
-
*/
|
|
34
|
+
/** @type {?} */
|
|
37
35
|
RoleService.prototype.pRoles;
|
|
36
|
+
/** @type {?} */
|
|
37
|
+
RoleService.prototype.roles$;
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9yb2xlLWd1YXJkL3JvbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUzNDLE1BQU0sT0FBTyxXQUFXO0lBSHhCO1FBSW9CLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUSxJQUFJLENBQUMsQ0FBQztRQUNuRCxXQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUzs7OztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksRUFBQyxDQUFDLENBQUM7S0FLckY7Ozs7O0lBSEcsSUFBVyxLQUFLLENBQUMsS0FBWTtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUFUSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7O0lBRUMsNkJBQTBEOztJQUMxRCw2QkFBa0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gdXNlIHR5cGVzIHNvIHdlIGNhbiBtb3ZlIHRvIHN0cmljdGVkIHR5cGluZyBsYXRlciBvblxuZXhwb3J0IHR5cGUgUm9sZSA9IHN0cmluZztcbmV4cG9ydCB0eXBlIFJvbGVzID0gUm9sZVtdO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG5leHBvcnQgY2xhc3MgUm9sZVNlcnZpY2Uge1xuICAgIHB1YmxpYyByZWFkb25seSBwUm9sZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJvbGVzPihudWxsKTtcbiAgICBwdWJsaWMgcm9sZXMkID0gdGhpcy5wUm9sZXMuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwV2hpbGUoaXRlbSA9PiBpdGVtID09PSBudWxsKSk7XG5cbiAgICBwdWJsaWMgc2V0IHJvbGVzKHJvbGVzOiBSb2xlcykge1xuICAgICAgICB0aGlzLnBSb2xlcy5uZXh0KHJvbGVzKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
7
|
import { Router } from '@angular/router';
|
|
8
|
+
import { map } from 'rxjs/operators';
|
|
8
9
|
import { RoleService } from './role.service';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "./role.service";
|
|
@@ -32,25 +33,31 @@ var RoleGuard = /** @class */ (function () {
|
|
|
32
33
|
*/
|
|
33
34
|
function (route) {
|
|
34
35
|
var _this = this;
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
-
/** @type {?} */
|
|
38
|
-
var check = (/**
|
|
39
|
-
* @param {?} roleRegEx
|
|
36
|
+
return this.roleService.roles$.pipe(map((/**
|
|
37
|
+
* @param {?} roles
|
|
40
38
|
* @return {?}
|
|
41
39
|
*/
|
|
42
|
-
function (
|
|
40
|
+
function (roles) {
|
|
43
41
|
/** @type {?} */
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
var canActivateRoles = ((/** @type {?} */ (route.data.needsRole)));
|
|
43
|
+
/** @type {?} */
|
|
44
|
+
var check = (/**
|
|
45
|
+
* @param {?} roleRegEx
|
|
47
46
|
* @return {?}
|
|
48
47
|
*/
|
|
49
|
-
function (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
function (roleRegEx) {
|
|
49
|
+
/** @type {?} */
|
|
50
|
+
var regex = new RegExp(roleRegEx);
|
|
51
|
+
return roles.some((/**
|
|
52
|
+
* @param {?} role
|
|
53
|
+
* @return {?}
|
|
54
|
+
*/
|
|
55
|
+
function (role) { return regex.test(role); }));
|
|
56
|
+
});
|
|
57
|
+
/** @type {?} */
|
|
58
|
+
var match = route.data.roleMatching === RoleMatching.ALL ? canActivateRoles.every(check) : canActivateRoles.some(check);
|
|
59
|
+
return match || _this.router.parseUrl((/** @type {?} */ (route.data.noRoleMatchRedirect)));
|
|
60
|
+
})));
|
|
54
61
|
};
|
|
55
62
|
RoleGuard.decorators = [
|
|
56
63
|
{ type: Injectable, args: [{
|
|
@@ -78,4 +85,4 @@ if (false) {
|
|
|
78
85
|
*/
|
|
79
86
|
RoleGuard.prototype.router;
|
|
80
87
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcm9sZS1ndWFyZC9yb2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXVDLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRTdDLElBQVksWUFBWTtJQUNwQixHQUFHLEdBQUE7SUFDSCxHQUFHLEdBQUE7RUFDTjs7OztBQUVEO0lBS0ksbUJBQ3FCLFdBQXdCLEVBQ3hCLE1BQWM7UUFEZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ2hDLENBQUM7Ozs7O0lBRUcsK0JBQVc7Ozs7SUFBbEIsVUFBbUIsS0FBNkI7UUFBaEQsaUJBYUM7UUFaQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDakMsR0FBRzs7OztRQUFDLFVBQUEsS0FBSzs7Z0JBQ0QsZ0JBQWdCLEdBQUcsQ0FBQyxtQkFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBWSxDQUFDOztnQkFDckQsS0FBSzs7OztZQUFHLFVBQUMsU0FBaUI7O29CQUN4QixLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDO2dCQUNuQyxPQUFPLEtBQUssQ0FBQyxJQUFJOzs7O2dCQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBaEIsQ0FBZ0IsRUFBQyxDQUFDO1lBQzlDLENBQUMsQ0FBQTs7Z0JBQ0ssS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUV6SCxPQUFPLEtBQUssSUFBSSxLQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFVLENBQUMsQ0FBQztRQUNqRixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7Z0JBdkJKLFVBQVUsU0FBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBVE0sV0FBVztnQkFIMEIsTUFBTTs7O29CQURwRDtDQW1DQyxBQXhCRCxJQXdCQztTQXJCWSxTQUFTOzs7Ozs7SUFHZCxnQ0FBeUM7Ozs7O0lBQ3pDLDJCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUm9sZVNlcnZpY2UgfSBmcm9tICcuL3JvbGUuc2VydmljZSc7XG5cbmV4cG9ydCBlbnVtIFJvbGVNYXRjaGluZyB7XG4gICAgQUxMLFxuICAgIEFOWVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG5leHBvcnQgY2xhc3MgUm9sZUd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvbGVTZXJ2aWNlOiBSb2xlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIHB1YmxpYyBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICAgIHJldHVybiB0aGlzLnJvbGVTZXJ2aWNlLnJvbGVzJC5waXBlKFxuICAgICAgICBtYXAocm9sZXMgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhbkFjdGl2YXRlUm9sZXMgPSAocm91dGUuZGF0YS5uZWVkc1JvbGUgYXMgc3RyaW5nW10pO1xuICAgICAgICAgIGNvbnN0IGNoZWNrID0gKHJvbGVSZWdFeDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAocm9sZVJlZ0V4KTtcbiAgICAgICAgICAgIHJldHVybiByb2xlcy5zb21lKHJvbGUgPT4gcmVnZXgudGVzdChyb2xlKSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBtYXRjaCA9IHJvdXRlLmRhdGEucm9sZU1hdGNoaW5nID09PSBSb2xlTWF0Y2hpbmcuQUxMID8gY2FuQWN0aXZhdGVSb2xlcy5ldmVyeShjaGVjaykgOiBjYW5BY3RpdmF0ZVJvbGVzLnNvbWUoY2hlY2spO1xuXG4gICAgICAgICAgcmV0dXJuIG1hdGNoIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHJvdXRlLmRhdGEubm9Sb2xlTWF0Y2hSZWRpcmVjdCBhcyBzdHJpbmcpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -4,24 +4,25 @@
|
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
|
+
import { BehaviorSubject } from 'rxjs';
|
|
8
|
+
import { skipWhile } from 'rxjs/operators';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
var RoleService = /** @class */ (function () {
|
|
9
11
|
function RoleService() {
|
|
10
|
-
this.pRoles =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
get: /**
|
|
12
|
+
this.pRoles = new BehaviorSubject(null);
|
|
13
|
+
this.roles$ = this.pRoles.asObservable().pipe(skipWhile((/**
|
|
14
|
+
* @param {?} item
|
|
14
15
|
* @return {?}
|
|
15
16
|
*/
|
|
16
|
-
function () {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
function (item) { return item === null; })));
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(RoleService.prototype, "roles", {
|
|
19
20
|
set: /**
|
|
20
21
|
* @param {?} roles
|
|
21
22
|
* @return {?}
|
|
22
23
|
*/
|
|
23
24
|
function (roles) {
|
|
24
|
-
this.pRoles
|
|
25
|
+
this.pRoles.next(roles);
|
|
25
26
|
},
|
|
26
27
|
enumerable: true,
|
|
27
28
|
configurable: true
|
|
@@ -36,10 +37,9 @@ var RoleService = /** @class */ (function () {
|
|
|
36
37
|
}());
|
|
37
38
|
export { RoleService };
|
|
38
39
|
if (false) {
|
|
39
|
-
/**
|
|
40
|
-
* @type {?}
|
|
41
|
-
* @private
|
|
42
|
-
*/
|
|
40
|
+
/** @type {?} */
|
|
43
41
|
RoleService.prototype.pRoles;
|
|
42
|
+
/** @type {?} */
|
|
43
|
+
RoleService.prototype.roles$;
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9yb2xlLWd1YXJkL3JvbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTNDO0lBQUE7UUFJb0IsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFRLElBQUksQ0FBQyxDQUFDO1FBQ25ELFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLEtBQUssSUFBSSxFQUFiLENBQWEsRUFBQyxDQUFDLENBQUM7S0FLckY7SUFIRyxzQkFBVyw4QkFBSzs7Ozs7UUFBaEIsVUFBaUIsS0FBWTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDOzs7T0FBQTs7Z0JBVEosVUFBVSxTQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O3NCQVZIO0NBa0JDLEFBVkQsSUFVQztTQVBZLFdBQVc7OztJQUNwQiw2QkFBMEQ7O0lBQzFELDZCQUFrRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyB1c2UgdHlwZXMgc28gd2UgY2FuIG1vdmUgdG8gc3RyaWN0ZWQgdHlwaW5nIGxhdGVyIG9uXG5leHBvcnQgdHlwZSBSb2xlID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgUm9sZXMgPSBSb2xlW107XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbmV4cG9ydCBjbGFzcyBSb2xlU2VydmljZSB7XG4gICAgcHVibGljIHJlYWRvbmx5IHBSb2xlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Um9sZXM+KG51bGwpO1xuICAgIHB1YmxpYyByb2xlcyQgPSB0aGlzLnBSb2xlcy5hc09ic2VydmFibGUoKS5waXBlKHNraXBXaGlsZShpdGVtID0+IGl0ZW0gPT09IG51bGwpKTtcblxuICAgIHB1YmxpYyBzZXQgcm9sZXMocm9sZXM6IFJvbGVzKSB7XG4gICAgICAgIHRoaXMucFJvbGVzLm5leHQocm9sZXMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -11,7 +11,7 @@ import { Keepalive } from '@ng-idle/keepalive';
|
|
|
11
11
|
import { RouterModule, Router, NavigationEnd } from '@angular/router';
|
|
12
12
|
import { Component, EventEmitter, Input, Output, ViewEncapsulation, Injectable, Directive, TemplateRef, ViewContainerRef, ElementRef, Inject, ViewChild, ChangeDetectorRef, InjectionToken, ChangeDetectionStrategy, defineInjectable, inject, NgModule } from '@angular/core';
|
|
13
13
|
import { BehaviorSubject, of, zip, Subject, combineLatest } from 'rxjs';
|
|
14
|
-
import { distinctUntilChanged, map, debounceTime, filter, mergeMap, tap, catchError, switchMap, delay } from 'rxjs/operators';
|
|
14
|
+
import { distinctUntilChanged, map, debounceTime, filter, mergeMap, tap, catchError, switchMap, delay, skipWhile } from 'rxjs/operators';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* @fileoverview added by tsickle
|
|
@@ -6267,20 +6267,19 @@ TimeoutNotificationsService.ctorParameters = () => [
|
|
|
6267
6267
|
*/
|
|
6268
6268
|
class RoleService {
|
|
6269
6269
|
constructor() {
|
|
6270
|
-
this.pRoles =
|
|
6271
|
-
|
|
6272
|
-
|
|
6273
|
-
|
|
6274
|
-
|
|
6275
|
-
|
|
6276
|
-
return this.pRoles;
|
|
6270
|
+
this.pRoles = new BehaviorSubject(null);
|
|
6271
|
+
this.roles$ = this.pRoles.asObservable().pipe(skipWhile((/**
|
|
6272
|
+
* @param {?} item
|
|
6273
|
+
* @return {?}
|
|
6274
|
+
*/
|
|
6275
|
+
item => item === null)));
|
|
6277
6276
|
}
|
|
6278
6277
|
/**
|
|
6279
6278
|
* @param {?} roles
|
|
6280
6279
|
* @return {?}
|
|
6281
6280
|
*/
|
|
6282
6281
|
set roles(roles) {
|
|
6283
|
-
this.pRoles
|
|
6282
|
+
this.pRoles.next(roles);
|
|
6284
6283
|
}
|
|
6285
6284
|
}
|
|
6286
6285
|
RoleService.decorators = [
|
|
@@ -6316,25 +6315,31 @@ class RoleGuard {
|
|
|
6316
6315
|
* @return {?}
|
|
6317
6316
|
*/
|
|
6318
6317
|
canActivate(route) {
|
|
6319
|
-
/**
|
|
6320
|
-
|
|
6321
|
-
/** @type {?} */
|
|
6322
|
-
const check = (/**
|
|
6323
|
-
* @param {?} roleRegEx
|
|
6318
|
+
return this.roleService.roles$.pipe(map((/**
|
|
6319
|
+
* @param {?} roles
|
|
6324
6320
|
* @return {?}
|
|
6325
6321
|
*/
|
|
6326
|
-
|
|
6322
|
+
roles => {
|
|
6327
6323
|
/** @type {?} */
|
|
6328
|
-
const
|
|
6329
|
-
|
|
6330
|
-
|
|
6324
|
+
const canActivateRoles = ((/** @type {?} */ (route.data.needsRole)));
|
|
6325
|
+
/** @type {?} */
|
|
6326
|
+
const check = (/**
|
|
6327
|
+
* @param {?} roleRegEx
|
|
6331
6328
|
* @return {?}
|
|
6332
6329
|
*/
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6330
|
+
(roleRegEx) => {
|
|
6331
|
+
/** @type {?} */
|
|
6332
|
+
const regex = new RegExp(roleRegEx);
|
|
6333
|
+
return roles.some((/**
|
|
6334
|
+
* @param {?} role
|
|
6335
|
+
* @return {?}
|
|
6336
|
+
*/
|
|
6337
|
+
role => regex.test(role)));
|
|
6338
|
+
});
|
|
6339
|
+
/** @type {?} */
|
|
6340
|
+
const match = route.data.roleMatching === RoleMatching.ALL ? canActivateRoles.every(check) : canActivateRoles.some(check);
|
|
6341
|
+
return match || this.router.parseUrl((/** @type {?} */ (route.data.noRoleMatchRedirect)));
|
|
6342
|
+
})));
|
|
6338
6343
|
}
|
|
6339
6344
|
}
|
|
6340
6345
|
RoleGuard.decorators = [
|