@wavemaker/app-ng-runtime 11.8.0-next.27310 → 11.8.0-next.27311
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.
- app-ng-runtime/components/base/bundles/index.umd.js +19 -13
- app-ng-runtime/components/base/directives/show-in-device.directive.d.ts +3 -6
- app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +12 -14
- app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +13 -6
- app-ng-runtime/components/base/fesm2022/index.mjs +19 -13
- app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -2
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +11 -4
- app-ng-runtime/runtime/base/directives/accessroles.directive.d.ts +4 -3
- app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +14 -7
- app-ng-runtime/runtime/base/fesm2022/index.mjs +12 -5
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
|
@@ -7,9 +7,9 @@ export declare class LazyLoadDirective implements OnDestroy {
|
|
|
7
7
|
private readonly context;
|
|
8
8
|
private embeddedView;
|
|
9
9
|
private unSubscribeFn;
|
|
10
|
-
constructor(inj: Injector, templateRef: TemplateRef<any>, viewContainer: ViewContainerRef);
|
|
10
|
+
constructor(inj: Injector, templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, explicitContext?: any);
|
|
11
11
|
set lazyLoad(expr: any);
|
|
12
12
|
ngOnDestroy(): void;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LazyLoadDirective,
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LazyLoadDirective, [null, null, null, { optional: true; }]>;
|
|
14
14
|
static ɵdir: i0.ɵɵDirectiveDeclaration<LazyLoadDirective, "[lazyLoad]", never, { "lazyLoad": { "alias": "lazyLoad"; "required": false; }; }, {}, never, never, false, never>;
|
|
15
15
|
}
|
app-ng-runtime/package.json
CHANGED
|
@@ -2016,16 +2016,18 @@
|
|
|
2016
2016
|
USER_ROLE["AUTHENTICATED"] = "Authenticated";
|
|
2017
2017
|
})(USER_ROLE || (USER_ROLE = {}));
|
|
2018
2018
|
class AccessrolesDirective {
|
|
2019
|
-
constructor(templateRef, viewContainerRef, securityService, inj) {
|
|
2019
|
+
constructor(templateRef, viewContainerRef, securityService, inj, explicitContext) {
|
|
2020
2020
|
this.templateRef = templateRef;
|
|
2021
2021
|
this.viewContainerRef = viewContainerRef;
|
|
2022
2022
|
this.securityService = securityService;
|
|
2023
2023
|
this.inj = inj;
|
|
2024
2024
|
this.processed = false;
|
|
2025
|
+
this.context = {};
|
|
2025
2026
|
const securityConfig = this.securityService.get();
|
|
2026
2027
|
this.securityEnabled = lodashEs.get(securityConfig, 'securityEnabled');
|
|
2027
2028
|
this.isUserAuthenticated = lodashEs.get(securityConfig, 'authenticated');
|
|
2028
2029
|
this.userRoles = lodashEs.get(securityConfig, 'userInfo.userRoles');
|
|
2030
|
+
lodashEs.extend(this.context, inj._lView[8], explicitContext);
|
|
2029
2031
|
}
|
|
2030
2032
|
/**
|
|
2031
2033
|
* Returns array of roles from comma separated string of roles
|
|
@@ -2087,13 +2089,13 @@
|
|
|
2087
2089
|
const isAccessible = !this.securityEnabled || this.hasAccessToWidget(widgetRoles, this.userRoles);
|
|
2088
2090
|
if (isAccessible) {
|
|
2089
2091
|
// [WMS-19294] pass on the previous context as second param.
|
|
2090
|
-
this.viewContainerRef.createEmbeddedView(this.templateRef, this.
|
|
2092
|
+
this.viewContainerRef.createEmbeddedView(this.templateRef, this.context);
|
|
2091
2093
|
}
|
|
2092
2094
|
else {
|
|
2093
2095
|
this.viewContainerRef.clear();
|
|
2094
2096
|
}
|
|
2095
2097
|
}
|
|
2096
|
-
static { this.ɵfac = function AccessrolesDirective_Factory(t) { return new (t || AccessrolesDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.TemplateRef), i0__namespace.ɵɵdirectiveInject(i0__namespace.ViewContainerRef), i0__namespace.ɵɵdirectiveInject(i2__namespace.SecurityService), i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector)); }; }
|
|
2098
|
+
static { this.ɵfac = function AccessrolesDirective_Factory(t) { return new (t || AccessrolesDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.TemplateRef), i0__namespace.ɵɵdirectiveInject(i0__namespace.ViewContainerRef), i0__namespace.ɵɵdirectiveInject(i2__namespace.SecurityService), i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
2097
2099
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: AccessrolesDirective, selectors: [["", "accessroles", ""]], inputs: { accessroles: "accessroles" } }); }
|
|
2098
2100
|
}
|
|
2099
2101
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(AccessrolesDirective, [{
|
|
@@ -2101,7 +2103,12 @@
|
|
|
2101
2103
|
args: [{
|
|
2102
2104
|
selector: '[accessroles]'
|
|
2103
2105
|
}]
|
|
2104
|
-
}], () => [{ type: i0__namespace.TemplateRef }, { type: i0__namespace.ViewContainerRef }, { type: i2__namespace.SecurityService }, { type: i0__namespace.Injector }
|
|
2106
|
+
}], () => [{ type: i0__namespace.TemplateRef }, { type: i0__namespace.ViewContainerRef }, { type: i2__namespace.SecurityService }, { type: i0__namespace.Injector }, { type: undefined, decorators: [{
|
|
2107
|
+
type: i0.Inject,
|
|
2108
|
+
args: ['EXPLICIT_CONTEXT']
|
|
2109
|
+
}, {
|
|
2110
|
+
type: i0.Optional
|
|
2111
|
+
}] }], { accessroles: [{
|
|
2105
2112
|
type: i0.Input
|
|
2106
2113
|
}] }); })();
|
|
2107
2114
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TemplateRef, ViewContainerRef
|
|
1
|
+
import { Injector, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { SecurityService } from '@wm/security';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class AccessrolesDirective {
|
|
@@ -9,8 +9,9 @@ export declare class AccessrolesDirective {
|
|
|
9
9
|
private processed;
|
|
10
10
|
private readonly isUserAuthenticated;
|
|
11
11
|
private readonly userRoles;
|
|
12
|
+
private readonly context;
|
|
12
13
|
private securityEnabled;
|
|
13
|
-
constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef, securityService: SecurityService, inj: Injector);
|
|
14
|
+
constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef, securityService: SecurityService, inj: Injector, explicitContext: any);
|
|
14
15
|
/**
|
|
15
16
|
* Returns array of roles from comma separated string of roles
|
|
16
17
|
* Handles encoded commas
|
|
@@ -33,6 +34,6 @@ export declare class AccessrolesDirective {
|
|
|
33
34
|
*/
|
|
34
35
|
private hasAccessToWidget;
|
|
35
36
|
set accessroles(roles: any);
|
|
36
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AccessrolesDirective,
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccessrolesDirective, [null, null, null, null, { optional: true; }]>;
|
|
37
38
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AccessrolesDirective, "[accessroles]", never, { "accessroles": { "alias": "accessroles"; "required": false; }; }, {}, never, never, false, never>;
|
|
38
39
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef, ViewContainerRef
|
|
1
|
+
import { Directive, Inject, Injector, Input, Optional, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { SecurityService } from '@wm/security';
|
|
3
|
-
import { get, includes, split, trim } from "lodash-es";
|
|
3
|
+
import { extend, get, includes, split, trim } from "lodash-es";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@wm/security";
|
|
6
6
|
var USER_ROLE;
|
|
@@ -10,16 +10,18 @@ var USER_ROLE;
|
|
|
10
10
|
USER_ROLE["AUTHENTICATED"] = "Authenticated";
|
|
11
11
|
})(USER_ROLE || (USER_ROLE = {}));
|
|
12
12
|
export class AccessrolesDirective {
|
|
13
|
-
constructor(templateRef, viewContainerRef, securityService, inj) {
|
|
13
|
+
constructor(templateRef, viewContainerRef, securityService, inj, explicitContext) {
|
|
14
14
|
this.templateRef = templateRef;
|
|
15
15
|
this.viewContainerRef = viewContainerRef;
|
|
16
16
|
this.securityService = securityService;
|
|
17
17
|
this.inj = inj;
|
|
18
18
|
this.processed = false;
|
|
19
|
+
this.context = {};
|
|
19
20
|
const securityConfig = this.securityService.get();
|
|
20
21
|
this.securityEnabled = get(securityConfig, 'securityEnabled');
|
|
21
22
|
this.isUserAuthenticated = get(securityConfig, 'authenticated');
|
|
22
23
|
this.userRoles = get(securityConfig, 'userInfo.userRoles');
|
|
24
|
+
extend(this.context, inj._lView[8], explicitContext);
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* Returns array of roles from comma separated string of roles
|
|
@@ -81,13 +83,13 @@ export class AccessrolesDirective {
|
|
|
81
83
|
const isAccessible = !this.securityEnabled || this.hasAccessToWidget(widgetRoles, this.userRoles);
|
|
82
84
|
if (isAccessible) {
|
|
83
85
|
// [WMS-19294] pass on the previous context as second param.
|
|
84
|
-
this.viewContainerRef.createEmbeddedView(this.templateRef, this.
|
|
86
|
+
this.viewContainerRef.createEmbeddedView(this.templateRef, this.context);
|
|
85
87
|
}
|
|
86
88
|
else {
|
|
87
89
|
this.viewContainerRef.clear();
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
|
-
static { this.ɵfac = function AccessrolesDirective_Factory(t) { return new (t || AccessrolesDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.SecurityService), i0.ɵɵdirectiveInject(i0.Injector)); }; }
|
|
92
|
+
static { this.ɵfac = function AccessrolesDirective_Factory(t) { return new (t || AccessrolesDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.SecurityService), i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
91
93
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: AccessrolesDirective, selectors: [["", "accessroles", ""]], inputs: { accessroles: "accessroles" } }); }
|
|
92
94
|
}
|
|
93
95
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AccessrolesDirective, [{
|
|
@@ -95,7 +97,12 @@ export class AccessrolesDirective {
|
|
|
95
97
|
args: [{
|
|
96
98
|
selector: '[accessroles]'
|
|
97
99
|
}]
|
|
98
|
-
}], () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.SecurityService }, { type: i0.Injector }
|
|
100
|
+
}], () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.SecurityService }, { type: i0.Injector }, { type: undefined, decorators: [{
|
|
101
|
+
type: Inject,
|
|
102
|
+
args: ['EXPLICIT_CONTEXT']
|
|
103
|
+
}, {
|
|
104
|
+
type: Optional
|
|
105
|
+
}] }], { accessroles: [{
|
|
99
106
|
type: Input
|
|
100
107
|
}] }); })();
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzcm9sZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9kaXJlY3RpdmVzL2FjY2Vzc3JvbGVzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQzs7O0FBRTdELElBQUssU0FJSjtBQUpELFdBQUssU0FBUztJQUNWLGtDQUFxQixDQUFBO0lBQ3JCLG9DQUF1QixDQUFBO0lBQ3ZCLDRDQUErQixDQUFBO0FBQ25DLENBQUMsRUFKSSxTQUFTLEtBQVQsU0FBUyxRQUliO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQVE3QixZQUNZLFdBQTZCLEVBQzdCLGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxHQUFhLEVBQ21CLGVBQW9CO1FBSnBELGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBVmpCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHVCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBVTFCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDOUQs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QUhoQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7YUFDNUI7O3NCQWNRLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQWtFNUIsV0FBVztrQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT3B0aW9uYWwsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtTZWN1cml0eVNlcnZpY2V9IGZyb20gJ0B3bS9zZWN1cml0eSc7XG5pbXBvcnQge2V4dGVuZCwgZ2V0LCBpbmNsdWRlcywgc3BsaXQsIHRyaW19IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZW51bSBVU0VSX1JPTEUge1xuICAgIEVWRVJZT05FID0gJ0V2ZXJ5b25lJyxcbiAgICBBTk9OWU1PVVMgPSAnQW5vbnltb3VzJyxcbiAgICBBVVRIRU5USUNBVEVEID0gJ0F1dGhlbnRpY2F0ZWQnXG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FjY2Vzc3JvbGVzXSdcbn0pXG5leHBvcnQgY2xhc3MgQWNjZXNzcm9sZXNEaXJlY3RpdmUge1xuXG4gICAgcHJpdmF0ZSBwcm9jZXNzZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzVXNlckF1dGhlbnRpY2F0ZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyUm9sZXM7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0ID0ge307XG4gICAgcHJpdmF0ZSBzZWN1cml0eUVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIHNlY3VyaXR5U2VydmljZTogU2VjdXJpdHlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGluajogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueVxuICAgICkge1xuICAgICAgICBjb25zdCBzZWN1cml0eUNvbmZpZyA9IHRoaXMuc2VjdXJpdHlTZXJ2aWNlLmdldCgpO1xuICAgICAgICB0aGlzLnNlY3VyaXR5RW5hYmxlZCA9IGdldChzZWN1cml0eUNvbmZpZywgJ3NlY3VyaXR5RW5hYmxlZCcpO1xuICAgICAgICB0aGlzLmlzVXNlckF1dGhlbnRpY2F0ZWQgPSBnZXQoc2VjdXJpdHlDb25maWcsICdhdXRoZW50aWNhdGVkJyk7XG4gICAgICAgIHRoaXMudXNlclJvbGVzID0gZ2V0KHNlY3VyaXR5Q29uZmlnLCAndXNlckluZm8udXNlclJvbGVzJyk7XG4gICAgICAgIGV4dGVuZCh0aGlzLmNvbnRleHQsIChpbmogYXMgYW55KS5fbFZpZXdbOF0sIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhcnJheSBvZiByb2xlcyBmcm9tIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2Ygcm9sZXNcbiAgICAgKiBIYW5kbGVzIGVuY29kZWQgY29tbWFzXG4gICAgICogQHBhcmFtIHZhbFxuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRXaWRnZXRSb2xlc0FycmF5RnJvbVN0cih2YWwpIHtcbiAgICAgICAgY29uc3QgVU5JQ09ERV9DT01NQV9SRUdFWCA9IC8mIzQ0Oy9nO1xuXG4gICAgICAgIHZhbCA9IHZhbCB8fCAnJztcbiAgICAgICAgaWYgKHZhbCA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICAvLyByZXBsYWNlIHRoZSB1bmljb2RlIGVxdWl2YWxlbnQgb2YgY29tbWEgd2l0aCBjb21tYVxuICAgICAgICByZXR1cm4gc3BsaXQodmFsLCAnLCcpLm1hcChmdW5jdGlvbiAodikge1xuICAgICAgICAgICAgcmV0dXJuIHRyaW0odikucmVwbGFjZShVTklDT0RFX0NPTU1BX1JFR0VYLCAnLCcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgcm9sZXMgaW4gZmlyc3QgYXJyYXlzIGlzXG4gICAgICogQHBhcmFtIHdpZGdldFJvbGVzXG4gICAgICogQHBhcmFtIHVzZXJSb2xlc1xuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHJpdmF0ZSBtYXRjaFJvbGVzKHdpZGdldFJvbGVzLCB1c2VyUm9sZXMpIHtcbiAgICAgICAgcmV0dXJuIHdpZGdldFJvbGVzLnNvbWUoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBpbmNsdWRlcyh1c2VyUm9sZXMsIGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWNpZGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIgaGFzIGFjY2VzcyB0byB3aWRnZXQgb3Igbm90XG4gICAgICogQHBhcmFtIHdpZGdldFJvbGVzXG4gICAgICogQHBhcmFtIHVzZXJSb2xlc1xuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXNBY2Nlc3NUb1dpZGdldCh3aWRnZXRSb2xlcywgdXNlclJvbGVzKSB7XG4gICAgICAgIC8vIGFjY2VzcyB0aGUgd2lkZ2V0IHdoZW4gJ0V2ZXJ5b25lJyBpcyBjaG9zZW5cbiAgICAgICAgaWYgKGluY2x1ZGVzKHdpZGdldFJvbGVzLCBVU0VSX1JPTEUuRVZFUllPTkUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFjY2VzcyB0aGUgd2lkZ2V0IHdoZW4gJ0Fub255bW91cycgaXMgY2hvc2VuIGFuZCB1c2VyIGlzIG5vdCBhdXRoZW50aWNhdGVkXG4gICAgICAgIGlmIChpbmNsdWRlcyh3aWRnZXRSb2xlcywgVVNFUl9ST0xFLkFOT05ZTU9VUykgJiYgIXRoaXMuaXNVc2VyQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhY2Nlc3MgdGhlIHdpZGdldCB3aGVuICdPbmx5IEF1dGhlbnRpY2F0ZWQgVXNlcnMnIGlzIGNob3NlbiBhbmQgdXNlciBpcyBhdXRoZW50aWNhdGVkXG4gICAgICAgIGlmIChpbmNsdWRlcyh3aWRnZXRSb2xlcywgVVNFUl9ST0xFLkFVVEhFTlRJQ0FURUQpICYmIHRoaXMuaXNVc2VyQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhY2Nlc3MgdGhlIHdpZGdldCB3aGVuIHdpZGdldCByb2xlIGFuZCBsb2dnZWQgaW4gdXNlciByb2xlIG1hdGNoZXNcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNVc2VyQXV0aGVudGljYXRlZCAmJiB0aGlzLm1hdGNoUm9sZXMod2lkZ2V0Um9sZXMsIHVzZXJSb2xlcyk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGFjY2Vzc3JvbGVzKHJvbGVzKSB7XG4gICAgICAgIC8vIGZsYWcgdG8gY29tcHV0ZSB0aGUgZGlyZWN0aXZlIG9ubHkgb25jZVxuICAgICAgICBpZiAodGhpcy5wcm9jZXNzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvY2Vzc2VkID0gdHJ1ZTtcbiAgICAgICAgY29uc3Qgd2lkZ2V0Um9sZXMgPSB0aGlzLmdldFdpZGdldFJvbGVzQXJyYXlGcm9tU3RyKHJvbGVzKTtcbiAgICAgICAgY29uc3QgaXNBY2Nlc3NpYmxlID0gIXRoaXMuc2VjdXJpdHlFbmFibGVkIHx8IHRoaXMuaGFzQWNjZXNzVG9XaWRnZXQod2lkZ2V0Um9sZXMsIHRoaXMudXNlclJvbGVzKTtcbiAgICAgICAgaWYgKGlzQWNjZXNzaWJsZSkge1xuICAgICAgICAgICAgLy8gW1dNUy0xOTI5NF0gcGFzcyBvbiB0aGUgcHJldmlvdXMgY29udGV4dCBhcyBzZWNvbmQgcGFyYW0uXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHRoaXMuY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Directive, inject, ViewChild, Inject, HostListener, Input, Component, ViewContainerRef, Self, ChangeDetectorRef, KeyValueDiffers, ViewEncapsulation, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule, APP_ID, RendererStyleFlags2, APP_INITIALIZER, LOCALE_ID } from '@angular/core';
|
|
2
|
+
import { Injectable, Directive, inject, ViewChild, Inject, HostListener, Optional, Input, Component, ViewContainerRef, Self, ChangeDetectorRef, KeyValueDiffers, ViewEncapsulation, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule, APP_ID, RendererStyleFlags2, APP_INITIALIZER, LOCALE_ID } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/router';
|
|
4
4
|
import { ActivatedRoute, Router, RouterOutlet, NavigationStart, NavigationEnd, NavigationCancel, NavigationError, RouterModule } from '@angular/router';
|
|
5
5
|
import * as i1$2 from '@angular/common';
|
|
@@ -2074,16 +2074,18 @@ var USER_ROLE;
|
|
|
2074
2074
|
USER_ROLE["AUTHENTICATED"] = "Authenticated";
|
|
2075
2075
|
})(USER_ROLE || (USER_ROLE = {}));
|
|
2076
2076
|
class AccessrolesDirective {
|
|
2077
|
-
constructor(templateRef, viewContainerRef, securityService, inj) {
|
|
2077
|
+
constructor(templateRef, viewContainerRef, securityService, inj, explicitContext) {
|
|
2078
2078
|
this.templateRef = templateRef;
|
|
2079
2079
|
this.viewContainerRef = viewContainerRef;
|
|
2080
2080
|
this.securityService = securityService;
|
|
2081
2081
|
this.inj = inj;
|
|
2082
2082
|
this.processed = false;
|
|
2083
|
+
this.context = {};
|
|
2083
2084
|
const securityConfig = this.securityService.get();
|
|
2084
2085
|
this.securityEnabled = get(securityConfig, 'securityEnabled');
|
|
2085
2086
|
this.isUserAuthenticated = get(securityConfig, 'authenticated');
|
|
2086
2087
|
this.userRoles = get(securityConfig, 'userInfo.userRoles');
|
|
2088
|
+
extend(this.context, inj._lView[8], explicitContext);
|
|
2087
2089
|
}
|
|
2088
2090
|
/**
|
|
2089
2091
|
* Returns array of roles from comma separated string of roles
|
|
@@ -2145,13 +2147,13 @@ class AccessrolesDirective {
|
|
|
2145
2147
|
const isAccessible = !this.securityEnabled || this.hasAccessToWidget(widgetRoles, this.userRoles);
|
|
2146
2148
|
if (isAccessible) {
|
|
2147
2149
|
// [WMS-19294] pass on the previous context as second param.
|
|
2148
|
-
this.viewContainerRef.createEmbeddedView(this.templateRef, this.
|
|
2150
|
+
this.viewContainerRef.createEmbeddedView(this.templateRef, this.context);
|
|
2149
2151
|
}
|
|
2150
2152
|
else {
|
|
2151
2153
|
this.viewContainerRef.clear();
|
|
2152
2154
|
}
|
|
2153
2155
|
}
|
|
2154
|
-
static { this.ɵfac = function AccessrolesDirective_Factory(t) { return new (t || AccessrolesDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i2.SecurityService), i0.ɵɵdirectiveInject(i0.Injector)); }; }
|
|
2156
|
+
static { this.ɵfac = function AccessrolesDirective_Factory(t) { return new (t || AccessrolesDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i2.SecurityService), i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
2155
2157
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: AccessrolesDirective, selectors: [["", "accessroles", ""]], inputs: { accessroles: "accessroles" } }); }
|
|
2156
2158
|
}
|
|
2157
2159
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AccessrolesDirective, [{
|
|
@@ -2159,7 +2161,12 @@ class AccessrolesDirective {
|
|
|
2159
2161
|
args: [{
|
|
2160
2162
|
selector: '[accessroles]'
|
|
2161
2163
|
}]
|
|
2162
|
-
}], () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i2.SecurityService }, { type: i0.Injector }
|
|
2164
|
+
}], () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i2.SecurityService }, { type: i0.Injector }, { type: undefined, decorators: [{
|
|
2165
|
+
type: Inject,
|
|
2166
|
+
args: ['EXPLICIT_CONTEXT']
|
|
2167
|
+
}, {
|
|
2168
|
+
type: Optional
|
|
2169
|
+
}] }], { accessroles: [{
|
|
2163
2170
|
type: Input
|
|
2164
2171
|
}] }); })();
|
|
2165
2172
|
|