@reskin/core 0.0.4 → 0.0.6
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/reskin-core-directives.umd.js +599 -5
- package/bundles/reskin-core-directives.umd.js.map +1 -1
- package/bundles/reskin-core-services.umd.js +11 -5
- package/bundles/reskin-core-services.umd.js.map +1 -1
- package/directives/auth.directive.d.ts +1 -1
- package/directives/directives.module.d.ts +2 -1
- package/directives/public-api.d.ts +1 -0
- package/directives/string.template.outlet.directive.d.ts +20 -0
- package/entity/user/IAuthAccount.d.ts +1 -0
- package/esm2015/directives/auth.directive.js +3 -3
- package/esm2015/directives/directives.module.js +5 -4
- package/esm2015/directives/public-api.js +2 -1
- package/esm2015/directives/string.template.outlet.directive.js +91 -0
- package/esm2015/entity/WC.js +1 -1
- package/esm2015/entity/user/IAuthAccount.js +1 -1
- package/esm2015/services/account.service.js +11 -6
- package/fesm2015/reskin-core-directives.js +96 -7
- package/fesm2015/reskin-core-directives.js.map +1 -1
- package/fesm2015/reskin-core-services.js +10 -5
- package/fesm2015/reskin-core-services.js.map +1 -1
- package/package.json +1 -1
- package/services/account.service.d.ts +6 -4
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { RkAuthDirective } from './auth.directive';
|
|
3
|
+
import { RkStringTemplateOutletDirective } from './string.template.outlet.directive';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class RkDirectivesModule {
|
|
5
6
|
}
|
|
6
7
|
RkDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
RkDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule, declarations: [RkAuthDirective], exports: [RkAuthDirective] });
|
|
8
|
+
RkDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule, declarations: [RkAuthDirective, RkStringTemplateOutletDirective], exports: [RkAuthDirective, RkStringTemplateOutletDirective] });
|
|
8
9
|
RkDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule });
|
|
9
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule, decorators: [{
|
|
10
11
|
type: NgModule,
|
|
11
12
|
args: [{
|
|
12
|
-
declarations: [RkAuthDirective],
|
|
13
|
-
exports: [RkAuthDirective],
|
|
13
|
+
declarations: [RkAuthDirective, RkStringTemplateOutletDirective],
|
|
14
|
+
exports: [RkAuthDirective, RkStringTemplateOutletDirective],
|
|
14
15
|
}]
|
|
15
16
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFNckYsTUFBTSxPQUFPLGtCQUFrQjs7Z0hBQWxCLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQUhaLGVBQWUsRUFBRSwrQkFBK0IsYUFDckQsZUFBZSxFQUFFLCtCQUErQjtpSEFFakQsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO29CQUNoRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsK0JBQStCLENBQUM7aUJBQzlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmtBdXRoRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRoLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJrU3RyaW5nVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuL3N0cmluZy50ZW1wbGF0ZS5vdXRsZXQuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtSa0F1dGhEaXJlY3RpdmUsIFJrU3RyaW5nVGVtcGxhdGVPdXRsZXREaXJlY3RpdmVdLFxyXG4gICAgZXhwb3J0czogW1JrQXV0aERpcmVjdGl2ZSwgUmtTdHJpbmdUZW1wbGF0ZU91dGxldERpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSa0RpcmVjdGl2ZXNNb2R1bGUge31cclxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './directives.module';
|
|
2
2
|
export * from './auth.directive';
|
|
3
|
-
|
|
3
|
+
export * from './string.template.outlet.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnJhcnkvY29yZS9kaXJlY3RpdmVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hdXRoLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nLnRlbXBsYXRlLm91dGxldC5kaXJlY3RpdmUnO1xyXG4iXX0=
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Directive, Input, TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class RkStringTemplateOutletDirective {
|
|
4
|
+
constructor(viewContainer, templateRef) {
|
|
5
|
+
this.viewContainer = viewContainer;
|
|
6
|
+
this.templateRef = templateRef;
|
|
7
|
+
this.embeddedViewRef = null;
|
|
8
|
+
this.context = new RkStringTemplateOutletContext();
|
|
9
|
+
this.rkStringTemplateOutletContext = null;
|
|
10
|
+
this.rkStringTemplateOutlet = null;
|
|
11
|
+
}
|
|
12
|
+
static rkTemplateContextGuard(_dir, _ctx) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
recreateView() {
|
|
16
|
+
this.viewContainer.clear();
|
|
17
|
+
const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;
|
|
18
|
+
const templateRef = (isTemplateRef ? this.rkStringTemplateOutlet : this.templateRef);
|
|
19
|
+
this.embeddedViewRef = this.viewContainer.createEmbeddedView(templateRef, isTemplateRef ? this.rkStringTemplateOutletContext : this.context);
|
|
20
|
+
}
|
|
21
|
+
updateContext() {
|
|
22
|
+
const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;
|
|
23
|
+
const newCtx = isTemplateRef ? this.rkStringTemplateOutletContext : this.context;
|
|
24
|
+
const oldCtx = this.embeddedViewRef.context;
|
|
25
|
+
if (newCtx) {
|
|
26
|
+
for (const propName of Object.keys(newCtx)) {
|
|
27
|
+
oldCtx[propName] = newCtx[propName];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
ngOnChanges(changes) {
|
|
32
|
+
const { rkStringTemplateOutletContext, rkStringTemplateOutlet } = changes;
|
|
33
|
+
const shouldRecreateView = () => {
|
|
34
|
+
let shouldOutletRecreate = false;
|
|
35
|
+
if (rkStringTemplateOutlet) {
|
|
36
|
+
if (rkStringTemplateOutlet.firstChange) {
|
|
37
|
+
shouldOutletRecreate = true;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const isPreviousOutletTemplate = rkStringTemplateOutlet.previousValue instanceof TemplateRef;
|
|
41
|
+
const isCurrentOutletTemplate = rkStringTemplateOutlet.currentValue instanceof TemplateRef;
|
|
42
|
+
shouldOutletRecreate = isPreviousOutletTemplate || isCurrentOutletTemplate;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const hasContextShapeChanged = (ctxChange) => {
|
|
46
|
+
const prevCtxKeys = Object.keys(ctxChange.previousValue || {});
|
|
47
|
+
const currCtxKeys = Object.keys(ctxChange.currentValue || {});
|
|
48
|
+
if (prevCtxKeys.length === currCtxKeys.length) {
|
|
49
|
+
for (const propName of currCtxKeys) {
|
|
50
|
+
if (prevCtxKeys.indexOf(propName) === -1) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const shouldContextRecreate = rkStringTemplateOutletContext && hasContextShapeChanged(rkStringTemplateOutletContext);
|
|
61
|
+
return shouldContextRecreate || shouldOutletRecreate;
|
|
62
|
+
};
|
|
63
|
+
if (rkStringTemplateOutlet) {
|
|
64
|
+
this.context.$implicit = rkStringTemplateOutlet.currentValue;
|
|
65
|
+
}
|
|
66
|
+
const recreateView = shouldRecreateView();
|
|
67
|
+
if (recreateView) {
|
|
68
|
+
/** recreate view when context shape or outlet change **/
|
|
69
|
+
this.recreateView();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
/** update context **/
|
|
73
|
+
this.updateContext();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
RkStringTemplateOutletDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkStringTemplateOutletDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
78
|
+
RkStringTemplateOutletDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: RkStringTemplateOutletDirective, selector: "[rkStringTemplateOutlet]", inputs: { rkStringTemplateOutletContext: "rkStringTemplateOutletContext", rkStringTemplateOutlet: "rkStringTemplateOutlet" }, usesOnChanges: true, ngImport: i0 });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkStringTemplateOutletDirective, decorators: [{
|
|
80
|
+
type: Directive,
|
|
81
|
+
args: [{
|
|
82
|
+
selector: '[rkStringTemplateOutlet]',
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { rkStringTemplateOutletContext: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], rkStringTemplateOutlet: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}] } });
|
|
89
|
+
export class RkStringTemplateOutletContext {
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLnRlbXBsYXRlLm91dGxldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvZGlyZWN0aXZlcy9zdHJpbmcudGVtcGxhdGUub3V0bGV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFtQixLQUFLLEVBQTBDLFdBQVcsRUFBb0IsTUFBTSxlQUFlLENBQUM7O0FBS3pJLE1BQU0sT0FBTywrQkFBK0I7SUErQnhDLFlBQ1ksYUFBK0IsRUFDL0IsV0FBNkI7UUFEN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQWhDakMsb0JBQWUsR0FBZ0MsSUFBSSxDQUFDO1FBQ3BELFlBQU8sR0FBRyxJQUFJLDZCQUE2QixFQUFFLENBQUM7UUFDN0Msa0NBQTZCLEdBQWUsSUFBSSxDQUFDO1FBQ2pELDJCQUFzQixHQUEyQixJQUFJLENBQUM7SUE4QjVELENBQUM7SUE1QkosTUFBTSxDQUFDLHNCQUFzQixDQUFJLElBQXdDLEVBQUUsSUFBUztRQUNoRixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsWUFBWSxXQUFXLENBQUM7UUFDekUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBUSxDQUFDO1FBQzVGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FDeEQsV0FBVyxFQUNYLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNwRSxDQUFDO0lBQ04sQ0FBQztJQUVPLGFBQWE7UUFDakIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixZQUFZLFdBQVcsQ0FBQztRQUN6RSxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNqRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxPQUFjLENBQUM7UUFDcEQsSUFBSSxNQUFNLEVBQUU7WUFDUixLQUFLLE1BQU0sUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdkM7U0FDSjtJQUNMLENBQUM7SUFPRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxFQUFFLDZCQUE2QixFQUFFLHNCQUFzQixFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzFFLE1BQU0sa0JBQWtCLEdBQUcsR0FBWSxFQUFFO1lBQ3JDLElBQUksb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLElBQUksc0JBQXNCLEVBQUU7Z0JBQ3hCLElBQUksc0JBQXNCLENBQUMsV0FBVyxFQUFFO29CQUNwQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7aUJBQy9CO3FCQUFNO29CQUNILE1BQU0sd0JBQXdCLEdBQUcsc0JBQXNCLENBQUMsYUFBYSxZQUFZLFdBQVcsQ0FBQztvQkFDN0YsTUFBTSx1QkFBdUIsR0FBRyxzQkFBc0IsQ0FBQyxZQUFZLFlBQVksV0FBVyxDQUFDO29CQUMzRixvQkFBb0IsR0FBRyx3QkFBd0IsSUFBSSx1QkFBdUIsQ0FBQztpQkFDOUU7YUFDSjtZQUNELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxTQUF1QixFQUFXLEVBQUU7Z0JBQ2hFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRTtvQkFDM0MsS0FBSyxNQUFNLFFBQVEsSUFBSSxXQUFXLEVBQUU7d0JBQ2hDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTs0QkFDdEMsT0FBTyxJQUFJLENBQUM7eUJBQ2Y7cUJBQ0o7b0JBQ0QsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO3FCQUFNO29CQUNILE9BQU8sSUFBSSxDQUFDO2lCQUNmO1lBQ0wsQ0FBQyxDQUFDO1lBQ0YsTUFBTSxxQkFBcUIsR0FBRyw2QkFBNkIsSUFBSSxzQkFBc0IsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ3JILE9BQU8scUJBQXFCLElBQUksb0JBQW9CLENBQUM7UUFDekQsQ0FBQyxDQUFDO1FBRUYsSUFBSSxzQkFBc0IsRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxzQkFBc0IsQ0FBQyxZQUFZLENBQUM7U0FDaEU7UUFFRCxNQUFNLFlBQVksR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFDLElBQUksWUFBWSxFQUFFO1lBQ2QseURBQXlEO1lBQ3pELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN2QjthQUFNO1lBQ0gsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QjtJQUNMLENBQUM7OzZIQS9FUSwrQkFBK0I7aUhBQS9CLCtCQUErQjs0RkFBL0IsK0JBQStCO2tCQUgzQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDO2lJQUlZLDZCQUE2QjtzQkFBckMsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7O0FBOEVWLE1BQU0sT0FBTyw2QkFBNkI7Q0FFekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tya1N0cmluZ1RlbXBsYXRlT3V0bGV0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSa1N0cmluZ1RlbXBsYXRlT3V0bGV0RGlyZWN0aXZlPF9UID0gdW5rbm93bj4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgcHJpdmF0ZSBlbWJlZGRlZFZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+IHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcml2YXRlIGNvbnRleHQgPSBuZXcgUmtTdHJpbmdUZW1wbGF0ZU91dGxldENvbnRleHQoKTtcclxuICAgIEBJbnB1dCgpIHJrU3RyaW5nVGVtcGxhdGVPdXRsZXRDb250ZXh0OiBhbnkgfCBudWxsID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHJrU3RyaW5nVGVtcGxhdGVPdXRsZXQ6IGFueSB8IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsO1xyXG5cclxuICAgIHN0YXRpYyBya1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KF9kaXI6IFJrU3RyaW5nVGVtcGxhdGVPdXRsZXREaXJlY3RpdmU8VD4sIF9jdHg6IGFueSk6IF9jdHggaXMgUmtTdHJpbmdUZW1wbGF0ZU91dGxldENvbnRleHQge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVjcmVhdGVWaWV3KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIGNvbnN0IGlzVGVtcGxhdGVSZWYgPSB0aGlzLnJrU3RyaW5nVGVtcGxhdGVPdXRsZXQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcclxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVJlZiA9IChpc1RlbXBsYXRlUmVmID8gdGhpcy5ya1N0cmluZ1RlbXBsYXRlT3V0bGV0IDogdGhpcy50ZW1wbGF0ZVJlZikgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyhcclxuICAgICAgICAgICAgdGVtcGxhdGVSZWYsXHJcbiAgICAgICAgICAgIGlzVGVtcGxhdGVSZWYgPyB0aGlzLnJrU3RyaW5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IDogdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVDb250ZXh0KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGlzVGVtcGxhdGVSZWYgPSB0aGlzLnJrU3RyaW5nVGVtcGxhdGVPdXRsZXQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcclxuICAgICAgICBjb25zdCBuZXdDdHggPSBpc1RlbXBsYXRlUmVmID8gdGhpcy5ya1N0cmluZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCA6IHRoaXMuY29udGV4dDtcclxuICAgICAgICBjb25zdCBvbGRDdHggPSB0aGlzLmVtYmVkZGVkVmlld1JlZiEuY29udGV4dCBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG5ld0N0eCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIE9iamVjdC5rZXlzKG5ld0N0eCkpIHtcclxuICAgICAgICAgICAgICAgIG9sZEN0eFtwcm9wTmFtZV0gPSBuZXdDdHhbcHJvcE5hbWVdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB7IHJrU3RyaW5nVGVtcGxhdGVPdXRsZXRDb250ZXh0LCBya1N0cmluZ1RlbXBsYXRlT3V0bGV0IH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGNvbnN0IHNob3VsZFJlY3JlYXRlVmlldyA9ICgpOiBib29sZWFuID0+IHtcclxuICAgICAgICAgICAgbGV0IHNob3VsZE91dGxldFJlY3JlYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmIChya1N0cmluZ1RlbXBsYXRlT3V0bGV0KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmtTdHJpbmdUZW1wbGF0ZU91dGxldC5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNob3VsZE91dGxldFJlY3JlYXRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNQcmV2aW91c091dGxldFRlbXBsYXRlID0gcmtTdHJpbmdUZW1wbGF0ZU91dGxldC5wcmV2aW91c1ZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNDdXJyZW50T3V0bGV0VGVtcGxhdGUgPSBya1N0cmluZ1RlbXBsYXRlT3V0bGV0LmN1cnJlbnRWYWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xyXG4gICAgICAgICAgICAgICAgICAgIHNob3VsZE91dGxldFJlY3JlYXRlID0gaXNQcmV2aW91c091dGxldFRlbXBsYXRlIHx8IGlzQ3VycmVudE91dGxldFRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc0NvbnRleHRTaGFwZUNoYW5nZWQgPSAoY3R4Q2hhbmdlOiBTaW1wbGVDaGFuZ2UpOiBib29sZWFuID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZDdHhLZXlzID0gT2JqZWN0LmtleXMoY3R4Q2hhbmdlLnByZXZpb3VzVmFsdWUgfHwge30pO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VyckN0eEtleXMgPSBPYmplY3Qua2V5cyhjdHhDaGFuZ2UuY3VycmVudFZhbHVlIHx8IHt9KTtcclxuICAgICAgICAgICAgICAgIGlmIChwcmV2Q3R4S2V5cy5sZW5ndGggPT09IGN1cnJDdHhLZXlzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcHJvcE5hbWUgb2YgY3VyckN0eEtleXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZDdHhLZXlzLmluZGV4T2YocHJvcE5hbWUpID09PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3Qgc2hvdWxkQ29udGV4dFJlY3JlYXRlID0gcmtTdHJpbmdUZW1wbGF0ZU91dGxldENvbnRleHQgJiYgaGFzQ29udGV4dFNoYXBlQ2hhbmdlZChya1N0cmluZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCk7XHJcbiAgICAgICAgICAgIHJldHVybiBzaG91bGRDb250ZXh0UmVjcmVhdGUgfHwgc2hvdWxkT3V0bGV0UmVjcmVhdGU7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKHJrU3RyaW5nVGVtcGxhdGVPdXRsZXQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LiRpbXBsaWNpdCA9IHJrU3RyaW5nVGVtcGxhdGVPdXRsZXQuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcmVjcmVhdGVWaWV3ID0gc2hvdWxkUmVjcmVhdGVWaWV3KCk7XHJcbiAgICAgICAgaWYgKHJlY3JlYXRlVmlldykge1xyXG4gICAgICAgICAgICAvKiogcmVjcmVhdGUgdmlldyB3aGVuIGNvbnRleHQgc2hhcGUgb3Igb3V0bGV0IGNoYW5nZSAqKi9cclxuICAgICAgICAgICAgdGhpcy5yZWNyZWF0ZVZpZXcoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvKiogdXBkYXRlIGNvbnRleHQgKiovXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJrU3RyaW5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IHtcclxuICAgIHB1YmxpYyAkaW1wbGljaXQ6IGFueTtcclxufVxyXG4iXX0=
|
package/esm2015/entity/WC.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV0MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvZW50aXR5L1dDLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICog6aG555uu6YWN572uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFdDIHtcclxuICAgIC8qKlxyXG4gICAgICog5piv5ZCm5q2j5byP546v5aKDXHJcbiAgICAgKi9cclxuICAgIHByb2R1Y3Rpb246IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIOezu+e7n+WfuuacrOmFjee9rlxyXG4gICAgICovXHJcbiAgICBpbnNpZ2h0czogQXBwSW5zaWdodHM7XHJcbiAgICAvKipcclxuICAgICAqIOezu+e7n+aVsOaNruebuOWFs+mFjee9rlxyXG4gICAgICovXHJcbiAgICBzZXJ2ZXJzOiBBcHBTZXJ2ZXJzO1xyXG4gICAgLyoqXHJcbiAgICAgKiDlhbblroPphY3nva5cclxuICAgICAqL1xyXG4gICAgY3VzdG9tczogQXJyYXk8UmVjb3JkPHN0cmluZywgYW55Pj47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDns7vnu5/ln7rmnKzphY3nva5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBwSW5zaWdodHMge1xyXG4gICAgLyoqXHJcbiAgICAgKiDns7vnu5/lkI3np7BcclxuICAgICAqL1xyXG4gICAgUFJPSkVDVF9OQU1FOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDns7vnu5/phY3nva5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBwU2VydmVycyB7XHJcbiAgICAvKipcclxuICAgICAqIOmAmueUqOihqOe8lueggVxyXG4gICAgICovXHJcbiAgICBUQUJMRV9DT0RFOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOWcsOWMuue8lueggSjnlKjkuo7ljLrliIblrZfmrrXmlrnmoYjvvIznlYzpnaLmlrnmoYjvvIzooajlhozlnLDljLopXHJcbiAgICAgKi9cclxuICAgIEFSRUFfQ09ERTogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiDlr7zoiKrliIbnu4RcclxuICAgICAqL1xyXG4gICAgUkVTT1VSQ0VfR1JPVVBfSUQ6IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICog5py65p6E5YiG57uEXHJcbiAgICAgKi9cclxuICAgIERBVEFfVU5JVF9PUkdfR1JPVVBfSUQ6IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUF1dGhBY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL2VudGl0eS91c2VyL0lBdXRoQWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIOi0puWPt+adg+mZkFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJQXV0aEFjY291bnQge1xyXG4gICAgLyoqXHJcbiAgICAgKiDkurrlkZjlupNcclxuICAgICAqL1xyXG4gICAgQXV0aFBlcnNvbm5lbFBvb2w6IElBdXRoUGVyc29ubmVsUG9vbDtcclxuICAgIC8qKlxyXG4gICAgICog5Lia5Yqh5p2D6ZmQXHJcbiAgICAgKi9cclxuICAgIEF1dGhXZklkOiBJQXV0aFdvcmtmbG93O1xyXG4gICAgLyoqXHJcbiAgICAgKiDotKblj7fkv6Hmga9cclxuICAgICAqL1xyXG4gICAgVXNlckluZm86IElBY2NvdW50UHJvZmlsZTtcclxuICAgIC8qKlxyXG4gICAgICog5py65p6E5YiG57uE5p2D6ZmQXHJcbiAgICAgKi9cclxuICAgIEF1dGhPcmdHcm91cDogQXJyYXk8SUF1dGhPcmdHcm91cD47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDotKblj7fkurrlkZjlupPmnYPpmZBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUF1dGhQZXJzb25uZWxQb29sIHtcclxuICAgIFtjb2RlOiBzdHJpbmddOiB7XHJcbiAgICAgICAgQUREOiBib29sZWFuO1xyXG4gICAgICAgIE1PRElGWTogYm9vbGVhbjtcclxuICAgICAgICBWSUVXOiBib29sZWFuO1xyXG4gICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIOi0puWPt+S4muWKoeadg+mZkFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJQXV0aFdvcmtmbG93IHtcclxuICAgIFt3ZklkOiBzdHJpbmddOiB7XHJcbiAgICAgICAgU1RBUlQ6IGJvb2xlYW47XHJcbiAgICAgICAgVklFVzogYm9vbGVhbjtcclxuICAgIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDotKblj7fln7rmnKzkv6Hmga9cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFjY291bnRQcm9maWxlIHtcclxuICAgIC8qKlxyXG4gICAgICog55So5oi36LSm5Y+3XHJcbiAgICAgKi9cclxuICAgIFNZU1RFTV9VU0VSX0FDQ09VTlQ6IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICog55So5oi35ZCN56ewXHJcbiAgICAgKi9cclxuICAgIFNZU1RFTV9VU0VSX05BTUU6IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICog6K+05piOXHJcbiAgICAgKi9cclxuICAgIFNZU1RFTV9VU0VSX0RFU0M6IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICog5Y2V5L2N5ZCN56ewXHJcbiAgICAgKi9cclxuICAgIEIwMV9OQU1FOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOWcsOWMuueuoeeQhuWRmFxyXG4gICAgICovXHJcbiAgICBJU19BUkVBX01BTkFHRU1FTlQ6IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIOWHuueUn+aXpeacn1xyXG4gICAgICovXHJcbiAgICBTWVNURU1fVVNFUl9CSVJUSF9EQVRBOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOaJi+acuuWPt+eggVxyXG4gICAgICovXHJcbiAgICBTWVNURU1fVVNFUl9QSE9ORTogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiDmgKfliKtcclxuICAgICAqL1xyXG4gICAgU1lTVEVNX1VTRVJfU0VYOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOi6q+S7veivgeWPt1xyXG4gICAgICovXHJcbiAgICBTWVNfVVNFUl9JRF9DQVJEOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOeUqOaIt+exu+Wei1xyXG4gICAgICovXHJcbiAgICBTWVNURU1fVVNFUl9UWVBFOiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIOS/ruaUueWvhueggeaXtumXtFxyXG4gICAgICovXHJcbiAgICBTWVNfVVNFUl9QQVNTV09SRF9EQVRFOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOWvhue6p1xyXG4gICAgICovXHJcbiAgICBTWVNfVVNFUl9TRUNSRVRTX0xFVkVMOiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIOeUqOaIt+e8lueggVxyXG4gICAgICovXHJcbiAgICBTWVNURU1fVVNFUl9JRDogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiDljZXkvY3nvJbnoIFcclxuICAgICAqL1xyXG4gICAgQjAxX0lEOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOacuuaehOe8lueggVxyXG4gICAgICovXHJcbiAgICBEQVRBX1VOSVRfT1JHX0lEOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIOinkuiJsue8lueggVxyXG4gICAgICovXHJcbiAgICBST0xFX0lEOiBzdHJpbmdbXTtcclxuXHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDotKblj7fmnLrmnoTliIbnu4TmnYPpmZBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUF1dGhPcmdHcm91cCB7XHJcbiAgICAvKipcclxuICAgICAqIOacuuaehOWIhue7hOWkh+azqFxyXG4gICAgICovXHJcbiAgICBPUkdfR1JPVVBfREVTQzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiDmnLrmnoTliIbnu4TlkI3np7BcclxuICAgICAqL1xyXG4gICAgT1JHX0dST1VQX05BTUU6IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICog5py65p6E5YiG57uE57yW56CBXHJcbiAgICAgKi9cclxuICAgIERBVEFfVU5JVF9PUkdfR1JPVVBfSUQ6IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -13,15 +13,20 @@ export class RkAccountService {
|
|
|
13
13
|
this.account = new Store('account', {});
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* 加载认证数据
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* 此方法用于从服务器加载当前用户的认证数据,可选地包括一些额外的信息
|
|
19
|
+
*
|
|
20
|
+
* @param GET_A01_INFO 是否获取额外的A01信息,默认为false
|
|
21
|
+
* @returns 返回一个Observable,包含处理后的认证数据
|
|
20
22
|
*/
|
|
21
|
-
onLoadAuth() {
|
|
23
|
+
onLoadAuth(GET_A01_INFO = false) {
|
|
22
24
|
var _a;
|
|
25
|
+
// 定义加载认证数据的API端点
|
|
23
26
|
const url = 'api/gl-service-sys-user/v1/user/system/user/loadAuthData';
|
|
24
|
-
|
|
27
|
+
// 发起POST请求以加载认证数据,请求体包含用户ID和是否获取额外信息的标志
|
|
28
|
+
return this.http.post(url, { SYSTEM_USER_ID: (_a = this.auth.token) === null || _a === void 0 ? void 0 : _a.id, GET_A01_INFO }).pipe(tap((json) => {
|
|
29
|
+
// 如果服务器返回的数据表明请求成功,则更新账户信息
|
|
25
30
|
if (json.code === 0) {
|
|
26
31
|
this.account.set(json.data);
|
|
27
32
|
}
|
|
@@ -68,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
68
73
|
providedIn: 'root',
|
|
69
74
|
}]
|
|
70
75
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.RkAuthService }]; } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFNM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUd6QixZQUNZLElBQWdCLEVBQUUseUJBQXlCO0lBQzNDLElBQW1CO1FBRG5CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUovQix3QkFBd0I7UUFDaEIsWUFBTyxHQUFHLElBQUksS0FBSyxDQUFlLFNBQVMsRUFBZ0IsRUFBRSxDQUFDLENBQUM7SUFJcEUsQ0FBQztJQUVKOzs7Ozs7O09BT0c7SUFDSCxVQUFVLENBQUMsZUFBd0IsS0FBSzs7UUFDcEMsaUJBQWlCO1FBQ2pCLE1BQU0sR0FBRyxHQUFHLDBEQUEwRCxDQUFDO1FBRXZFLHdDQUF3QztRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxFQUFFLGNBQWMsRUFBRSxNQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSywwQ0FBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3JGLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1QsMkJBQTJCO1lBQzNCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMvQjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztJQUMzQyxDQUFDOzs4R0FqRVEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGYixNQUFNOzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUmtBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUFjY291bnRQcm9maWxlLCBJQXV0aEFjY291bnQsIElBdXRoT3JnR3JvdXAsIElBdXRoUGVyc29ubmVsUG9vbCwgSUF1dGhXb3JrZmxvdyB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHkvdXNlcic7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQHJlc2tpbi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgUiB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHknO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtBY2NvdW50U2VydmljZSB7XHJcbiAgICAvLyDlrprkuYnkuIDkuKpTdG9yZeWunuS+i+eUqOS6juWtmOWCqOeUqOaIt+iupOivgeS/oeaBr1xyXG4gICAgcHJpdmF0ZSBhY2NvdW50ID0gbmV3IFN0b3JlPElBdXRoQWNjb3VudD4oJ2FjY291bnQnLCA8SUF1dGhBY2NvdW50Pnt9KTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgLy8gSHR0cENsaWVudOWunuS+i+eUqOS6juWPkemAgUhUVFDor7fmsYJcclxuICAgICAgICBwcml2YXRlIGF1dGg6IFJrQXV0aFNlcnZpY2UsIC8vIFJrQXV0aFNlcnZpY2Xlrp7kvovnlKjkuo7ouqvku73pqozor4Hnm7jlhbPmk43kvZxcclxuICAgICkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWKoOi9veiupOivgeaVsOaNrlxyXG4gICAgICpcclxuICAgICAqIOatpOaWueazleeUqOS6juS7juacjeWKoeWZqOWKoOi9veW9k+WJjeeUqOaIt+eahOiupOivgeaVsOaNru+8jOWPr+mAieWcsOWMheaLrOS4gOS6m+mineWklueahOS/oeaBr1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBHRVRfQTAxX0lORk8g5piv5ZCm6I635Y+W6aKd5aSW55qEQTAx5L+h5oGv77yM6buY6K6k5Li6ZmFsc2VcclxuICAgICAqIEByZXR1cm5zIOi/lOWbnuS4gOS4qk9ic2VydmFibGXvvIzljIXlkKvlpITnkIblkI7nmoTorqTor4HmlbDmja5cclxuICAgICAqL1xyXG4gICAgb25Mb2FkQXV0aChHRVRfQTAxX0lORk86IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgICAgIC8vIOWumuS5ieWKoOi9veiupOivgeaVsOaNrueahEFQSeerr+eCuVxyXG4gICAgICAgIGNvbnN0IHVybCA9ICdhcGkvZ2wtc2VydmljZS1zeXMtdXNlci92MS91c2VyL3N5c3RlbS91c2VyL2xvYWRBdXRoRGF0YSc7XHJcblxyXG4gICAgICAgIC8vIOWPkei1t1BPU1Tor7fmsYLku6XliqDovb3orqTor4HmlbDmja7vvIzor7fmsYLkvZPljIXlkKvnlKjmiLdJROWSjOaYr+WQpuiOt+WPlumineWkluS/oeaBr+eahOagh+W/l1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSPih1cmwsIHsgU1lTVEVNX1VTRVJfSUQ6IHRoaXMuYXV0aC50b2tlbj8uaWQsIEdFVF9BMDFfSU5GTyB9KS5waXBlKFxyXG4gICAgICAgICAgICB0YXAoKGpzb24pID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIOWmguaenOacjeWKoeWZqOi/lOWbnueahOaVsOaNruihqOaYjuivt+axguaIkOWKn++8jOWImeabtOaWsOi0puaIt+S/oeaBr1xyXG4gICAgICAgICAgICAgICAgaWYgKGpzb24uY29kZSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWNjb3VudC5zZXQoanNvbi5kYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOiOt+W+l+i0puWPt+WfuuacrOS/oeaBr1xyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHtJQWNjb3VudFByb2ZpbGV9IOi/lOWbnuW9k+WJjei0puWPt+eahOWfuuacrOS/oeaBr+WvueixoVxyXG4gICAgICovXHJcbiAgICBnZXQgdXNlckluZm8oKTogSUFjY291bnRQcm9maWxlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50LmdldCgpLlVzZXJJbmZvO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635b6X6LSm5Y+35Lq65ZGY5bqT5p2D6ZmQXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge0lBdXRoUGVyc29ubmVsUG9vbH0g6L+U5Zue5b2T5YmN6LSm5Y+355qE5Lq65ZGY5bqT5p2D6ZmQ5a+56LGhXHJcbiAgICAgKi9cclxuICAgIGdldCBwZXJzb25uZWxQb29sKCk6IElBdXRoUGVyc29ubmVsUG9vbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudC5nZXQoKS5BdXRoUGVyc29ubmVsUG9vbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOiOt+W+l+i0puWPt+S4muWKoeadg+mZkFxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHtJQXV0aFdvcmtmbG93fSDov5Tlm57lvZPliY3otKblj7fnmoTkuJrliqHmnYPpmZDlr7nosaFcclxuICAgICAqL1xyXG4gICAgZ2V0IHdvcmtmbG93QXV0aCgpOiBJQXV0aFdvcmtmbG93IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50LmdldCgpLkF1dGhXZklkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635b6X6LSm5Y+35py65p6E5YiG57uE5p2D6ZmQXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge0FycmF5PElBdXRoT3JnR3JvdXA+fSDov5Tlm57lvZPliY3otKblj7fnmoTmnLrmnoTliIbnu4TmnYPpmZDmlbDnu4RcclxuICAgICAqL1xyXG4gICAgZ2V0IGF1dGhPcmdHcm91cCgpOiBBcnJheTxJQXV0aE9yZ0dyb3VwPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudC5nZXQoKS5BdXRoT3JnR3JvdXA7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Input, NgModule } from '@angular/core';
|
|
2
|
+
import { Directive, Input, TemplateRef, NgModule } from '@angular/core';
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
4
|
import * as i1 from '@reskin/core/services';
|
|
5
5
|
|
|
@@ -68,11 +68,11 @@ class RkAuthDirective {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
RkAuthDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkAuthDirective, deps: [{ token: i1.RkMenuService }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
71
|
-
RkAuthDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: RkAuthDirective, selector: "[
|
|
71
|
+
RkAuthDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: RkAuthDirective, selector: "[rkAuth]", inputs: { auth: "auth", authThen: "authThen", authElse: "authElse" }, ngImport: i0 });
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkAuthDirective, decorators: [{
|
|
73
73
|
type: Directive,
|
|
74
74
|
args: [{
|
|
75
|
-
selector: '[
|
|
75
|
+
selector: '[rkAuth]',
|
|
76
76
|
}]
|
|
77
77
|
}], ctorParameters: function () { return [{ type: i1.RkMenuService }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { auth: [{
|
|
78
78
|
type: Input
|
|
@@ -82,16 +82,105 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
82
82
|
type: Input
|
|
83
83
|
}] } });
|
|
84
84
|
|
|
85
|
+
class RkStringTemplateOutletDirective {
|
|
86
|
+
constructor(viewContainer, templateRef) {
|
|
87
|
+
this.viewContainer = viewContainer;
|
|
88
|
+
this.templateRef = templateRef;
|
|
89
|
+
this.embeddedViewRef = null;
|
|
90
|
+
this.context = new RkStringTemplateOutletContext();
|
|
91
|
+
this.rkStringTemplateOutletContext = null;
|
|
92
|
+
this.rkStringTemplateOutlet = null;
|
|
93
|
+
}
|
|
94
|
+
static rkTemplateContextGuard(_dir, _ctx) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
recreateView() {
|
|
98
|
+
this.viewContainer.clear();
|
|
99
|
+
const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;
|
|
100
|
+
const templateRef = (isTemplateRef ? this.rkStringTemplateOutlet : this.templateRef);
|
|
101
|
+
this.embeddedViewRef = this.viewContainer.createEmbeddedView(templateRef, isTemplateRef ? this.rkStringTemplateOutletContext : this.context);
|
|
102
|
+
}
|
|
103
|
+
updateContext() {
|
|
104
|
+
const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;
|
|
105
|
+
const newCtx = isTemplateRef ? this.rkStringTemplateOutletContext : this.context;
|
|
106
|
+
const oldCtx = this.embeddedViewRef.context;
|
|
107
|
+
if (newCtx) {
|
|
108
|
+
for (const propName of Object.keys(newCtx)) {
|
|
109
|
+
oldCtx[propName] = newCtx[propName];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
ngOnChanges(changes) {
|
|
114
|
+
const { rkStringTemplateOutletContext, rkStringTemplateOutlet } = changes;
|
|
115
|
+
const shouldRecreateView = () => {
|
|
116
|
+
let shouldOutletRecreate = false;
|
|
117
|
+
if (rkStringTemplateOutlet) {
|
|
118
|
+
if (rkStringTemplateOutlet.firstChange) {
|
|
119
|
+
shouldOutletRecreate = true;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const isPreviousOutletTemplate = rkStringTemplateOutlet.previousValue instanceof TemplateRef;
|
|
123
|
+
const isCurrentOutletTemplate = rkStringTemplateOutlet.currentValue instanceof TemplateRef;
|
|
124
|
+
shouldOutletRecreate = isPreviousOutletTemplate || isCurrentOutletTemplate;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const hasContextShapeChanged = (ctxChange) => {
|
|
128
|
+
const prevCtxKeys = Object.keys(ctxChange.previousValue || {});
|
|
129
|
+
const currCtxKeys = Object.keys(ctxChange.currentValue || {});
|
|
130
|
+
if (prevCtxKeys.length === currCtxKeys.length) {
|
|
131
|
+
for (const propName of currCtxKeys) {
|
|
132
|
+
if (prevCtxKeys.indexOf(propName) === -1) {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const shouldContextRecreate = rkStringTemplateOutletContext && hasContextShapeChanged(rkStringTemplateOutletContext);
|
|
143
|
+
return shouldContextRecreate || shouldOutletRecreate;
|
|
144
|
+
};
|
|
145
|
+
if (rkStringTemplateOutlet) {
|
|
146
|
+
this.context.$implicit = rkStringTemplateOutlet.currentValue;
|
|
147
|
+
}
|
|
148
|
+
const recreateView = shouldRecreateView();
|
|
149
|
+
if (recreateView) {
|
|
150
|
+
/** recreate view when context shape or outlet change **/
|
|
151
|
+
this.recreateView();
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
/** update context **/
|
|
155
|
+
this.updateContext();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
RkStringTemplateOutletDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkStringTemplateOutletDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
160
|
+
RkStringTemplateOutletDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: RkStringTemplateOutletDirective, selector: "[rkStringTemplateOutlet]", inputs: { rkStringTemplateOutletContext: "rkStringTemplateOutletContext", rkStringTemplateOutlet: "rkStringTemplateOutlet" }, usesOnChanges: true, ngImport: i0 });
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkStringTemplateOutletDirective, decorators: [{
|
|
162
|
+
type: Directive,
|
|
163
|
+
args: [{
|
|
164
|
+
selector: '[rkStringTemplateOutlet]',
|
|
165
|
+
}]
|
|
166
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { rkStringTemplateOutletContext: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], rkStringTemplateOutlet: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}] } });
|
|
171
|
+
class RkStringTemplateOutletContext {
|
|
172
|
+
}
|
|
173
|
+
|
|
85
174
|
class RkDirectivesModule {
|
|
86
175
|
}
|
|
87
176
|
RkDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
88
|
-
RkDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule, declarations: [RkAuthDirective], exports: [RkAuthDirective] });
|
|
177
|
+
RkDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule, declarations: [RkAuthDirective, RkStringTemplateOutletDirective], exports: [RkAuthDirective, RkStringTemplateOutletDirective] });
|
|
89
178
|
RkDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule });
|
|
90
179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDirectivesModule, decorators: [{
|
|
91
180
|
type: NgModule,
|
|
92
181
|
args: [{
|
|
93
|
-
declarations: [RkAuthDirective],
|
|
94
|
-
exports: [RkAuthDirective],
|
|
182
|
+
declarations: [RkAuthDirective, RkStringTemplateOutletDirective],
|
|
183
|
+
exports: [RkAuthDirective, RkStringTemplateOutletDirective],
|
|
95
184
|
}]
|
|
96
185
|
}] });
|
|
97
186
|
|
|
@@ -99,5 +188,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
99
188
|
* Generated bundle index. Do not edit.
|
|
100
189
|
*/
|
|
101
190
|
|
|
102
|
-
export { RkAuthDirective, RkDirectivesModule };
|
|
191
|
+
export { RkAuthDirective, RkDirectivesModule, RkStringTemplateOutletContext, RkStringTemplateOutletDirective };
|
|
103
192
|
//# sourceMappingURL=reskin-core-directives.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reskin-core-directives.js","sources":["../../../library/core/directives/auth.directive.ts","../../../library/core/directives/directives.module.ts","../../../library/core/directives/reskin-core-directives.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { RkMenuService } from '@reskin/core/services';\n\n@Directive({\n selector: '[auth]',\n})\nexport class RkAuthDirective implements OnDestroy {\n /**\n * 传递多个标识符时,逗号分隔,匹配按\"或者\"运算\n * @param condition\n */\n @Input()\n set auth(condition: string | string[]) {\n this.condition = condition;\n this.updateView();\n }\n\n @Input()\n set authThen(templateRef: TemplateRef<any> | null) {\n this.thenTemplateRef = templateRef;\n this.thenViewRef = null;\n this.updateView();\n }\n\n @Input()\n set authElse(templateRef: TemplateRef<any> | null) {\n this.elseTemplateRef = templateRef;\n this.elseViewRef = null;\n this.updateView();\n }\n\n constructor(\n private menu: RkMenuService,\n private viewContainerRef: ViewContainerRef,\n public templateRef: TemplateRef<any>,\n ) {\n this.thenTemplateRef = templateRef;\n }\n\n private condition: string | string[] = '';\n private thenTemplateRef: TemplateRef<any> | null = null;\n private elseTemplateRef: TemplateRef<any> | null = null;\n private thenViewRef: EmbeddedViewRef<any> | null = null;\n private elseViewRef: EmbeddedViewRef<any> | null = null;\n private authSubscription?: Subscription;\n\n ngOnDestroy() {\n this.authSubscription?.unsubscribe();\n }\n\n private updateView() {\n this.authSubscription?.unsubscribe();\n this.authSubscription = this.hasAuth(this.condition).subscribe((context) => {\n this.viewContainerRef.clear();\n if (context.status) {\n if (this.thenTemplateRef) {\n this.thenViewRef = this.viewContainerRef.createEmbeddedView(this.thenTemplateRef, context);\n }\n } else {\n if (this.elseTemplateRef) {\n this.elseViewRef = this.viewContainerRef.createEmbeddedView(this.elseTemplateRef, context);\n }\n }\n });\n }\n\n private hasAuth(tags: string | string[]) {\n const tagList: string[] = typeof tags === 'string' ? [tags] : tags;\n return this.menu.requestData().pipe(\n map((json) => {\n const menus = json.data.filter((menu) => tagList.includes(menu.SYSTEM_RESOURCE_GUARD_ID));\n if (!menus.length) return { $implicit: [], status: false };\n return {\n $implicit: typeof tags === 'string' ? menus[0] : menus,\n status: !!menus.length,\n };\n }),\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RkAuthDirective } from './auth.directive';\n\n@NgModule({\n declarations: [RkAuthDirective],\n exports: [RkAuthDirective],\n})\nexport class RkDirectivesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reskin-core-directives.js","sources":["../../../library/core/directives/auth.directive.ts","../../../library/core/directives/string.template.outlet.directive.ts","../../../library/core/directives/directives.module.ts","../../../library/core/directives/reskin-core-directives.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { RkMenuService } from '@reskin/core/services';\r\n\r\n@Directive({\r\n selector: '[rkAuth]',\r\n})\r\nexport class RkAuthDirective implements OnDestroy {\r\n /**\r\n * 传递多个标识符时,逗号分隔,匹配按\"或者\"运算\r\n * @param condition\r\n */\r\n @Input()\r\n set auth(condition: string | string[]) {\r\n this.condition = condition;\r\n this.updateView();\r\n }\r\n\r\n @Input()\r\n set authThen(templateRef: TemplateRef<any> | null) {\r\n this.thenTemplateRef = templateRef;\r\n this.thenViewRef = null;\r\n this.updateView();\r\n }\r\n\r\n @Input()\r\n set authElse(templateRef: TemplateRef<any> | null) {\r\n this.elseTemplateRef = templateRef;\r\n this.elseViewRef = null;\r\n this.updateView();\r\n }\r\n\r\n constructor(\r\n private menu: RkMenuService,\r\n private viewContainerRef: ViewContainerRef,\r\n public templateRef: TemplateRef<any>,\r\n ) {\r\n this.thenTemplateRef = templateRef;\r\n }\r\n\r\n private condition: string | string[] = '';\r\n private thenTemplateRef: TemplateRef<any> | null = null;\r\n private elseTemplateRef: TemplateRef<any> | null = null;\r\n private thenViewRef: EmbeddedViewRef<any> | null = null;\r\n private elseViewRef: EmbeddedViewRef<any> | null = null;\r\n private authSubscription?: Subscription;\r\n\r\n ngOnDestroy() {\r\n this.authSubscription?.unsubscribe();\r\n }\r\n\r\n private updateView() {\r\n this.authSubscription?.unsubscribe();\r\n this.authSubscription = this.hasAuth(this.condition).subscribe((context) => {\r\n this.viewContainerRef.clear();\r\n if (context.status) {\r\n if (this.thenTemplateRef) {\r\n this.thenViewRef = this.viewContainerRef.createEmbeddedView(this.thenTemplateRef, context);\r\n }\r\n } else {\r\n if (this.elseTemplateRef) {\r\n this.elseViewRef = this.viewContainerRef.createEmbeddedView(this.elseTemplateRef, context);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private hasAuth(tags: string | string[]) {\r\n const tagList: string[] = typeof tags === 'string' ? [tags] : tags;\r\n return this.menu.requestData().pipe(\r\n map((json) => {\r\n const menus = json.data.filter((menu) => tagList.includes(menu.SYSTEM_RESOURCE_GUARD_ID));\r\n if (!menus.length) return { $implicit: [], status: false };\r\n return {\r\n $implicit: typeof tags === 'string' ? menus[0] : menus,\r\n status: !!menus.length,\r\n };\r\n }),\r\n );\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rkStringTemplateOutlet]',\r\n})\r\nexport class RkStringTemplateOutletDirective<_T = unknown> implements OnChanges {\r\n private embeddedViewRef: EmbeddedViewRef<any> | null = null;\r\n private context = new RkStringTemplateOutletContext();\r\n @Input() rkStringTemplateOutletContext: any | null = null;\r\n @Input() rkStringTemplateOutlet: any | TemplateRef<any> = null;\r\n\r\n static rkTemplateContextGuard<T>(_dir: RkStringTemplateOutletDirective<T>, _ctx: any): _ctx is RkStringTemplateOutletContext {\r\n return true;\r\n }\r\n\r\n private recreateView(): void {\r\n this.viewContainer.clear();\r\n const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;\r\n const templateRef = (isTemplateRef ? this.rkStringTemplateOutlet : this.templateRef) as any;\r\n this.embeddedViewRef = this.viewContainer.createEmbeddedView(\r\n templateRef,\r\n isTemplateRef ? this.rkStringTemplateOutletContext : this.context,\r\n );\r\n }\r\n\r\n private updateContext(): void {\r\n const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;\r\n const newCtx = isTemplateRef ? this.rkStringTemplateOutletContext : this.context;\r\n const oldCtx = this.embeddedViewRef!.context as any;\r\n if (newCtx) {\r\n for (const propName of Object.keys(newCtx)) {\r\n oldCtx[propName] = newCtx[propName];\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { rkStringTemplateOutletContext, rkStringTemplateOutlet } = changes;\r\n const shouldRecreateView = (): boolean => {\r\n let shouldOutletRecreate = false;\r\n if (rkStringTemplateOutlet) {\r\n if (rkStringTemplateOutlet.firstChange) {\r\n shouldOutletRecreate = true;\r\n } else {\r\n const isPreviousOutletTemplate = rkStringTemplateOutlet.previousValue instanceof TemplateRef;\r\n const isCurrentOutletTemplate = rkStringTemplateOutlet.currentValue instanceof TemplateRef;\r\n shouldOutletRecreate = isPreviousOutletTemplate || isCurrentOutletTemplate;\r\n }\r\n }\r\n const hasContextShapeChanged = (ctxChange: SimpleChange): boolean => {\r\n const prevCtxKeys = Object.keys(ctxChange.previousValue || {});\r\n const currCtxKeys = Object.keys(ctxChange.currentValue || {});\r\n if (prevCtxKeys.length === currCtxKeys.length) {\r\n for (const propName of currCtxKeys) {\r\n if (prevCtxKeys.indexOf(propName) === -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const shouldContextRecreate = rkStringTemplateOutletContext && hasContextShapeChanged(rkStringTemplateOutletContext);\r\n return shouldContextRecreate || shouldOutletRecreate;\r\n };\r\n\r\n if (rkStringTemplateOutlet) {\r\n this.context.$implicit = rkStringTemplateOutlet.currentValue;\r\n }\r\n\r\n const recreateView = shouldRecreateView();\r\n if (recreateView) {\r\n /** recreate view when context shape or outlet change **/\r\n this.recreateView();\r\n } else {\r\n /** update context **/\r\n this.updateContext();\r\n }\r\n }\r\n}\r\n\r\nexport class RkStringTemplateOutletContext {\r\n public $implicit: any;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RkAuthDirective } from './auth.directive';\r\nimport { RkStringTemplateOutletDirective } from './string.template.outlet.directive';\r\n\r\n@NgModule({\r\n declarations: [RkAuthDirective, RkStringTemplateOutletDirective],\r\n exports: [RkAuthDirective, RkStringTemplateOutletDirective],\r\n})\r\nexport class RkDirectivesModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -153,15 +153,20 @@ class RkAccountService {
|
|
|
153
153
|
this.account = new Store('account', {});
|
|
154
154
|
}
|
|
155
155
|
/**
|
|
156
|
-
*
|
|
156
|
+
* 加载认证数据
|
|
157
157
|
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
158
|
+
* 此方法用于从服务器加载当前用户的认证数据,可选地包括一些额外的信息
|
|
159
|
+
*
|
|
160
|
+
* @param GET_A01_INFO 是否获取额外的A01信息,默认为false
|
|
161
|
+
* @returns 返回一个Observable,包含处理后的认证数据
|
|
160
162
|
*/
|
|
161
|
-
onLoadAuth() {
|
|
163
|
+
onLoadAuth(GET_A01_INFO = false) {
|
|
162
164
|
var _a;
|
|
165
|
+
// 定义加载认证数据的API端点
|
|
163
166
|
const url = 'api/gl-service-sys-user/v1/user/system/user/loadAuthData';
|
|
164
|
-
|
|
167
|
+
// 发起POST请求以加载认证数据,请求体包含用户ID和是否获取额外信息的标志
|
|
168
|
+
return this.http.post(url, { SYSTEM_USER_ID: (_a = this.auth.token) === null || _a === void 0 ? void 0 : _a.id, GET_A01_INFO }).pipe(tap((json) => {
|
|
169
|
+
// 如果服务器返回的数据表明请求成功,则更新账户信息
|
|
165
170
|
if (json.code === 0) {
|
|
166
171
|
this.account.set(json.data);
|
|
167
172
|
}
|