@abp/ng.core 5.3.2 → 5.3.3
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/esm2020/lib/directives/permission.directive.mjs +15 -3
- package/fesm2015/abp-ng.core.mjs +13 -2
- package/fesm2015/abp-ng.core.mjs.map +1 -1
- package/fesm2020/abp-ng.core.mjs +13 -2
- package/fesm2020/abp-ng.core.mjs.map +1 -1
- package/lib/directives/permission.directive.d.ts +6 -3
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Directive, Input, Optional, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ReplaySubject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged, take } from 'rxjs/operators';
|
|
3
4
|
import { PermissionService } from '../services/permission.service';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../services/permission.service";
|
|
@@ -10,6 +11,8 @@ export class PermissionDirective {
|
|
|
10
11
|
this.permissionService = permissionService;
|
|
11
12
|
this.cdRef = cdRef;
|
|
12
13
|
this.runChangeDetection = true;
|
|
14
|
+
this.cdrSubject = new ReplaySubject();
|
|
15
|
+
this.rendered = false;
|
|
13
16
|
}
|
|
14
17
|
check() {
|
|
15
18
|
if (this.subscription) {
|
|
@@ -23,7 +26,12 @@ export class PermissionDirective {
|
|
|
23
26
|
if (isGranted)
|
|
24
27
|
this.vcRef.createEmbeddedView(this.templateRef);
|
|
25
28
|
if (this.runChangeDetection) {
|
|
26
|
-
this.
|
|
29
|
+
if (!this.rendered) {
|
|
30
|
+
this.cdrSubject.next();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.cdRef.detectChanges();
|
|
34
|
+
}
|
|
27
35
|
}
|
|
28
36
|
else {
|
|
29
37
|
this.cdRef.markForCheck();
|
|
@@ -37,6 +45,10 @@ export class PermissionDirective {
|
|
|
37
45
|
ngOnChanges() {
|
|
38
46
|
this.check();
|
|
39
47
|
}
|
|
48
|
+
ngAfterViewInit() {
|
|
49
|
+
this.cdrSubject.pipe(take(1)).subscribe(() => this.cdRef.detectChanges());
|
|
50
|
+
this.rendered = true;
|
|
51
|
+
}
|
|
40
52
|
}
|
|
41
53
|
PermissionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: PermissionDirective, deps: [{ token: i0.TemplateRef, optional: true }, { token: i0.ViewContainerRef }, { token: i1.PermissionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
54
|
PermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: PermissionDirective, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"], runChangeDetection: ["abpPermissionRunChangeDetection", "runChangeDetection"] }, usesOnChanges: true, ngImport: i0 });
|
|
@@ -54,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
|
|
|
54
66
|
type: Input,
|
|
55
67
|
args: ['abpPermissionRunChangeDetection']
|
|
56
68
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFLbkUsTUFBTSxPQUFPLG1CQUFtQjtJQVc5QixZQUNzQixXQUE2QixFQUN6QyxLQUF1QixFQUN2QixpQkFBb0MsRUFDcEMsS0FBd0I7UUFIWixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDekMsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFDdkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQVpRLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUlwRSxlQUFVLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUVqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBT2QsQ0FBQztJQUVJLEtBQUs7UUFDWCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjthQUN2QyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQzthQUN2QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQixJQUFJLFNBQVM7Z0JBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUN4QjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUM1QjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzs7Z0hBcERVLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7OzBCQWFJLFFBQVE7MklBWGEsU0FBUztzQkFBaEMsS0FBSzt1QkFBQyxlQUFlO2dCQUVvQixrQkFBa0I7c0JBQTNELEtBQUs7dUJBQUMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIERpcmVjdGl2ZSxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYWJwUGVybWlzc2lvbl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoJ2FicFBlcm1pc3Npb24nKSBjb25kaXRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCdhYnBQZXJtaXNzaW9uUnVuQ2hhbmdlRGV0ZWN0aW9uJykgcnVuQ2hhbmdlRGV0ZWN0aW9uID0gdHJ1ZTtcclxuXHJcbiAgc3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjZHJTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3QoKTtcclxuXHJcbiAgcmVuZGVyZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSB2Y1JlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIGNoZWNrKCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlXHJcbiAgICAgIC5nZXRHcmFudGVkUG9saWN5JCh0aGlzLmNvbmRpdGlvbiB8fCAnJylcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZShpc0dyYW50ZWQgPT4ge1xyXG4gICAgICAgIHRoaXMudmNSZWYuY2xlYXIoKTtcclxuICAgICAgICBpZiAoaXNHcmFudGVkKSB0aGlzLnZjUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgICBpZiAodGhpcy5ydW5DaGFuZ2VEZXRlY3Rpb24pIHtcclxuICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmNkclN1YmplY3QubmV4dCgpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNkclN1YmplY3QucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCkpO1xyXG4gICAgdGhpcy5yZW5kZXJlZCA9IHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/fesm2015/abp-ng.core.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { ChangeDetectorRef, Component, Input, InjectionToken, Injectable, Inject, isDevMode, Optional, SkipSelf, Directive, EventEmitter, Output, Self, Injector, Pipe, NgModule, APP_INITIALIZER, LOCALE_ID, NgModuleFactory, Compiler, ComponentFactoryResolver, ApplicationRef, inject } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/router';
|
|
4
4
|
import { PRIMARY_OUTLET, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, ActivatedRoute, Router, RouterModule } from '@angular/router';
|
|
5
|
-
import { BehaviorSubject, Subject, throwError, Subscription, combineLatest, from, fromEvent, of, timer, pipe, Observable, concat
|
|
5
|
+
import { BehaviorSubject, Subject, throwError, Subscription, combineLatest, from, fromEvent, ReplaySubject, of, timer, pipe, Observable, concat } from 'rxjs';
|
|
6
6
|
import { map, distinctUntilChanged, filter, catchError, switchMap, take, mapTo, debounceTime, takeUntil, tap, finalize, retryWhen, delay, shareReplay } from 'rxjs/operators';
|
|
7
7
|
import compare from 'just-compare';
|
|
8
8
|
import { __rest, __awaiter } from 'tslib';
|
|
@@ -1919,6 +1919,8 @@ class PermissionDirective {
|
|
|
1919
1919
|
this.permissionService = permissionService;
|
|
1920
1920
|
this.cdRef = cdRef;
|
|
1921
1921
|
this.runChangeDetection = true;
|
|
1922
|
+
this.cdrSubject = new ReplaySubject();
|
|
1923
|
+
this.rendered = false;
|
|
1922
1924
|
}
|
|
1923
1925
|
check() {
|
|
1924
1926
|
if (this.subscription) {
|
|
@@ -1932,7 +1934,12 @@ class PermissionDirective {
|
|
|
1932
1934
|
if (isGranted)
|
|
1933
1935
|
this.vcRef.createEmbeddedView(this.templateRef);
|
|
1934
1936
|
if (this.runChangeDetection) {
|
|
1935
|
-
this.
|
|
1937
|
+
if (!this.rendered) {
|
|
1938
|
+
this.cdrSubject.next();
|
|
1939
|
+
}
|
|
1940
|
+
else {
|
|
1941
|
+
this.cdRef.detectChanges();
|
|
1942
|
+
}
|
|
1936
1943
|
}
|
|
1937
1944
|
else {
|
|
1938
1945
|
this.cdRef.markForCheck();
|
|
@@ -1946,6 +1953,10 @@ class PermissionDirective {
|
|
|
1946
1953
|
ngOnChanges() {
|
|
1947
1954
|
this.check();
|
|
1948
1955
|
}
|
|
1956
|
+
ngAfterViewInit() {
|
|
1957
|
+
this.cdrSubject.pipe(take(1)).subscribe(() => this.cdRef.detectChanges());
|
|
1958
|
+
this.rendered = true;
|
|
1959
|
+
}
|
|
1949
1960
|
}
|
|
1950
1961
|
PermissionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: PermissionDirective, deps: [{ token: i0.TemplateRef, optional: true }, { token: i0.ViewContainerRef }, { token: PermissionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1951
1962
|
PermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: PermissionDirective, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"], runChangeDetection: ["abpPermissionRunChangeDetection", "runChangeDetection"] }, usesOnChanges: true, ngImport: i0 });
|