@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.
@@ -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, never>;
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
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-ng-runtime",
3
- "version": "11.8.0-next.27310",
3
+ "version": "11.8.0-next.27311",
4
4
  "description": "All modules required for a wavemaker application.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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.inj._lView[8]);
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 }], { accessroles: [{
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, Injector } from '@angular/core';
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, never>;
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, Injector } from '@angular/core';
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.inj._lView[8]);
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 }], { accessroles: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzcm9sZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9kaXJlY3RpdmVzL2FjY2Vzc3JvbGVzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQzs7O0FBRXJELElBQUssU0FJSjtBQUpELFdBQUssU0FBUztJQUNWLGtDQUFxQixDQUFBO0lBQ3JCLG9DQUF1QixDQUFBO0lBQ3ZCLDRDQUErQixDQUFBO0FBQ25DLENBQUMsRUFKSSxTQUFTLEtBQVQsU0FBUyxRQUliO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQU83QixZQUNZLFdBQTZCLEVBQzdCLGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxHQUFhO1FBSGIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFUakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVd0QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLDBCQUEwQixDQUFDLEdBQUc7UUFDbEMsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUM7UUFFckMsR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDaEIsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDYixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxxREFBcUQ7UUFDckQsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssVUFBVSxDQUFDLFdBQVcsRUFBRSxTQUFTO1FBQ3JDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUk7WUFDbEMsT0FBTyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssaUJBQWlCLENBQUMsV0FBVyxFQUFFLFNBQVM7UUFDNUMsOENBQThDO1FBQzlDLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsNkVBQTZFO1FBQzdFLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMxRSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsd0ZBQXdGO1FBQ3hGLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELHFFQUFxRTtRQUNyRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBYSxXQUFXLENBQUMsS0FBSztRQUMxQiwwQ0FBMEM7UUFDMUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xHLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZiw0REFBNEQ7WUFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUcsSUFBSSxDQUFDLEdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztxRkEzRlEsb0JBQW9CO29FQUFwQixvQkFBb0I7O2lGQUFwQixvQkFBb0I7Y0FIaEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxlQUFlO2FBQzVCO2dJQTZFZ0IsV0FBVztrQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTZWN1cml0eVNlcnZpY2UgfSBmcm9tICdAd20vc2VjdXJpdHknO1xuaW1wb3J0IHtnZXQsIGluY2x1ZGVzLCBzcGxpdCwgdHJpbX0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5lbnVtIFVTRVJfUk9MRSB7XG4gICAgRVZFUllPTkUgPSAnRXZlcnlvbmUnLFxuICAgIEFOT05ZTU9VUyA9ICdBbm9ueW1vdXMnLFxuICAgIEFVVEhFTlRJQ0FURUQgPSAnQXV0aGVudGljYXRlZCdcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYWNjZXNzcm9sZXNdJ1xufSlcbmV4cG9ydCBjbGFzcyBBY2Nlc3Nyb2xlc0RpcmVjdGl2ZSB7XG5cbiAgICBwcml2YXRlIHByb2Nlc3NlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNVc2VyQXV0aGVudGljYXRlZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJSb2xlcztcbiAgICBwcml2YXRlIHNlY3VyaXR5RW5hYmxlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgc2VjdXJpdHlTZXJ2aWNlOiBTZWN1cml0eVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaW5qOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBjb25zdCBzZWN1cml0eUNvbmZpZyA9IHRoaXMuc2VjdXJpdHlTZXJ2aWNlLmdldCgpO1xuICAgICAgICB0aGlzLnNlY3VyaXR5RW5hYmxlZCA9IGdldChzZWN1cml0eUNvbmZpZywgJ3NlY3VyaXR5RW5hYmxlZCcpO1xuICAgICAgICB0aGlzLmlzVXNlckF1dGhlbnRpY2F0ZWQgPSBnZXQoc2VjdXJpdHlDb25maWcsICdhdXRoZW50aWNhdGVkJyk7XG4gICAgICAgIHRoaXMudXNlclJvbGVzID0gZ2V0KHNlY3VyaXR5Q29uZmlnLCAndXNlckluZm8udXNlclJvbGVzJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhcnJheSBvZiByb2xlcyBmcm9tIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2Ygcm9sZXNcbiAgICAgKiBIYW5kbGVzIGVuY29kZWQgY29tbWFzXG4gICAgICogQHBhcmFtIHZhbFxuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRXaWRnZXRSb2xlc0FycmF5RnJvbVN0cih2YWwpIHtcbiAgICAgICAgY29uc3QgVU5JQ09ERV9DT01NQV9SRUdFWCA9IC8mIzQ0Oy9nO1xuXG4gICAgICAgIHZhbCA9IHZhbCB8fCAnJztcbiAgICAgICAgaWYgKHZhbCA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICAvLyByZXBsYWNlIHRoZSB1bmljb2RlIGVxdWl2YWxlbnQgb2YgY29tbWEgd2l0aCBjb21tYVxuICAgICAgICByZXR1cm4gc3BsaXQodmFsLCAnLCcpLm1hcChmdW5jdGlvbiAodikge1xuICAgICAgICAgICAgcmV0dXJuIHRyaW0odikucmVwbGFjZShVTklDT0RFX0NPTU1BX1JFR0VYLCAnLCcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgcm9sZXMgaW4gZmlyc3QgYXJyYXlzIGlzXG4gICAgICogQHBhcmFtIHdpZGdldFJvbGVzXG4gICAgICogQHBhcmFtIHVzZXJSb2xlc1xuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHJpdmF0ZSBtYXRjaFJvbGVzKHdpZGdldFJvbGVzLCB1c2VyUm9sZXMpIHtcbiAgICAgICAgcmV0dXJuIHdpZGdldFJvbGVzLnNvbWUoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBpbmNsdWRlcyh1c2VyUm9sZXMsIGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWNpZGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIgaGFzIGFjY2VzcyB0byB3aWRnZXQgb3Igbm90XG4gICAgICogQHBhcmFtIHdpZGdldFJvbGVzXG4gICAgICogQHBhcmFtIHVzZXJSb2xlc1xuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXNBY2Nlc3NUb1dpZGdldCh3aWRnZXRSb2xlcywgdXNlclJvbGVzKSB7XG4gICAgICAgIC8vIGFjY2VzcyB0aGUgd2lkZ2V0IHdoZW4gJ0V2ZXJ5b25lJyBpcyBjaG9zZW5cbiAgICAgICAgaWYgKGluY2x1ZGVzKHdpZGdldFJvbGVzLCBVU0VSX1JPTEUuRVZFUllPTkUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFjY2VzcyB0aGUgd2lkZ2V0IHdoZW4gJ0Fub255bW91cycgaXMgY2hvc2VuIGFuZCB1c2VyIGlzIG5vdCBhdXRoZW50aWNhdGVkXG4gICAgICAgIGlmIChpbmNsdWRlcyh3aWRnZXRSb2xlcywgVVNFUl9ST0xFLkFOT05ZTU9VUykgJiYgIXRoaXMuaXNVc2VyQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhY2Nlc3MgdGhlIHdpZGdldCB3aGVuICdPbmx5IEF1dGhlbnRpY2F0ZWQgVXNlcnMnIGlzIGNob3NlbiBhbmQgdXNlciBpcyBhdXRoZW50aWNhdGVkXG4gICAgICAgIGlmIChpbmNsdWRlcyh3aWRnZXRSb2xlcywgVVNFUl9ST0xFLkFVVEhFTlRJQ0FURUQpICYmIHRoaXMuaXNVc2VyQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhY2Nlc3MgdGhlIHdpZGdldCB3aGVuIHdpZGdldCByb2xlIGFuZCBsb2dnZWQgaW4gdXNlciByb2xlIG1hdGNoZXNcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNVc2VyQXV0aGVudGljYXRlZCAmJiB0aGlzLm1hdGNoUm9sZXMod2lkZ2V0Um9sZXMsIHVzZXJSb2xlcyk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGFjY2Vzc3JvbGVzKHJvbGVzKSB7XG4gICAgICAgIC8vIGZsYWcgdG8gY29tcHV0ZSB0aGUgZGlyZWN0aXZlIG9ubHkgb25jZVxuICAgICAgICBpZiAodGhpcy5wcm9jZXNzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvY2Vzc2VkID0gdHJ1ZTtcbiAgICAgICAgY29uc3Qgd2lkZ2V0Um9sZXMgPSB0aGlzLmdldFdpZGdldFJvbGVzQXJyYXlGcm9tU3RyKHJvbGVzKTtcbiAgICAgICAgY29uc3QgaXNBY2Nlc3NpYmxlID0gIXRoaXMuc2VjdXJpdHlFbmFibGVkIHx8IHRoaXMuaGFzQWNjZXNzVG9XaWRnZXQod2lkZ2V0Um9sZXMsIHRoaXMudXNlclJvbGVzKTtcbiAgICAgICAgaWYgKGlzQWNjZXNzaWJsZSkge1xuICAgICAgICAgICAgLy8gW1dNUy0xOTI5NF0gcGFzcyBvbiB0aGUgcHJldmlvdXMgY29udGV4dCBhcyBzZWNvbmQgcGFyYW0uXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsICh0aGlzLmluaiBhcyBhbnkpLl9sVmlld1s4XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
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.inj._lView[8]);
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 }], { accessroles: [{
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