atr-components 0.2.417 → 2.0.1
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/atr-components.module.d.ts +9 -9
- package/atr-public-api.d.ts +53 -53
- package/core/animations/animations.d.ts +1 -1
- package/core/animations/fly-in.d.ts +1 -1
- package/core/animations/scroll-screen.d.ts +1 -1
- package/core/auth/auth.guard.d.ts +11 -11
- package/core/base/atr-common.d.ts +347 -347
- package/core/directive/error-img.directive.d.ts +10 -10
- package/core/directive/hq-spin.directive.d.ts +13 -13
- package/core/directive/role.directive.d.ts +16 -16
- package/core/interceptor/base.interceptor.d.ts +17 -17
- package/core/ngz-module/cus-zorro-antd.module.d.ts +75 -75
- package/core/pipe/china-num.pipe.d.ts +7 -7
- package/core/pipe/count.pipe.d.ts +7 -7
- package/core/pipe/day.pipe.d.ts +8 -8
- package/core/pipe/defaultVal.pipe.d.ts +7 -7
- package/core/pipe/dicts.pipe.d.ts +10 -10
- package/core/pipe/image-pipe.pipe.d.ts +8 -8
- package/core/pipe/is-empty.pipe.d.ts +7 -7
- package/core/pipe/is-not-empty.pipe.d.ts +7 -7
- package/core/pipe/oss.pipe.d.ts +7 -7
- package/core/pipe/ossStatic.pipe.d.ts +7 -7
- package/core/pipe/pipe-module.module.d.ts +21 -21
- package/core/pipe/remove-html.pipe.d.ts +10 -10
- package/core/pipe/safe-compute.pipe.d.ts +7 -7
- package/core/pipe/safe-html.pipe.d.ts +10 -10
- package/core/pipe/safe-url.pipe.d.ts +10 -10
- package/core/routereuse/atr-reuse-strategy.d.ts +19 -19
- package/core/services/dict/dict.service.d.ts +20 -20
- package/core/services/http.service.d.ts +31 -31
- package/core/services/menu.service.d.ts +29 -29
- package/core/services/upload-oss.service.d.ts +14 -14
- package/core/utils/ToolsUtil.d.ts +180 -180
- package/core/utils/localstorage.util.d.ts +15 -15
- package/core/utils/sessionstorage.util.d.ts +15 -15
- package/{esm2020 → esm2022}/atr-components.mjs +4 -4
- package/esm2022/atr-components.module.mjs +36 -0
- package/{esm2020 → esm2022}/atr-public-api.mjs +54 -54
- package/{esm2020 → esm2022}/core/animations/animations.mjs +9 -9
- package/{esm2020 → esm2022}/core/animations/fly-in.mjs +18 -18
- package/{esm2020 → esm2022}/core/animations/scroll-screen.mjs +22 -22
- package/{esm2020 → esm2022}/core/auth/auth.guard.mjs +37 -37
- package/esm2022/core/base/atr-common.mjs +47 -0
- package/{esm2020 → esm2022}/core/directive/error-img.directive.mjs +31 -31
- package/{esm2020 → esm2022}/core/directive/hq-spin.directive.mjs +48 -48
- package/esm2022/core/directive/role.directive.mjs +69 -0
- package/{esm2020 → esm2022}/core/interceptor/base.interceptor.mjs +165 -165
- package/{esm2020 → esm2022}/core/ngz-module/cus-zorro-antd.module.mjs +292 -292
- package/{esm2020 → esm2022}/core/pipe/china-num.pipe.mjs +36 -36
- package/{esm2020 → esm2022}/core/pipe/count.pipe.mjs +34 -34
- package/{esm2020 → esm2022}/core/pipe/day.pipe.mjs +24 -24
- package/{esm2020 → esm2022}/core/pipe/defaultVal.pipe.mjs +23 -23
- package/{esm2020 → esm2022}/core/pipe/dicts.pipe.mjs +28 -28
- package/{esm2020 → esm2022}/core/pipe/image-pipe.pipe.mjs +17 -17
- package/{esm2020 → esm2022}/core/pipe/is-empty.pipe.mjs +20 -20
- package/{esm2020 → esm2022}/core/pipe/is-not-empty.pipe.mjs +17 -17
- package/{esm2020 → esm2022}/core/pipe/oss.pipe.mjs +17 -17
- package/{esm2020 → esm2022}/core/pipe/ossStatic.pipe.mjs +17 -17
- package/esm2022/core/pipe/pipe-module.module.mjs +38 -0
- package/{esm2020 → esm2022}/core/pipe/remove-html.pipe.mjs +21 -21
- package/{esm2020 → esm2022}/core/pipe/safe-compute.pipe.mjs +23 -23
- package/{esm2020 → esm2022}/core/pipe/safe-html.pipe.mjs +20 -20
- package/{esm2020 → esm2022}/core/pipe/safe-url.pipe.mjs +20 -20
- package/esm2022/core/routereuse/atr-reuse-strategy.mjs +79 -0
- package/esm2022/core/services/dict/dict.service.mjs +152 -0
- package/{esm2020 → esm2022}/core/services/http.service.mjs +306 -306
- package/{esm2020 → esm2022}/core/services/menu.service.mjs +130 -130
- package/{esm2020 → esm2022}/core/services/upload-oss.service.mjs +74 -74
- package/esm2022/core/utils/ToolsUtil.mjs +622 -0
- package/{esm2020 → esm2022}/core/utils/localstorage.util.mjs +94 -94
- package/{esm2020 → esm2022}/core/utils/sessionstorage.util.mjs +72 -72
- package/{esm2020 → esm2022}/lib/hello/hello.component.mjs +15 -15
- package/esm2022/lib/hello/hello.module.mjs +20 -0
- package/esm2022/lib/shared/atr-shared.module.mjs +204 -0
- package/esm2022/lib/shared/echarts/echarts.component.mjs +77 -0
- package/esm2022/lib/shared/form/form.component.mjs +574 -0
- package/esm2022/lib/shared/img-canvas/img-canvas.component.mjs +132 -0
- package/esm2022/lib/shared/local-upload/local-upload.component.mjs +68 -0
- package/esm2022/lib/shared/quill-editor/quill-editor.component.mjs +248 -0
- package/esm2022/lib/shared/select-icons/select-icons.component.mjs +90 -0
- package/{esm2020 → esm2022}/lib/shared/select-tree/select-tree.component.mjs +55 -55
- package/{esm2020 → esm2022}/lib/shared/service/busi.service.mjs +69 -69
- package/{esm2020 → esm2022}/lib/shared/share.service.mjs +107 -107
- package/esm2022/lib/shared/table/table-form-item/table-form-item.component.mjs +96 -0
- package/esm2022/lib/shared/table/table-td/table-td.component.mjs +165 -0
- package/esm2022/lib/shared/table/table.component.mjs +749 -0
- package/{esm2020 → esm2022}/lib/shared/upload/upload.component.mjs +274 -274
- package/{esm2020 → esm2022}/lib/shared/validators/atr-validtors.mjs +8 -8
- package/esm2022/lib/shared/video/video.component.mjs +16 -0
- package/esm2022/lib/shared/view-form/view-form.component.mjs +181 -0
- package/{fesm2020 → fesm2022}/atr-components.mjs +5311 -5312
- package/fesm2022/atr-components.mjs.map +1 -0
- package/{atr-components.d.ts → index.d.ts} +5 -5
- package/lib/hello/hello.component.d.ts +8 -8
- package/lib/hello/hello.module.d.ts +8 -8
- package/lib/shared/atr-shared.module.d.ts +36 -33
- package/lib/shared/echarts/echarts.component.d.ts +34 -34
- package/lib/shared/form/form.component.d.ts +45 -45
- package/lib/shared/img-canvas/img-canvas.component.d.ts +28 -28
- package/lib/shared/local-upload/local-upload.component.d.ts +22 -22
- package/lib/shared/quill-editor/quill-editor.component.d.ts +45 -45
- package/lib/shared/select-icons/select-icons.component.d.ts +24 -24
- package/lib/shared/select-tree/select-tree.component.d.ts +23 -23
- package/lib/shared/service/busi.service.d.ts +20 -20
- package/lib/shared/share.service.d.ts +14 -14
- package/lib/shared/table/table-form-item/table-form-item.component.d.ts +25 -25
- package/lib/shared/table/table-td/table-td.component.d.ts +26 -26
- package/lib/shared/table/table.component.d.ts +94 -94
- package/lib/shared/upload/upload.component.d.ts +53 -53
- package/lib/shared/validators/atr-validtors.d.ts +2 -2
- package/lib/shared/video/video.component.d.ts +7 -7
- package/lib/shared/view-form/view-form.component.d.ts +28 -28
- package/package.json +14 -22
- package/esm2020/atr-components.module.mjs +0 -38
- package/esm2020/core/base/atr-common.mjs +0 -47
- package/esm2020/core/directive/role.directive.mjs +0 -69
- package/esm2020/core/pipe/pipe-module.module.mjs +0 -40
- package/esm2020/core/routereuse/atr-reuse-strategy.mjs +0 -79
- package/esm2020/core/services/dict/dict.service.mjs +0 -152
- package/esm2020/core/utils/ToolsUtil.mjs +0 -622
- package/esm2020/lib/hello/hello.module.mjs +0 -22
- package/esm2020/lib/shared/atr-shared.module.mjs +0 -199
- package/esm2020/lib/shared/echarts/echarts.component.mjs +0 -77
- package/esm2020/lib/shared/form/form.component.mjs +0 -574
- package/esm2020/lib/shared/img-canvas/img-canvas.component.mjs +0 -132
- package/esm2020/lib/shared/local-upload/local-upload.component.mjs +0 -68
- package/esm2020/lib/shared/quill-editor/quill-editor.component.mjs +0 -248
- package/esm2020/lib/shared/select-icons/select-icons.component.mjs +0 -90
- package/esm2020/lib/shared/table/table-form-item/table-form-item.component.mjs +0 -96
- package/esm2020/lib/shared/table/table-td/table-td.component.mjs +0 -165
- package/esm2020/lib/shared/table/table.component.mjs +0 -749
- package/esm2020/lib/shared/video/video.component.mjs +0 -15
- package/esm2020/lib/shared/view-form/view-form.component.mjs +0 -181
- package/fesm2015/atr-components.mjs +0 -5522
- package/fesm2015/atr-components.mjs.map +0 -1
- package/fesm2020/atr-components.mjs.map +0 -1
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { ToolsUtil } from '../utils/ToolsUtil';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/platform-browser";
|
|
5
|
-
export class RemoveHtmlPipe {
|
|
6
|
-
constructor(sanitized) {
|
|
7
|
-
this.sanitized = sanitized;
|
|
8
|
-
}
|
|
9
|
-
transform(value, ...args) {
|
|
10
|
-
return ToolsUtil.removeHtml(value);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
-
type: Pipe,
|
|
17
|
-
args: [{
|
|
18
|
-
name: 'removeHtml'
|
|
19
|
-
}]
|
|
20
|
-
}], ctorParameters:
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { ToolsUtil } from '../utils/ToolsUtil';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
export class RemoveHtmlPipe {
|
|
6
|
+
constructor(sanitized) {
|
|
7
|
+
this.sanitized = sanitized;
|
|
8
|
+
}
|
|
9
|
+
transform(value, ...args) {
|
|
10
|
+
return ToolsUtil.removeHtml(value);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RemoveHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: RemoveHtmlPipe, name: "removeHtml" }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RemoveHtmlPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{
|
|
18
|
+
name: 'removeHtml'
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWh0bWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvcGlwZS9yZW1vdmUtaHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSy9DLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBRyxJQUFXO1FBQ2xDLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOzhHQVBVLGNBQWM7NEdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFIMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFRvb2xzVXRpbCB9IGZyb20gJy4uL3V0aWxzL1Rvb2xzVXRpbCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3JlbW92ZUh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW1vdmVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBhbnkge1xyXG4gICAgcmV0dXJuIFRvb2xzVXRpbC5yZW1vdmVIdG1sKHZhbHVlKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { DefaultValPipe } from './defaultVal.pipe';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SafeComputePipe {
|
|
5
|
-
transform(first, second, isParseInt) {
|
|
6
|
-
let isE = new DefaultValPipe();
|
|
7
|
-
second = isE.transform(second, 0);
|
|
8
|
-
if (second == 0) {
|
|
9
|
-
return 0;
|
|
10
|
-
}
|
|
11
|
-
let result = isE.transform(first, 0) / second + "";
|
|
12
|
-
return isParseInt ? parseInt(result) : result;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
-
type: Pipe,
|
|
19
|
-
args: [{
|
|
20
|
-
name: 'safeCompute'
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { DefaultValPipe } from './defaultVal.pipe';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SafeComputePipe {
|
|
5
|
+
transform(first, second, isParseInt) {
|
|
6
|
+
let isE = new DefaultValPipe();
|
|
7
|
+
second = isE.transform(second, 0);
|
|
8
|
+
if (second == 0) {
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
let result = isE.transform(first, 0) / second + "";
|
|
12
|
+
return isParseInt ? parseInt(result) : result;
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SafeComputePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
15
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: SafeComputePipe, name: "safeCompute" }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SafeComputePipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: 'safeCompute'
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1jb21wdXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL3BpcGUvc2FmZS1jb21wdXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUtuRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxVQUFvQjtRQUMzRCxJQUFJLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUM7WUFDYixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUVsRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUU7SUFDakQsQ0FBQzs4R0FYVSxlQUFlOzRHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSDNCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEZWZhdWx0VmFsUGlwZSB9IGZyb20gJy4vZGVmYXVsdFZhbC5waXBlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2FmZUNvbXB1dGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlQ29tcHV0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKGZpcnN0OiBudW1iZXIsIHNlY29uZDogbnVtYmVyLCBpc1BhcnNlSW50PzogYm9vbGVhbiApOiBhbnkge1xyXG4gICAgbGV0IGlzRSA9IG5ldyBEZWZhdWx0VmFsUGlwZSgpO1xyXG4gICAgc2Vjb25kID0gaXNFLnRyYW5zZm9ybShzZWNvbmQsMCk7XHJcbiAgICBpZihzZWNvbmQgPT0gMCl7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgbGV0IHJlc3VsdCA9IGlzRS50cmFuc2Zvcm0oZmlyc3QsMCkgLyBzZWNvbmQgKyBcIlwiO1xyXG5cclxuICAgIHJldHVybiBpc1BhcnNlSW50ID8gcGFyc2VJbnQocmVzdWx0KSA6IHJlc3VsdCA7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/platform-browser";
|
|
4
|
-
export class SafeHtmlPipe {
|
|
5
|
-
constructor(sanitizer) {
|
|
6
|
-
this.sanitizer = sanitizer;
|
|
7
|
-
}
|
|
8
|
-
transform(html) {
|
|
9
|
-
return this.sanitizer.bypassSecurityTrustHtml(html);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
15
|
-
type: Pipe,
|
|
16
|
-
args: [{
|
|
17
|
-
name: 'safeHtml'
|
|
18
|
-
}]
|
|
19
|
-
}], ctorParameters:
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class SafeHtmlPipe {
|
|
5
|
+
constructor(sanitizer) {
|
|
6
|
+
this.sanitizer = sanitizer;
|
|
7
|
+
}
|
|
8
|
+
transform(html) {
|
|
9
|
+
return this.sanitizer.bypassSecurityTrustHtml(html);
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{
|
|
17
|
+
name: 'safeHtml'
|
|
18
|
+
}]
|
|
19
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL3BpcGUvc2FmZS1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU1wRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFxQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQzVDLENBQUM7SUFDRCxTQUFTLENBQUMsSUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FMVSxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2FmZUh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlSHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3RvciAocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xyXG4gIH1cclxuICB0cmFuc2Zvcm0oaHRtbDphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/platform-browser";
|
|
4
|
-
export class SafeUrlPipe {
|
|
5
|
-
constructor(sanitized) {
|
|
6
|
-
this.sanitized = sanitized;
|
|
7
|
-
}
|
|
8
|
-
transform(value, ...args) {
|
|
9
|
-
return this.sanitized.bypassSecurityTrustResourceUrl(value);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
15
|
-
type: Pipe,
|
|
16
|
-
args: [{
|
|
17
|
-
name: 'safeUrl'
|
|
18
|
-
}]
|
|
19
|
-
}], ctorParameters:
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class SafeUrlPipe {
|
|
5
|
+
constructor(sanitized) {
|
|
6
|
+
this.sanitized = sanitized;
|
|
7
|
+
}
|
|
8
|
+
transform(value, ...args) {
|
|
9
|
+
return this.sanitized.bypassSecurityTrustResourceUrl(value);
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SafeUrlPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{
|
|
17
|
+
name: 'safeUrl'
|
|
18
|
+
}]
|
|
19
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvcGlwZS9zYWZlLXVybC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFDaEQsU0FBUyxDQUFDLEtBQVUsRUFBRSxHQUFHLElBQVc7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7OEdBTFUsV0FBVzs0R0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUh2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NhZmVVcmwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7IH1cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVkLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export class AtrReuseStrategy {
|
|
2
|
+
static { this.handlers = {}; }
|
|
3
|
+
static { this.outReusePath = ["_p", "_p_login", "_s", "_d", "_d_i"]; }
|
|
4
|
+
shouldDetach(route) {
|
|
5
|
+
const path = this.getRouteUrl(route);
|
|
6
|
+
if (!route.routeConfig || route.routeConfig.loadChildren || AtrReuseStrategy.outReusePath.indexOf(path) > -1) {
|
|
7
|
+
// console.log("不需要缓存:"+path);
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
// console.log("需要缓存:"+path);
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** 当路由离开时会触发。按path作为key存储路由快照&组件当前实例对象 */
|
|
16
|
+
store(route, handle) {
|
|
17
|
+
const path = this.getRouteUrl(route);
|
|
18
|
+
AtrReuseStrategy.handlers[path] = handle;
|
|
19
|
+
// console.log("添加路由缓存:"+path)
|
|
20
|
+
// console.log(AtrReuseStrategy.handlers);
|
|
21
|
+
}
|
|
22
|
+
/** 若 path 在缓存中有的都认为允许还原路由 */
|
|
23
|
+
shouldAttach(route) {
|
|
24
|
+
// console.debug('shouldAttach======>', route);
|
|
25
|
+
return !!AtrReuseStrategy.handlers[this.getRouteUrl(route)];
|
|
26
|
+
}
|
|
27
|
+
/** 从缓存中获取快照,若无则返回nul */
|
|
28
|
+
retrieve(route) {
|
|
29
|
+
if (!route.routeConfig)
|
|
30
|
+
return null;
|
|
31
|
+
if (route.routeConfig.loadChildren || route.routeConfig.children)
|
|
32
|
+
return null;
|
|
33
|
+
if (!AtrReuseStrategy.handlers[this.getRouteUrl(route)]) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
// console.debug('retrieve======>', this.getRouteUrl(route));
|
|
37
|
+
if (AtrReuseStrategy.outReusePath.indexOf(this.getRouteUrl(route)) > -1)
|
|
38
|
+
return null;
|
|
39
|
+
return AtrReuseStrategy.handlers[this.getRouteUrl(route)];
|
|
40
|
+
}
|
|
41
|
+
/** 进入路由触发,判断是否同一路由 */
|
|
42
|
+
shouldReuseRoute(future, curr) {
|
|
43
|
+
return future.routeConfig === curr.routeConfig;
|
|
44
|
+
// return future.routeConfig === curr.routeConfig &&
|
|
45
|
+
// JSON.stringify(future.params) === JSON.stringify(curr.params);
|
|
46
|
+
}
|
|
47
|
+
/** 删除缓存路由快照的方法 */
|
|
48
|
+
static deleteRouteSnapshot(path) {
|
|
49
|
+
const name = path.replace(/\//g, '_');
|
|
50
|
+
// console.log('删除缓存路由:' + name);
|
|
51
|
+
// console.log(AtrReuseStrategy.handlers);
|
|
52
|
+
// console.log(AtrReuseStrategy.handlers[name]);
|
|
53
|
+
let handle = AtrReuseStrategy.handlers[name];
|
|
54
|
+
let componentRef = handle ? handle['componentRef'] : null;
|
|
55
|
+
if (componentRef) {
|
|
56
|
+
componentRef.destroy();
|
|
57
|
+
}
|
|
58
|
+
if (AtrReuseStrategy.handlers[name] || AtrReuseStrategy.handlers[name] == null) {
|
|
59
|
+
delete AtrReuseStrategy.handlers[name];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** 使用route的path作为快照的key */
|
|
63
|
+
getRouteUrl(route) {
|
|
64
|
+
const path = route['_routerState'].url.replace(/\//g, '_');
|
|
65
|
+
// const path = route['_routerState'].url.replace(/\//g, '_')+ '_' + (route.routeConfig.loadChildren || route.routeConfig.component.toString().split('(')[0].split(' ')[1] );
|
|
66
|
+
return path;
|
|
67
|
+
}
|
|
68
|
+
static deleteAll() {
|
|
69
|
+
// console.log("删除所有缓存路由:"+name)
|
|
70
|
+
for (let key in AtrReuseStrategy.handlers) {
|
|
71
|
+
let ref = AtrReuseStrategy.handlers[key]['componentRef'];
|
|
72
|
+
if (ref) {
|
|
73
|
+
ref.destroy();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
AtrReuseStrategy.handlers = {};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXJldXNlLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9yb3V0ZXJldXNlL2F0ci1yZXVzZS1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sZ0JBQWdCO2FBRVgsYUFBUSxHQUFRLEVBQUUsQ0FBQzthQUVuQixpQkFBWSxHQUFhLENBQUMsSUFBSSxFQUFDLFVBQVUsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRXpFLFlBQVksQ0FBQyxLQUE2QjtRQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUc7WUFDN0csOEJBQThCO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1NBRWI7YUFBSTtZQUNKLDZCQUE2QjtZQUM3QixPQUFPLElBQUksQ0FBQztTQUNaO0lBRUosQ0FBQztJQUNELDBDQUEwQztJQUMxQyxLQUFLLENBQUMsS0FBNkIsRUFBRSxNQUEyQjtRQUM1RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDekMsOEJBQThCO1FBQzlCLDBDQUEwQztJQUM5QyxDQUFDO0lBQ0EsNkJBQTZCO0lBQzlCLFlBQVksQ0FBQyxLQUE0QjtRQUNyQywrQ0FBK0M7UUFDL0MsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ0Qsd0JBQXdCO0lBQ3hCLFFBQVEsQ0FBQyxLQUE2QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNwQyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUTtZQUFHLE9BQU8sSUFBSSxDQUFDO1FBQy9FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3JELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCw2REFBNkQ7UUFDN0QsSUFBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEUsT0FBTyxJQUFJLENBQUM7UUFDaEIsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxzQkFBc0I7SUFDdEIsZ0JBQWdCLENBQUMsTUFBOEIsRUFBRSxJQUE0QjtRQUN6RSxPQUFPLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBRTtRQUNoRCxvREFBb0Q7UUFDaEQsaUVBQWlFO0lBQ3pFLENBQUM7SUFDRCxrQkFBa0I7SUFDWCxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBWTtRQUM1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxpQ0FBaUM7UUFDakMsMENBQTBDO1FBQzFDLGdEQUFnRDtRQUNoRCxJQUFJLE1BQU0sR0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakQsSUFBSSxZQUFZLEdBQXNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0UsSUFBSSxZQUFZLEVBQUU7WUFDaEIsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtZQUM5RSxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsV0FBVyxDQUFDLEtBQVU7UUFDbEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNELDZLQUE2SztRQUM3SyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ00sTUFBTSxDQUFDLFNBQVM7UUFDbkIsZ0NBQWdDO1FBRWxDLEtBQUssSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQUMsUUFBUSxFQUFHO1lBQzFDLElBQUksR0FBRyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6RCxJQUFHLEdBQUcsRUFBQztnQkFDTCxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDZjtTQUNGO1FBQ0QsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5LCBEZXRhY2hlZFJvdXRlSGFuZGxlLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQXRyUmV1c2VTdHJhdGVneSBpbXBsZW1lbnRzIFJvdXRlUmV1c2VTdHJhdGVneSB7XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBoYW5kbGVyczogYW55ID0ge307XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBvdXRSZXVzZVBhdGg6IHN0cmluZ1tdICA9W1wiX3BcIixcIl9wX2xvZ2luXCIsXCJfc1wiLFwiX2RcIixcIl9kX2lcIl1cclxuXHJcbiAgICBzaG91bGREZXRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcclxuICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLmdldFJvdXRlVXJsKHJvdXRlKTtcclxuICAgICAgIGlmKCFyb3V0ZS5yb3V0ZUNvbmZpZyB8fCByb3V0ZS5yb3V0ZUNvbmZpZy5sb2FkQ2hpbGRyZW4gfHwgQXRyUmV1c2VTdHJhdGVneS5vdXRSZXVzZVBhdGguaW5kZXhPZihwYXRoKSA+IC0xICkge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5LiN6ZyA6KaB57yT5a2Y77yaXCIrcGF0aCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgIH1lbHNle1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi6ZyA6KaB57yT5a2Y77yaXCIrcGF0aCk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLyoqIOW9k+i3r+eUseemu+W8gOaXtuS8muinpuWPkeOAguaMiXBhdGjkvZzkuLprZXnlrZjlgqjot6/nlLHlv6vnhacm57uE5Lu25b2T5YmN5a6e5L6L5a+56LGhICovXHJcbiAgICBzdG9yZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgaGFuZGxlOiBEZXRhY2hlZFJvdXRlSGFuZGxlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgcGF0aCA9IHRoaXMuZ2V0Um91dGVVcmwocm91dGUpXHJcbiAgICAgICAgQXRyUmV1c2VTdHJhdGVneS5oYW5kbGVyc1twYXRoXSA9IGhhbmRsZTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIua3u+WKoOi3r+eUsee8k+WtmO+8mlwiK3BhdGgpXHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coQXRyUmV1c2VTdHJhdGVneS5oYW5kbGVycyk7XHJcbiAgICB9XHJcbiAgICAgLyoqIOiLpSBwYXRoIOWcqOe8k+WtmOS4reacieeahOmDveiupOS4uuWFgeiuuOi/mOWOn+i3r+eUsSAqL1xyXG4gICAgc2hvdWxkQXR0YWNoKHJvdXRlOkFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcclxuICAgICAgICAvLyBjb25zb2xlLmRlYnVnKCdzaG91bGRBdHRhY2g9PT09PT0+Jywgcm91dGUpO1xyXG4gICAgICAgIHJldHVybiAhIUF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnNbdGhpcy5nZXRSb3V0ZVVybChyb3V0ZSldO1xyXG4gICAgfVxyXG4gICAgLyoqIOS7jue8k+WtmOS4reiOt+WPluW/q+eFp++8jOiLpeaXoOWImei/lOWbnm51bCAqL1xyXG4gICAgcmV0cmlldmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBEZXRhY2hlZFJvdXRlSGFuZGxlfGFueSB7XHJcbiAgICAgICAgaWYgKCFyb3V0ZS5yb3V0ZUNvbmZpZykgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgaWYgKHJvdXRlLnJvdXRlQ29uZmlnLmxvYWRDaGlsZHJlbiB8fCByb3V0ZS5yb3V0ZUNvbmZpZy5jaGlsZHJlbiApIHJldHVybiBudWxsO1xyXG4gICAgICAgIGlmICghQXRyUmV1c2VTdHJhdGVneS5oYW5kbGVyc1t0aGlzLmdldFJvdXRlVXJsKHJvdXRlKV0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUuZGVidWcoJ3JldHJpZXZlPT09PT09PicsIHRoaXMuZ2V0Um91dGVVcmwocm91dGUpKTtcclxuICAgICAgICBpZihBdHJSZXVzZVN0cmF0ZWd5Lm91dFJldXNlUGF0aC5pbmRleE9mKHRoaXMuZ2V0Um91dGVVcmwocm91dGUpKSA+IC0xIClcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcmV0dXJuIEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnNbdGhpcy5nZXRSb3V0ZVVybChyb3V0ZSldO1xyXG4gICAgfVxyXG4gICAgLyoqIOi/m+WFpei3r+eUseinpuWPke+8jOWIpOaWreaYr+WQpuWQjOS4gOi3r+eUsSAqL1xyXG4gICAgc2hvdWxkUmV1c2VSb3V0ZShmdXR1cmU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnI6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZnV0dXJlLnJvdXRlQ29uZmlnID09PSBjdXJyLnJvdXRlQ29uZmlnIDtcclxuICAgICAgICAvLyByZXR1cm4gZnV0dXJlLnJvdXRlQ29uZmlnID09PSBjdXJyLnJvdXRlQ29uZmlnICYmXHJcbiAgICAgICAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZ1dHVyZS5wYXJhbXMpID09PSBKU09OLnN0cmluZ2lmeShjdXJyLnBhcmFtcyk7XHJcbiAgICB9XHJcbiAgICAvKiog5Yig6Zmk57yT5a2Y6Lev55Sx5b+r54Wn55qE5pa55rOVICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRlbGV0ZVJvdXRlU25hcHNob3QocGF0aDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSBwYXRoLnJlcGxhY2UoL1xcLy9nLCAnXycpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygn5Yig6Zmk57yT5a2Y6Lev55Sx77yaJyArIG5hbWUpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coQXRyUmV1c2VTdHJhdGVneS5oYW5kbGVyc1tuYW1lXSk7XHJcbiAgICAgIGxldCBoYW5kbGU6YW55ID0gQXRyUmV1c2VTdHJhdGVneS5oYW5kbGVyc1tuYW1lXTtcclxuXHJcbiAgICAgIGxldCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+ID0gaGFuZGxlID8gaGFuZGxlWydjb21wb25lbnRSZWYnXSA6IG51bGw7XHJcbiAgICAgIGlmIChjb21wb25lbnRSZWYpIHtcclxuICAgICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzW25hbWVdIHx8IEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnNbbmFtZV0gPT0gbnVsbCkge1xyXG4gICAgICAgIGRlbGV0ZSBBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzW25hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIOS9v+eUqHJvdXRl55qEcGF0aOS9nOS4uuW/q+eFp+eahGtleSAqL1xyXG4gICAgZ2V0Um91dGVVcmwocm91dGU6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHBhdGggPSByb3V0ZVsnX3JvdXRlclN0YXRlJ10udXJsLnJlcGxhY2UoL1xcLy9nLCAnXycpO1xyXG4gICAgICAgIC8vIGNvbnN0IHBhdGggPSByb3V0ZVsnX3JvdXRlclN0YXRlJ10udXJsLnJlcGxhY2UoL1xcLy9nLCAnXycpKyAnXycgKyAocm91dGUucm91dGVDb25maWcubG9hZENoaWxkcmVuIHx8IHJvdXRlLnJvdXRlQ29uZmlnLmNvbXBvbmVudC50b1N0cmluZygpLnNwbGl0KCcoJylbMF0uc3BsaXQoJyAnKVsxXSApO1xyXG4gICAgICAgIHJldHVybiBwYXRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHN0YXRpYyBkZWxldGVBbGwoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCLliKDpmaTmiYDmnInnvJPlrZjot6/nlLHvvJpcIituYW1lKVxyXG5cclxuICAgICAgZm9yIChsZXQga2V5IGluIEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnMgKSB7XHJcbiAgICAgICAgbGV0IHJlZiA9IEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnNba2V5XVsnY29tcG9uZW50UmVmJ107XHJcbiAgICAgICAgaWYocmVmKXtcclxuICAgICAgICAgIHJlZi5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnMgPSB7fTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { atr_static_datas, commonDatas } from '../../base/atr-common';
|
|
4
|
+
import { SessionStorageUtil } from '../../utils/sessionstorage.util';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../http.service";
|
|
7
|
+
export class DictService {
|
|
8
|
+
static { this.await_Data = {}; }
|
|
9
|
+
constructor(httpService) {
|
|
10
|
+
this.httpService = httpService;
|
|
11
|
+
}
|
|
12
|
+
getCodeName(code, value) {
|
|
13
|
+
let dict = SessionStorageUtil.getDictGroupByCode(code);
|
|
14
|
+
if (dict) {
|
|
15
|
+
let cur = dict.dicts.filter((v) => v.id == value)[0];
|
|
16
|
+
return cur ? cur.typeName : value;
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
async getCodeNameSync(keys, code, selectUrl, splitKey) {
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
this.getCodeNamePromise(code, selectUrl).then(() => {
|
|
23
|
+
if (splitKey && keys) {
|
|
24
|
+
let result = [];
|
|
25
|
+
for (let item of keys.split(splitKey)) {
|
|
26
|
+
result.push(this.getCodeName(code, item));
|
|
27
|
+
}
|
|
28
|
+
resolve(result.join(splitKey));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
let result = this.getCodeName(code, keys);
|
|
32
|
+
resolve(result);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
getByCode(code, selectUrl) {
|
|
38
|
+
this.getDictByCodeSync(code, selectUrl);
|
|
39
|
+
return SessionStorageUtil.getDictGroupByCode(code);
|
|
40
|
+
}
|
|
41
|
+
async getDictByCodeSync(code, selectUrl) {
|
|
42
|
+
await this.getDictBycode(code, selectUrl).subscribe();
|
|
43
|
+
}
|
|
44
|
+
getDicBycodeBase(code, selectUrl) {
|
|
45
|
+
return new Observable(observe => {
|
|
46
|
+
let options = {
|
|
47
|
+
isCommonHttpHeader: true
|
|
48
|
+
};
|
|
49
|
+
this.httpService.post(selectUrl || atr_static_datas.dic_url, { groupCode: code }, options).subscribe(result => {
|
|
50
|
+
let data = null;
|
|
51
|
+
if (result.status == 200) {
|
|
52
|
+
data = {
|
|
53
|
+
groupCode: code,
|
|
54
|
+
dicts: result.data
|
|
55
|
+
};
|
|
56
|
+
SessionStorageUtil.putDictGroup(data);
|
|
57
|
+
}
|
|
58
|
+
observe.next(data);
|
|
59
|
+
observe.unsubscribe();
|
|
60
|
+
}, error => {
|
|
61
|
+
observe.error(error);
|
|
62
|
+
observe.unsubscribe();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async getCodeNamePromise(code, selectUrl) {
|
|
67
|
+
return new Promise(async (resolve, reject) => {
|
|
68
|
+
let dict = SessionStorageUtil.getDictGroupByCode(code);
|
|
69
|
+
if (dict) {
|
|
70
|
+
resolve(dict);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
if (commonDatas.await_Data[code]) {
|
|
74
|
+
setTimeout(() => {
|
|
75
|
+
this.getDictBycode(code, selectUrl).subscribe(res => {
|
|
76
|
+
resolve(res);
|
|
77
|
+
}, error => {
|
|
78
|
+
resolve(error);
|
|
79
|
+
});
|
|
80
|
+
}, 500);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
commonDatas.await_Data[code] = true;
|
|
84
|
+
this.getDicBycodeBase(code, selectUrl).subscribe(result => {
|
|
85
|
+
resolve(result);
|
|
86
|
+
commonDatas.await_Data[code] = false;
|
|
87
|
+
}, error => {
|
|
88
|
+
resolve(error);
|
|
89
|
+
commonDatas.await_Data[code] = false;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
getDictBycode(code, selectUrl) {
|
|
95
|
+
// //console.log(code);
|
|
96
|
+
return new Observable(observe => {
|
|
97
|
+
let dict = SessionStorageUtil.getDictGroupByCode(code);
|
|
98
|
+
if (dict) {
|
|
99
|
+
observe.next(dict);
|
|
100
|
+
observe.unsubscribe();
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
if (commonDatas.await_Data[code]) {
|
|
104
|
+
setTimeout(() => {
|
|
105
|
+
this.getDictBycode(code, selectUrl).subscribe(res => {
|
|
106
|
+
observe.next(res);
|
|
107
|
+
observe.unsubscribe();
|
|
108
|
+
}, error => {
|
|
109
|
+
observe.next(error);
|
|
110
|
+
observe.unsubscribe();
|
|
111
|
+
});
|
|
112
|
+
}, 500);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
commonDatas.await_Data[code] = true;
|
|
116
|
+
this.getDicBycodeBase(code, selectUrl).subscribe(result => {
|
|
117
|
+
observe.next(result);
|
|
118
|
+
observe.unsubscribe();
|
|
119
|
+
commonDatas.await_Data[code] = false;
|
|
120
|
+
}, error => {
|
|
121
|
+
observe.next(error);
|
|
122
|
+
observe.unsubscribe();
|
|
123
|
+
commonDatas.await_Data[code] = false;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
modifyByCode(code) {
|
|
129
|
+
this.httpService.post(atr_static_datas.dic_url, { groupCode: code }, { isCommonHttpHeader: true }).subscribe(result => {
|
|
130
|
+
let data = null;
|
|
131
|
+
if (result.status == 200) {
|
|
132
|
+
data = {
|
|
133
|
+
groupCode: code,
|
|
134
|
+
dicts: result.data
|
|
135
|
+
};
|
|
136
|
+
SessionStorageUtil.putDictGroup(data);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
reset() {
|
|
141
|
+
SessionStorageUtil.resetDict();
|
|
142
|
+
}
|
|
143
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DictService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
144
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DictService, providedIn: 'root' }); }
|
|
145
|
+
}
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DictService, decorators: [{
|
|
147
|
+
type: Injectable,
|
|
148
|
+
args: [{
|
|
149
|
+
providedIn: 'root'
|
|
150
|
+
}]
|
|
151
|
+
}], ctorParameters: () => [{ type: i1.HttpService }] });
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy9kaWN0L2RpY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBWSxNQUFNLHVCQUF1QixDQUFDO0FBQy9FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7QUFLbkUsTUFBTSxPQUFPLFdBQVc7YUFDZixlQUFVLEdBQUcsRUFBRSxBQUFMLENBQU07SUFFdkIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDNUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNyQyxJQUFJLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3pELE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDbkM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQVMsRUFBRSxJQUFZLEVBQUUsU0FBZSxFQUFFLFFBQWlCO1FBQy9FLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVB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LE9BQU8sRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsRUFBRSxFQUFDLGtCQUFrQixFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsU0FBUyxDQUN0RyxNQUFNLENBQUMsRUFBRTtZQUNQLElBQUksSUFBSSxHQUFvQixJQUFJLENBQUM7WUFDakMsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRTtnQkFDeEIsSUFBSSxHQUFHO29CQUNMLFNBQVMsRUFBRSxJQUFJO29CQUNmLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSTtpQkFDbkIsQ0FBQztnQkFDRixrQkFBa0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdkM7UUFDSCxDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0FySlUsV0FBVztrSEFBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0h0dHBTZXJ2aWNlfSBmcm9tICcuLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXMsIGNvbW1vbkRhdGFzLCBEaWN0R3JvdXB9IGZyb20gJy4uLy4uL2Jhc2UvYXRyLWNvbW1vbic7XHJcbmltcG9ydCB7U2Vzc2lvblN0b3JhZ2VVdGlsfSBmcm9tICcuLi8uLi91dGlscy9zZXNzaW9uc3RvcmFnZS51dGlsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpY3RTZXJ2aWNlIHtcclxuICBzdGF0aWMgYXdhaXRfRGF0YSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29kZU5hbWUoY29kZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgZGljdCA9IFNlc3Npb25TdG9yYWdlVXRpbC5nZXREaWN0R3JvdXBCeUNvZGUoY29kZSk7XHJcbiAgICBpZiAoZGljdCkge1xyXG4gICAgICBsZXQgY3VyID0gZGljdC5kaWN0cy5maWx0ZXIoKHY6IGFueSkgPT4gdi5pZCA9PSB2YWx1ZSlbMF1cclxuICAgICAgcmV0dXJuIGN1ciA/IGN1ci50eXBlTmFtZSA6IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0Q29kZU5hbWVTeW5jKGtleXM6IGFueSwgY29kZTogc3RyaW5nLCBzZWxlY3RVcmw/OiBhbnksIHNwbGl0S2V5Pzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmdldENvZGVOYW1lUHJvbWlzZShjb2RlLCBzZWxlY3RVcmwpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIGlmIChzcGxpdEtleSAmJiBrZXlzKSB7XHJcbiAgICAgICAgICBsZXQgcmVzdWx0ID0gW11cclxuICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2Yga2V5cy5zcGxpdChzcGxpdEtleSkpIHtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5nZXRDb2RlTmFtZShjb2RlLCBpdGVtKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdC5qb2luKHNwbGl0S2V5KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLmdldENvZGVOYW1lKGNvZGUsIGtleXMpO1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRCeUNvZGUoY29kZTogc3RyaW5nLCBzZWxlY3RVcmw/OiBhbnkpOiBEaWN0R3JvdXAge1xyXG4gICAgdGhpcy5nZXREaWN0QnlDb2RlU3luYyhjb2RlLCBzZWxlY3RVcmwpO1xyXG4gICAgcmV0dXJuIFNlc3Npb25TdG9yYWdlVXRpbC5nZXREaWN0R3JvdXBCeUNvZGUoY29kZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldERpY3RCeUNvZGVTeW5jKGNvZGU6IHN0cmluZywgc2VsZWN0VXJsPzogYW55KSB7XHJcbiAgICBhd2FpdCB0aGlzLmdldERpY3RCeWNvZGUoY29kZSwgc2VsZWN0VXJsKS5zdWJzY3JpYmUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0RGljQnljb2RlQmFzZShjb2RlOiBhbnksIHNlbGVjdFVybD86IGFueSkge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICAgIGlzQ29tbW9uSHR0cEhlYWRlcjogdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmh0dHBTZXJ2aWNlLnBvc3Qoc2VsZWN0VXJsIHx8IGF0cl9zdGF0aWNfZGF0YXMuZGljX3VybCwge2dyb3VwQ29kZTogY29kZX0sIG9wdGlvbnMpLnN1YnNjcmliZShcclxuICAgICAgICByZXN1bHQgPT4ge1xyXG4gICAgICAgICAgbGV0IGRhdGE6IERpY3RHcm91cCB8IGFueSA9IG51bGw7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgZGF0YSA9IHtcclxuICAgICAgICAgICAgICBncm91cENvZGU6IGNvZGUsXHJcbiAgICAgICAgICAgICAgZGljdHM6IHJlc3VsdC5kYXRhXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIFNlc3Npb25TdG9yYWdlVXRpbC5wdXREaWN0R3JvdXAoZGF0YSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQoZGF0YSk7XHJcbiAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yID0+IHtcclxuICAgICAgICAgIG9ic2VydmUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0Q29kZU5hbWVQcm9taXNlKGNvZGU6IHN0cmluZywgc2VsZWN0VXJsPzogYW55KSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBsZXQgZGljdCA9IFNlc3Npb25TdG9yYWdlVXRpbC5nZXREaWN0R3JvdXBCeUNvZGUoY29kZSk7XHJcbiAgICAgIGlmIChkaWN0KSB7XHJcbiAgICAgICAgcmVzb2x2ZShkaWN0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY29tbW9uRGF0YXMuYXdhaXRfRGF0YVtjb2RlXSkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0RGljdEJ5Y29kZShjb2RlLCBzZWxlY3RVcmwpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgIHJlc29sdmUoZXJyb3IpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSwgNTAwKVxyXG4gICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbW1vbkRhdGFzLmF3YWl0X0RhdGFbY29kZV0gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZ2V0RGljQnljb2RlQmFzZShjb2RlLCBzZWxlY3RVcmwpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xyXG4gICAgICAgICAgY29tbW9uRGF0YXMuYXdhaXRfRGF0YVtjb2RlXSA9IGZhbHNlO1xyXG4gICAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICAgIHJlc29sdmUoZXJyb3IpO1xyXG4gICAgICAgICAgY29tbW9uRGF0YXMuYXdhaXRfRGF0YVtjb2RlXSA9IGZhbHNlO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0RGljdEJ5Y29kZShjb2RlOiBzdHJpbmcsIHNlbGVjdFVybD86IGFueSk6IE9ic2VydmFibGU8RGljdEdyb3VwPiB7XHJcbiAgICAvLyAvL2NvbnNvbGUubG9nKGNvZGUpO1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBsZXQgZGljdCA9IFNlc3Npb25TdG9yYWdlVXRpbC5nZXREaWN0R3JvdXBCeUNvZGUoY29kZSk7XHJcbiAgICAgIGlmIChkaWN0KSB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KGRpY3QpO1xyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChjb21tb25EYXRhcy5hd2FpdF9EYXRhW2NvZGVdKSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5nZXREaWN0Qnljb2RlKGNvZGUsIHNlbGVjdFVybCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHJlcyk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICBvYnNlcnZlLm5leHQoZXJyb3IpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSwgNTAwKVxyXG4gICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbW1vbkRhdGFzLmF3YWl0X0RhdGFbY29kZV0gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZ2V0RGljQnljb2RlQmFzZShjb2RlLCBzZWxlY3RVcmwpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgICAgIGNvbW1vbkRhdGFzLmF3YWl0X0RhdGFbY29kZV0gPSBmYWxzZTtcclxuICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQoZXJyb3IpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgY29tbW9uRGF0YXMuYXdhaXRfRGF0YVtjb2RlXSA9IGZhbHNlO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbW9kaWZ5QnlDb2RlKGNvZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5odHRwU2VydmljZS5wb3N0KGF0cl9zdGF0aWNfZGF0YXMuZGljX3VybCwge2dyb3VwQ29kZTogY29kZX0sIHtpc0NvbW1vbkh0dHBIZWFkZXI6IHRydWV9KS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgbGV0IGRhdGE6IERpY3RHcm91cCB8IGFueSA9IG51bGw7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT0gMjAwKSB7XHJcbiAgICAgICAgICBkYXRhID0ge1xyXG4gICAgICAgICAgICBncm91cENvZGU6IGNvZGUsXHJcbiAgICAgICAgICAgIGRpY3RzOiByZXN1bHQuZGF0YVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIFNlc3Npb25TdG9yYWdlVXRpbC5wdXREaWN0R3JvdXAoZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICBTZXNzaW9uU3RvcmFnZVV0aWwucmVzZXREaWN0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|