diff --git a/npm/ng-packs/packages/core/src/lib/directives/permission.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/permission.directive.ts index 1047d6ba30..54657235c8 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/permission.directive.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/permission.directive.ts @@ -34,6 +34,7 @@ export class PermissionDirective implements OnInit, OnDestroy { .pipe(takeUntilDestroy(this)) .subscribe(isGranted => { if (this.templateRef && isGranted) { + this.vcRef.clear(); this.vcRef.createEmbeddedView(this.templateRef); } else if (this.templateRef && !isGranted) { this.vcRef.clear(); diff --git a/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts b/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts index 22d3e91414..e23eeb40c2 100644 --- a/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts +++ b/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts @@ -14,7 +14,7 @@ export class PermissionGuard implements CanActivate { constructor(private store: Store) {} canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable { - let resource = snq(() => route.data.routes.requiredPolicy) || (route.data.requiredPolicy as string); + let resource = snq(() => route.data.routes.requiredPolicy) || snq(() => route.data.requiredPolicy as string); if (!resource) { resource = snq( () => route.routeConfig.children.find(child => state.url.indexOf(child.path) > -1).data.requiredPolicy,