atr-components 2.2.4 → 3.0.2

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.
Files changed (113) hide show
  1. package/fesm2022/atr-components.mjs +218 -583
  2. package/fesm2022/atr-components.mjs.map +1 -1
  3. package/index.d.ts +1380 -5
  4. package/package.json +2 -4
  5. package/atr-components.module.d.ts +0 -9
  6. package/atr-public-api.d.ts +0 -53
  7. package/core/animations/animations.d.ts +0 -1
  8. package/core/animations/fly-in.d.ts +0 -1
  9. package/core/animations/scroll-screen.d.ts +0 -1
  10. package/core/auth/auth.guard.d.ts +0 -11
  11. package/core/base/atr-common.d.ts +0 -362
  12. package/core/directive/Infinite-scroll.directive.d.ts +0 -12
  13. package/core/directive/debounce-click.directive.d.ts +0 -14
  14. package/core/directive/error-img.directive.d.ts +0 -10
  15. package/core/directive/hq-spin.directive.d.ts +0 -13
  16. package/core/directive/role.directive.d.ts +0 -16
  17. package/core/interceptor/base.interceptor.d.ts +0 -17
  18. package/core/ngz-module/cus-zorro-antd.module.d.ts +0 -75
  19. package/core/pipe/china-num.pipe.d.ts +0 -7
  20. package/core/pipe/count.pipe.d.ts +0 -7
  21. package/core/pipe/day.pipe.d.ts +0 -8
  22. package/core/pipe/defaultVal.pipe.d.ts +0 -7
  23. package/core/pipe/dicts.pipe.d.ts +0 -10
  24. package/core/pipe/image-pipe.pipe.d.ts +0 -8
  25. package/core/pipe/is-empty.pipe.d.ts +0 -7
  26. package/core/pipe/is-not-empty.pipe.d.ts +0 -7
  27. package/core/pipe/oss.pipe.d.ts +0 -7
  28. package/core/pipe/ossStatic.pipe.d.ts +0 -7
  29. package/core/pipe/pipe-module.module.d.ts +0 -21
  30. package/core/pipe/remove-html.pipe.d.ts +0 -10
  31. package/core/pipe/safe-compute.pipe.d.ts +0 -7
  32. package/core/pipe/safe-html.pipe.d.ts +0 -10
  33. package/core/pipe/safe-url.pipe.d.ts +0 -10
  34. package/core/routereuse/atr-reuse-strategy.d.ts +0 -19
  35. package/core/services/dict/dict.service.d.ts +0 -20
  36. package/core/services/http.service.d.ts +0 -31
  37. package/core/services/menu.service.d.ts +0 -30
  38. package/core/services/upload-oss.service.d.ts +0 -14
  39. package/core/utils/ToolsUtil.d.ts +0 -180
  40. package/core/utils/localstorage.util.d.ts +0 -15
  41. package/core/utils/sessionstorage.util.d.ts +0 -15
  42. package/esm2022/atr-components.mjs +0 -5
  43. package/esm2022/atr-components.module.mjs +0 -36
  44. package/esm2022/atr-public-api.mjs +0 -55
  45. package/esm2022/core/animations/animations.mjs +0 -10
  46. package/esm2022/core/animations/fly-in.mjs +0 -19
  47. package/esm2022/core/animations/scroll-screen.mjs +0 -23
  48. package/esm2022/core/auth/auth.guard.mjs +0 -37
  49. package/esm2022/core/base/atr-common.mjs +0 -48
  50. package/esm2022/core/directive/Infinite-scroll.directive.mjs +0 -36
  51. package/esm2022/core/directive/debounce-click.directive.mjs +0 -41
  52. package/esm2022/core/directive/error-img.directive.mjs +0 -31
  53. package/esm2022/core/directive/hq-spin.directive.mjs +0 -48
  54. package/esm2022/core/directive/role.directive.mjs +0 -69
  55. package/esm2022/core/interceptor/base.interceptor.mjs +0 -165
  56. package/esm2022/core/ngz-module/cus-zorro-antd.module.mjs +0 -292
  57. package/esm2022/core/pipe/china-num.pipe.mjs +0 -36
  58. package/esm2022/core/pipe/count.pipe.mjs +0 -34
  59. package/esm2022/core/pipe/day.pipe.mjs +0 -24
  60. package/esm2022/core/pipe/defaultVal.pipe.mjs +0 -23
  61. package/esm2022/core/pipe/dicts.pipe.mjs +0 -28
  62. package/esm2022/core/pipe/image-pipe.pipe.mjs +0 -17
  63. package/esm2022/core/pipe/is-empty.pipe.mjs +0 -20
  64. package/esm2022/core/pipe/is-not-empty.pipe.mjs +0 -17
  65. package/esm2022/core/pipe/oss.pipe.mjs +0 -17
  66. package/esm2022/core/pipe/ossStatic.pipe.mjs +0 -17
  67. package/esm2022/core/pipe/pipe-module.module.mjs +0 -78
  68. package/esm2022/core/pipe/remove-html.pipe.mjs +0 -21
  69. package/esm2022/core/pipe/safe-compute.pipe.mjs +0 -23
  70. package/esm2022/core/pipe/safe-html.pipe.mjs +0 -20
  71. package/esm2022/core/pipe/safe-url.pipe.mjs +0 -20
  72. package/esm2022/core/routereuse/atr-reuse-strategy.mjs +0 -79
  73. package/esm2022/core/services/dict/dict.service.mjs +0 -152
  74. package/esm2022/core/services/http.service.mjs +0 -316
  75. package/esm2022/core/services/menu.service.mjs +0 -130
  76. package/esm2022/core/services/upload-oss.service.mjs +0 -74
  77. package/esm2022/core/utils/ToolsUtil.mjs +0 -622
  78. package/esm2022/core/utils/localstorage.util.mjs +0 -94
  79. package/esm2022/core/utils/sessionstorage.util.mjs +0 -73
  80. package/esm2022/lib/shared/atr-shared.module.mjs +0 -248
  81. package/esm2022/lib/shared/echarts/echarts.component.mjs +0 -77
  82. package/esm2022/lib/shared/form/form.component.mjs +0 -624
  83. package/esm2022/lib/shared/img-canvas/img-canvas.component.mjs +0 -132
  84. package/esm2022/lib/shared/local-upload/local-upload.component.mjs +0 -68
  85. package/esm2022/lib/shared/quill-editor/quill-editor.component.mjs +0 -254
  86. package/esm2022/lib/shared/select-icons/select-icons.component.mjs +0 -90
  87. package/esm2022/lib/shared/select-tree/select-tree.component.mjs +0 -55
  88. package/esm2022/lib/shared/service/busi.service.mjs +0 -69
  89. package/esm2022/lib/shared/share.service.mjs +0 -107
  90. package/esm2022/lib/shared/table/table-form-item/table-form-item.component.mjs +0 -96
  91. package/esm2022/lib/shared/table/table-td/table-td.component.mjs +0 -165
  92. package/esm2022/lib/shared/table/table.component.mjs +0 -766
  93. package/esm2022/lib/shared/upload/upload.component.mjs +0 -273
  94. package/esm2022/lib/shared/validators/atr-validtors.mjs +0 -9
  95. package/esm2022/lib/shared/video/video.component.mjs +0 -16
  96. package/esm2022/lib/shared/view-form/view-form.component.mjs +0 -186
  97. package/lib/shared/atr-shared.module.d.ts +0 -39
  98. package/lib/shared/echarts/echarts.component.d.ts +0 -34
  99. package/lib/shared/form/form.component.d.ts +0 -49
  100. package/lib/shared/img-canvas/img-canvas.component.d.ts +0 -28
  101. package/lib/shared/local-upload/local-upload.component.d.ts +0 -22
  102. package/lib/shared/quill-editor/quill-editor.component.d.ts +0 -45
  103. package/lib/shared/select-icons/select-icons.component.d.ts +0 -24
  104. package/lib/shared/select-tree/select-tree.component.d.ts +0 -23
  105. package/lib/shared/service/busi.service.d.ts +0 -20
  106. package/lib/shared/share.service.d.ts +0 -14
  107. package/lib/shared/table/table-form-item/table-form-item.component.d.ts +0 -25
  108. package/lib/shared/table/table-td/table-td.component.d.ts +0 -26
  109. package/lib/shared/table/table.component.d.ts +0 -94
  110. package/lib/shared/upload/upload.component.d.ts +0 -53
  111. package/lib/shared/validators/atr-validtors.d.ts +0 -2
  112. package/lib/shared/video/video.component.d.ts +0 -7
  113. package/lib/shared/view-form/view-form.component.d.ts +0 -27
@@ -1,78 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { IsEmptyPipe } from "./is-empty.pipe";
4
- import { DictsPipe } from "./dicts.pipe";
5
- import { DefaultValPipe } from "./defaultVal.pipe";
6
- import { DayPipe } from "./day.pipe";
7
- import { SafeComputePipe } from "./safe-compute.pipe";
8
- import { IsNotEmptyPipe } from "./is-not-empty.pipe";
9
- import { OssImgPipe } from "./image-pipe.pipe";
10
- import { SafeHtmlPipe } from "./safe-html.pipe";
11
- import { ChinaNumPipe } from "./china-num.pipe";
12
- import { CountPipe } from "./count.pipe";
13
- import { OssPipe } from "./oss.pipe";
14
- import { OssStaticPipe } from "./ossStatic.pipe";
15
- import { RemoveHtmlPipe } from "./remove-html.pipe";
16
- import { SafeUrlPipe } from "./safe-url.pipe";
17
- import * as i0 from "@angular/core";
18
- // const PIPES = [IsNotEmptyPipe, DefaultValPipe, DictsPipe, DayPipe, IsEmptyPipe, SafeComputePipe,OssImgPipe]
19
- const PIPES = [
20
- IsNotEmptyPipe,
21
- DefaultValPipe,
22
- DictsPipe,
23
- DayPipe,
24
- IsEmptyPipe,
25
- SafeComputePipe,
26
- OssImgPipe,
27
- SafeHtmlPipe,
28
- ChinaNumPipe,
29
- CountPipe,
30
- OssPipe,
31
- OssStaticPipe,
32
- RemoveHtmlPipe,
33
- SafeUrlPipe // 暂时注释
34
- ];
35
- export class PipeModuleModule {
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PipeModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
37
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PipeModuleModule, declarations: [IsNotEmptyPipe,
38
- DefaultValPipe,
39
- DictsPipe,
40
- DayPipe,
41
- IsEmptyPipe,
42
- SafeComputePipe,
43
- OssImgPipe,
44
- SafeHtmlPipe,
45
- ChinaNumPipe,
46
- CountPipe,
47
- OssPipe,
48
- OssStaticPipe,
49
- RemoveHtmlPipe,
50
- SafeUrlPipe // 暂时注释
51
- ], imports: [CommonModule], exports: [IsNotEmptyPipe,
52
- DefaultValPipe,
53
- DictsPipe,
54
- DayPipe,
55
- IsEmptyPipe,
56
- SafeComputePipe,
57
- OssImgPipe,
58
- SafeHtmlPipe,
59
- ChinaNumPipe,
60
- CountPipe,
61
- OssPipe,
62
- OssStaticPipe,
63
- RemoveHtmlPipe,
64
- SafeUrlPipe // 暂时注释
65
- ] }); }
66
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PipeModuleModule, imports: [CommonModule] }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PipeModuleModule, decorators: [{
69
- type: NgModule,
70
- args: [{
71
- imports: [
72
- CommonModule
73
- ],
74
- declarations: [...PIPES],
75
- exports: PIPES,
76
- }]
77
- }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1tb2R1bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9waXBlL3BpcGUtbW9kdWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFNUMsOEdBQThHO0FBQzlHLE1BQU0sS0FBSyxHQUFHO0lBQ1osY0FBYztJQUNkLGNBQWM7SUFDZCxTQUFTO0lBQ1QsT0FBTztJQUNQLFdBQVc7SUFDWCxlQUFlO0lBQ2YsVUFBVTtJQUNWLFlBQVk7SUFDWixZQUFZO0lBQ1osU0FBUztJQUNULE9BQU87SUFDUCxhQUFhO0lBQ2IsY0FBYztJQUNkLFdBQVcsQ0FBRSxPQUFPO0NBQ3JCLENBQUM7QUFXRixNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkF6QjNCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsU0FBUztZQUNULE9BQU87WUFDUCxXQUFXO1lBQ1gsZUFBZTtZQUNmLFVBQVU7WUFDVixZQUFZO1lBQ1osWUFBWTtZQUNaLFNBQVM7WUFDVCxPQUFPO1lBQ1AsYUFBYTtZQUNiLGNBQWM7WUFDZCxXQUFXLENBQUUsT0FBTztxQkFNbEIsWUFBWSxhQW5CZCxjQUFjO1lBQ2QsY0FBYztZQUNkLFNBQVM7WUFDVCxPQUFPO1lBQ1AsV0FBVztZQUNYLGVBQWU7WUFDZixVQUFVO1lBQ1YsWUFBWTtZQUNaLFlBQVk7WUFDWixTQUFTO1lBQ1QsT0FBTztZQUNQLGFBQWE7WUFDYixjQUFjO1lBQ2QsV0FBVyxDQUFFLE9BQU87O2dIQVlULGdCQUFnQixZQU56QixZQUFZOzs0RkFNSCxnQkFBZ0I7a0JBUjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsWUFBWSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxLQUFLO2lCQUVmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0lzRW1wdHlQaXBlfSBmcm9tIFwiLi9pcy1lbXB0eS5waXBlXCI7XHJcbmltcG9ydCB7RGljdHNQaXBlfSBmcm9tIFwiLi9kaWN0cy5waXBlXCI7XHJcbmltcG9ydCB7RGVmYXVsdFZhbFBpcGV9IGZyb20gXCIuL2RlZmF1bHRWYWwucGlwZVwiO1xyXG5pbXBvcnQge0RheVBpcGV9IGZyb20gXCIuL2RheS5waXBlXCI7XHJcbmltcG9ydCB7U2FmZUNvbXB1dGVQaXBlfSBmcm9tIFwiLi9zYWZlLWNvbXB1dGUucGlwZVwiO1xyXG5pbXBvcnQge0lzTm90RW1wdHlQaXBlfSBmcm9tIFwiLi9pcy1ub3QtZW1wdHkucGlwZVwiO1xyXG5pbXBvcnQge09zc0ltZ1BpcGV9IGZyb20gXCIuL2ltYWdlLXBpcGUucGlwZVwiO1xyXG5pbXBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSBcIi4vc2FmZS1odG1sLnBpcGVcIjtcclxuaW1wb3J0IHtDaGluYU51bVBpcGV9IGZyb20gXCIuL2NoaW5hLW51bS5waXBlXCI7XHJcbmltcG9ydCB7Q291bnRQaXBlfSBmcm9tIFwiLi9jb3VudC5waXBlXCI7XHJcbmltcG9ydCB7T3NzUGlwZX0gZnJvbSBcIi4vb3NzLnBpcGVcIjtcclxuaW1wb3J0IHtPc3NTdGF0aWNQaXBlfSBmcm9tIFwiLi9vc3NTdGF0aWMucGlwZVwiO1xyXG5pbXBvcnQge1JlbW92ZUh0bWxQaXBlfSBmcm9tIFwiLi9yZW1vdmUtaHRtbC5waXBlXCI7XHJcbmltcG9ydCB7U2FmZVVybFBpcGV9IGZyb20gXCIuL3NhZmUtdXJsLnBpcGVcIjtcclxuXHJcbi8vIGNvbnN0IFBJUEVTID0gW0lzTm90RW1wdHlQaXBlLCBEZWZhdWx0VmFsUGlwZSwgRGljdHNQaXBlLCBEYXlQaXBlLCBJc0VtcHR5UGlwZSwgU2FmZUNvbXB1dGVQaXBlLE9zc0ltZ1BpcGVdXHJcbmNvbnN0IFBJUEVTID0gW1xyXG4gIElzTm90RW1wdHlQaXBlLFxyXG4gIERlZmF1bHRWYWxQaXBlLFxyXG4gIERpY3RzUGlwZSwgIC8vIOaaguaXtuazqOmHilxyXG4gIERheVBpcGUsXHJcbiAgSXNFbXB0eVBpcGUsXHJcbiAgU2FmZUNvbXB1dGVQaXBlLFxyXG4gIE9zc0ltZ1BpcGUsXHJcbiAgU2FmZUh0bWxQaXBlLCAgLy8g5pqC5pe25rOo6YeKXHJcbiAgQ2hpbmFOdW1QaXBlLFxyXG4gIENvdW50UGlwZSxcclxuICBPc3NQaXBlLFxyXG4gIE9zc1N0YXRpY1BpcGUsXHJcbiAgUmVtb3ZlSHRtbFBpcGUsICAvLyDmmoLml7bms6jph4pcclxuICBTYWZlVXJsUGlwZSAgLy8g5pqC5pe25rOo6YeKXHJcbl07XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogWy4uLlBJUEVTXSxcclxuICBleHBvcnRzOiBQSVBFUyxcclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaXBlTW9kdWxlTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -1,21 +0,0 @@
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.3.12", ngImport: i0, type: RemoveHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: RemoveHtmlPipe, name: "removeHtml" }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWh0bWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvcGlwZS9yZW1vdmUtaHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSy9DLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBRyxJQUFXO1FBQ2xDLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQVBVLGNBQWM7NkdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFIMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFRvb2xzVXRpbCB9IGZyb20gJy4uL3V0aWxzL1Rvb2xzVXRpbCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3JlbW92ZUh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW1vdmVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBhbnkge1xyXG4gICAgcmV0dXJuIFRvb2xzVXRpbC5yZW1vdmVIdG1sKHZhbHVlKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,23 +0,0 @@
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.3.12", ngImport: i0, type: SafeComputePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
15
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SafeComputePipe, name: "safeCompute" }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SafeComputePipe, decorators: [{
18
- type: Pipe,
19
- args: [{
20
- name: 'safeCompute'
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1jb21wdXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL3BpcGUvc2FmZS1jb21wdXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUtuRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxVQUFvQjtRQUMzRCxJQUFJLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUM7WUFDYixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUVsRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUU7SUFDakQsQ0FBQzsrR0FYVSxlQUFlOzZHQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSDNCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEZWZhdWx0VmFsUGlwZSB9IGZyb20gJy4vZGVmYXVsdFZhbC5waXBlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2FmZUNvbXB1dGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlQ29tcHV0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKGZpcnN0OiBudW1iZXIsIHNlY29uZDogbnVtYmVyLCBpc1BhcnNlSW50PzogYm9vbGVhbiApOiBhbnkge1xyXG4gICAgbGV0IGlzRSA9IG5ldyBEZWZhdWx0VmFsUGlwZSgpO1xyXG4gICAgc2Vjb25kID0gaXNFLnRyYW5zZm9ybShzZWNvbmQsMCk7XHJcbiAgICBpZihzZWNvbmQgPT0gMCl7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgbGV0IHJlc3VsdCA9IGlzRS50cmFuc2Zvcm0oZmlyc3QsMCkgLyBzZWNvbmQgKyBcIlwiO1xyXG5cclxuICAgIHJldHVybiBpc1BhcnNlSW50ID8gcGFyc2VJbnQocmVzdWx0KSA6IHJlc3VsdCA7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,20 +0,0 @@
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.3.12", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL3BpcGUvc2FmZS1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU1wRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFxQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQzVDLENBQUM7SUFDRCxTQUFTLENBQUMsSUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0FMVSxZQUFZOzZHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2FmZUh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlSHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3RvciAocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xyXG4gIH1cclxuICB0cmFuc2Zvcm0oaHRtbDphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,20 +0,0 @@
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.3.12", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvcGlwZS9zYWZlLXVybC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFDaEQsU0FBUyxDQUFDLEtBQVUsRUFBRSxHQUFHLElBQVc7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7K0dBTFUsV0FBVzs2R0FBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUh2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NhZmVVcmwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7IH1cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVkLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,79 +0,0 @@
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, handle, AtrReuseStrategy.handlers);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXJldXNlLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9yb3V0ZXJldXNlL2F0ci1yZXVzZS1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sZ0JBQWdCO2FBRVgsYUFBUSxHQUFRLEVBQUUsQ0FBQzthQUVuQixpQkFBWSxHQUFhLENBQUMsSUFBSSxFQUFDLFVBQVUsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRXpFLFlBQVksQ0FBQyxLQUE2QjtRQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUc7WUFDN0csOEJBQThCO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1NBRWI7YUFBSTtZQUNKLDZCQUE2QjtZQUM3QixPQUFPLElBQUksQ0FBQztTQUNaO0lBRUosQ0FBQztJQUNELDBDQUEwQztJQUMxQyxLQUFLLENBQUMsS0FBNkIsRUFBRSxNQUEyQjtRQUM1RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUM1RCwwQ0FBMEM7SUFDOUMsQ0FBQztJQUNBLDZCQUE2QjtJQUM5QixZQUFZLENBQUMsS0FBNEI7UUFDckMsK0NBQStDO1FBQy9DLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELHdCQUF3QjtJQUN4QixRQUFRLENBQUMsS0FBNkI7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFBRyxPQUFPLElBQUksQ0FBQztRQUMvRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNyRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsNkRBQTZEO1FBQzdELElBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0Qsc0JBQXNCO0lBQ3RCLGdCQUFnQixDQUFDLE1BQThCLEVBQUUsSUFBNEI7UUFDekUsT0FBTyxNQUFNLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUU7UUFDaEQsb0RBQW9EO1FBQ2hELGlFQUFpRTtJQUN6RSxDQUFDO0lBQ0Qsa0JBQWtCO0lBQ1gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQVk7UUFDNUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsaUNBQWlDO1FBQ2pDLDBDQUEwQztRQUMxQyxnREFBZ0Q7UUFDaEQsSUFBSSxNQUFNLEdBQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpELElBQUksWUFBWSxHQUFzQixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdFLElBQUksWUFBWSxFQUFFO1lBQ2hCLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN4QjtRQUNELElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDOUUsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLFdBQVcsQ0FBQyxLQUFVO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzRCw2S0FBNks7UUFDN0ssT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxTQUFTO1FBQ25CLGdDQUFnQztRQUVsQyxLQUFLLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsRUFBRztZQUMxQyxJQUFJLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDekQsSUFBRyxHQUFHLEVBQUM7Z0JBQ0wsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2Y7U0FDRjtRQUNELGdCQUFnQixDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlUmV1c2VTdHJhdGVneSwgRGV0YWNoZWRSb3V0ZUhhbmRsZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEF0clJldXNlU3RyYXRlZ3kgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgaGFuZGxlcnM6IGFueSA9IHt9O1xyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgb3V0UmV1c2VQYXRoOiBzdHJpbmdbXSAgPVtcIl9wXCIsXCJfcF9sb2dpblwiLFwiX3NcIixcIl9kXCIsXCJfZF9pXCJdXHJcblxyXG4gICAgc2hvdWxkRGV0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcbiAgICAgICBjb25zdCBwYXRoID0gdGhpcy5nZXRSb3V0ZVVybChyb3V0ZSk7XHJcbiAgICAgICBpZighcm91dGUucm91dGVDb25maWcgfHwgcm91dGUucm91dGVDb25maWcubG9hZENoaWxkcmVuIHx8IEF0clJldXNlU3RyYXRlZ3kub3V0UmV1c2VQYXRoLmluZGV4T2YocGF0aCkgPiAtMSApIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS4jemcgOimgee8k+WtmO+8mlwiK3BhdGgpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgICB9ZWxzZXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIumcgOimgee8k+WtmO+8mlwiK3BhdGgpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8qKiDlvZPot6/nlLHnprvlvIDml7bkvJrop6blj5HjgILmjIlwYXRo5L2c5Li6a2V55a2Y5YKo6Lev55Sx5b+r54WnJue7hOS7tuW9k+WJjeWunuS+i+WvueixoSAqL1xyXG4gICAgc3RvcmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGhhbmRsZTogRGV0YWNoZWRSb3V0ZUhhbmRsZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLmdldFJvdXRlVXJsKHJvdXRlKVxyXG4gICAgICAgIEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnNbcGF0aF0gPSBoYW5kbGU7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLmt7vliqDot6/nlLHnvJPlrZjvvJpcIitwYXRoLGhhbmRsZSxBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzKVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnMpO1xyXG4gICAgfVxyXG4gICAgIC8qKiDoi6UgcGF0aCDlnKjnvJPlrZjkuK3mnInnmoTpg73orqTkuLrlhYHorrjov5jljp/ot6/nlLEgKi9cclxuICAgIHNob3VsZEF0dGFjaChyb3V0ZTpBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gY29uc29sZS5kZWJ1Zygnc2hvdWxkQXR0YWNoPT09PT09PicsIHJvdXRlKTtcclxuICAgICAgICByZXR1cm4gISFBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzW3RoaXMuZ2V0Um91dGVVcmwocm91dGUpXTtcclxuICAgIH1cclxuICAgIC8qKiDku47nvJPlrZjkuK3ojrflj5blv6vnhafvvIzoi6Xml6DliJnov5Tlm55udWwgKi9cclxuICAgIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogRGV0YWNoZWRSb3V0ZUhhbmRsZXxhbnkge1xyXG4gICAgICAgIGlmICghcm91dGUucm91dGVDb25maWcpIHJldHVybiBudWxsO1xyXG4gICAgICAgIGlmIChyb3V0ZS5yb3V0ZUNvbmZpZy5sb2FkQ2hpbGRyZW4gfHwgcm91dGUucm91dGVDb25maWcuY2hpbGRyZW4gKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBpZiAoIUF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnNbdGhpcy5nZXRSb3V0ZVVybChyb3V0ZSldKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBjb25zb2xlLmRlYnVnKCdyZXRyaWV2ZT09PT09PT4nLCB0aGlzLmdldFJvdXRlVXJsKHJvdXRlKSk7XHJcbiAgICAgICAgaWYoQXRyUmV1c2VTdHJhdGVneS5vdXRSZXVzZVBhdGguaW5kZXhPZih0aGlzLmdldFJvdXRlVXJsKHJvdXRlKSkgPiAtMSApXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIHJldHVybiBBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzW3RoaXMuZ2V0Um91dGVVcmwocm91dGUpXTtcclxuICAgIH1cclxuICAgIC8qKiDov5vlhaXot6/nlLHop6blj5HvvIzliKTmlq3mmK/lkKblkIzkuIDot6/nlLEgKi9cclxuICAgIHNob3VsZFJldXNlUm91dGUoZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGZ1dHVyZS5yb3V0ZUNvbmZpZyA9PT0gY3Vyci5yb3V0ZUNvbmZpZyA7XHJcbiAgICAgICAgLy8gcmV0dXJuIGZ1dHVyZS5yb3V0ZUNvbmZpZyA9PT0gY3Vyci5yb3V0ZUNvbmZpZyAmJlxyXG4gICAgICAgICAgICAvLyBKU09OLnN0cmluZ2lmeShmdXR1cmUucGFyYW1zKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3Vyci5wYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgLyoqIOWIoOmZpOe8k+WtmOi3r+eUseW/q+eFp+eahOaWueazlSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWxldGVSb3V0ZVNuYXBzaG90KHBhdGg6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICBjb25zdCBuYW1lID0gcGF0aC5yZXBsYWNlKC9cXC8vZywgJ18nKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ+WIoOmZpOe8k+WtmOi3r+eUse+8micgKyBuYW1lKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coQXRyUmV1c2VTdHJhdGVneS5oYW5kbGVycyk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnNbbmFtZV0pO1xyXG4gICAgICBsZXQgaGFuZGxlOmFueSA9IEF0clJldXNlU3RyYXRlZ3kuaGFuZGxlcnNbbmFtZV07XHJcblxyXG4gICAgICBsZXQgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiA9IGhhbmRsZSA/IGhhbmRsZVsnY29tcG9uZW50UmVmJ10gOiBudWxsO1xyXG4gICAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoQXRyUmV1c2VTdHJhdGVneS5oYW5kbGVyc1tuYW1lXSB8fCBBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzW25hbWVdID09IG51bGwpIHtcclxuICAgICAgICBkZWxldGUgQXRyUmV1c2VTdHJhdGVneS5oYW5kbGVyc1tuYW1lXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiDkvb/nlKhyb3V0ZeeahHBhdGjkvZzkuLrlv6vnhafnmoRrZXkgKi9cclxuICAgIGdldFJvdXRlVXJsKHJvdXRlOiBhbnkpIHtcclxuICAgICAgICBjb25zdCBwYXRoID0gcm91dGVbJ19yb3V0ZXJTdGF0ZSddLnVybC5yZXBsYWNlKC9cXC8vZywgJ18nKTtcclxuICAgICAgICAvLyBjb25zdCBwYXRoID0gcm91dGVbJ19yb3V0ZXJTdGF0ZSddLnVybC5yZXBsYWNlKC9cXC8vZywgJ18nKSsgJ18nICsgKHJvdXRlLnJvdXRlQ29uZmlnLmxvYWRDaGlsZHJlbiB8fCByb3V0ZS5yb3V0ZUNvbmZpZy5jb21wb25lbnQudG9TdHJpbmcoKS5zcGxpdCgnKCcpWzBdLnNwbGl0KCcgJylbMV0gKTtcclxuICAgICAgICByZXR1cm4gcGF0aDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzdGF0aWMgZGVsZXRlQWxsKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5Yig6Zmk5omA5pyJ57yT5a2Y6Lev55Sx77yaXCIrbmFtZSlcclxuXHJcbiAgICAgIGZvciAobGV0IGtleSBpbiBBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzICkge1xyXG4gICAgICAgIGxldCByZWYgPSBBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzW2tleV1bJ2NvbXBvbmVudFJlZiddO1xyXG4gICAgICAgIGlmKHJlZil7XHJcbiAgICAgICAgICByZWYuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBBdHJSZXVzZVN0cmF0ZWd5LmhhbmRsZXJzID0ge307XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,152 +0,0 @@
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.toString().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.3.12", ngImport: i0, type: DictService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
144
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DictService, providedIn: 'root' }); }
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy9kaWN0L2RpY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBWSxNQUFNLHVCQUF1QixDQUFDO0FBQy9FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7QUFLbkUsTUFBTSxPQUFPLFdBQVc7YUFDZixlQUFVLEdBQUcsRUFBRSxBQUFMLENBQU07SUFFdkIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDNUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNyQyxJQUFJLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3pELE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDbkM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsU0FBZSxFQUFFLFFBQWlCO1FBQ2xGLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVB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Q0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDdEcsTUFBTSxDQUFDLEVBQUU7WUFDUCxJQUFJLElBQUksR0FBb0IsSUFBSSxDQUFDO1lBQ2pDLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksR0FBRztvQkFDTCxTQUFTLEVBQUUsSUFBSTtvQkFDZixLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUk7aUJBQ25CLENBQUM7Z0JBQ0Ysa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7K0dBdEpVLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIdHRwU2VydmljZX0gZnJvbSAnLi4vaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHthdHJfc3RhdGljX2RhdGFzLCBjb21tb25EYXRhcywgRGljdEdyb3VwfSBmcm9tICcuLi8uLi9iYXNlL2F0ci1jb21tb24nO1xyXG5pbXBvcnQge1Nlc3Npb25TdG9yYWdlVXRpbH0gZnJvbSAnLi4vLi4vdXRpbHMvc2Vzc2lvbnN0b3JhZ2UudXRpbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWN0U2VydmljZSB7XHJcbiAgc3RhdGljIGF3YWl0X0RhdGEgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGdldENvZGVOYW1lKGNvZGU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xyXG4gICAgbGV0IGRpY3QgPSBTZXNzaW9uU3RvcmFnZVV0aWwuZ2V0RGljdEdyb3VwQnlDb2RlKGNvZGUpO1xyXG4gICAgaWYgKGRpY3QpIHtcclxuICAgICAgbGV0IGN1ciA9IGRpY3QuZGljdHMuZmlsdGVyKCh2OiBhbnkpID0+IHYuaWQgPT0gdmFsdWUpWzBdXHJcbiAgICAgIHJldHVybiBjdXIgPyBjdXIudHlwZU5hbWUgOiB2YWx1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldENvZGVOYW1lU3luYyhrZXlzOiBzdHJpbmcsIGNvZGU6IHN0cmluZywgc2VsZWN0VXJsPzogYW55LCBzcGxpdEtleT86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5nZXRDb2RlTmFtZVByb21pc2UoY29kZSwgc2VsZWN0VXJsKS50aGVuKCgpID0+IHtcclxuICAgICAgICBpZiAoc3BsaXRLZXkgJiYga2V5cykge1xyXG4gICAgICAgICAgbGV0IHJlc3VsdDphbnkgPSBbXVxyXG5cclxuICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2Yga2V5cy50b1N0cmluZygpLnNwbGl0KHNwbGl0S2V5KSkge1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmdldENvZGVOYW1lKGNvZGUsaXRlbSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQuam9pbihzcGxpdEtleSkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5nZXRDb2RlTmFtZShjb2RlLCBrZXlzKTtcclxuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0QnlDb2RlKGNvZGU6IHN0cmluZywgc2VsZWN0VXJsPzogYW55KTogRGljdEdyb3VwIHtcclxuICAgIHRoaXMuZ2V0RGljdEJ5Q29kZVN5bmMoY29kZSwgc2VsZWN0VXJsKTtcclxuICAgIHJldHVybiBTZXNzaW9uU3RvcmFnZVV0aWwuZ2V0RGljdEdyb3VwQnlDb2RlKGNvZGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXREaWN0QnlDb2RlU3luYyhjb2RlOiBzdHJpbmcsIHNlbGVjdFVybD86IGFueSkge1xyXG4gICAgYXdhaXQgdGhpcy5nZXREaWN0Qnljb2RlKGNvZGUsIHNlbGVjdFVybCkuc3Vic2NyaWJlKClcclxuICB9XHJcblxyXG4gIGdldERpY0J5Y29kZUJhc2UoY29kZTogYW55LCBzZWxlY3RVcmw/OiBhbnkpIHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICBpc0NvbW1vbkh0dHBIZWFkZXI6IHRydWVcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5odHRwU2VydmljZS5wb3N0KHNlbGVjdFVybCB8fCBhdHJfc3RhdGljX2RhdGFzLmRpY191cmwsIHtncm91cENvZGU6IGNvZGV9LCBvcHRpb25zKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgcmVzdWx0ID0+IHtcclxuICAgICAgICAgIGxldCBkYXRhOiBEaWN0R3JvdXAgfCBhbnkgPSBudWxsO1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBDb2RlOiBjb2RlLFxyXG4gICAgICAgICAgICAgIGRpY3RzOiByZXN1bHQuZGF0YVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBTZXNzaW9uU3RvcmFnZVV0aWwucHV0RGljdEdyb3VwKGRhdGEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KGRhdGEpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgICBvYnNlcnZlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldENvZGVOYW1lUHJvbWlzZShjb2RlOiBzdHJpbmcsIHNlbGVjdFVybD86IGFueSkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgbGV0IGRpY3QgPSBTZXNzaW9uU3RvcmFnZVV0aWwuZ2V0RGljdEdyb3VwQnlDb2RlKGNvZGUpO1xyXG4gICAgICBpZiAoZGljdCkge1xyXG4gICAgICAgIHJlc29sdmUoZGljdCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGNvbW1vbkRhdGFzLmF3YWl0X0RhdGFbY29kZV0pIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdldERpY3RCeWNvZGUoY29kZSwgc2VsZWN0VXJsKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7XHJcbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICByZXNvbHZlKGVycm9yKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0sIDUwMClcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgICAgICBjb21tb25EYXRhcy5hd2FpdF9EYXRhW2NvZGVdID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmdldERpY0J5Y29kZUJhc2UoY29kZSwgc2VsZWN0VXJsKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICAgIGNvbW1vbkRhdGFzLmF3YWl0X0RhdGFbY29kZV0gPSBmYWxzZTtcclxuICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKGVycm9yKTtcclxuICAgICAgICAgIGNvbW1vbkRhdGFzLmF3YWl0X0RhdGFbY29kZV0gPSBmYWxzZTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldERpY3RCeWNvZGUoY29kZTogc3RyaW5nLCBzZWxlY3RVcmw/OiBhbnkpOiBPYnNlcnZhYmxlPERpY3RHcm91cD4ge1xyXG4gICAgLy8gLy9jb25zb2xlLmxvZyhjb2RlKTtcclxuXHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgbGV0IGRpY3QgPSBTZXNzaW9uU3RvcmFnZVV0aWwuZ2V0RGljdEdyb3VwQnlDb2RlKGNvZGUpO1xyXG4gICAgICBpZiAoZGljdCkge1xyXG4gICAgICAgIG9ic2VydmUubmV4dChkaWN0KTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY29tbW9uRGF0YXMuYXdhaXRfRGF0YVtjb2RlXSkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0RGljdEJ5Y29kZShjb2RlLCBzZWxlY3RVcmwpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICAgIG9ic2VydmUubmV4dChyZXMpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KGVycm9yKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0sIDUwMClcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgICAgICBjb21tb25EYXRhcy5hd2FpdF9EYXRhW2NvZGVdID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmdldERpY0J5Y29kZUJhc2UoY29kZSwgc2VsZWN0VXJsKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChyZXN1bHQpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgICBjb21tb25EYXRhcy5hd2FpdF9EYXRhW2NvZGVdID0gZmFsc2U7XHJcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KGVycm9yKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIGNvbW1vbkRhdGFzLmF3YWl0X0RhdGFbY29kZV0gPSBmYWxzZTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG1vZGlmeUJ5Q29kZShjb2RlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuaHR0cFNlcnZpY2UucG9zdChhdHJfc3RhdGljX2RhdGFzLmRpY191cmwsIHtncm91cENvZGU6IGNvZGV9LCB7aXNDb21tb25IdHRwSGVhZGVyOiB0cnVlfSkuc3Vic2NyaWJlKFxyXG4gICAgICByZXN1bHQgPT4ge1xyXG4gICAgICAgIGxldCBkYXRhOiBEaWN0R3JvdXAgfCBhbnkgPSBudWxsO1xyXG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09IDIwMCkge1xyXG4gICAgICAgICAgZGF0YSA9IHtcclxuICAgICAgICAgICAgZ3JvdXBDb2RlOiBjb2RlLFxyXG4gICAgICAgICAgICBkaWN0czogcmVzdWx0LmRhdGFcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBTZXNzaW9uU3RvcmFnZVV0aWwucHV0RGljdEdyb3VwKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgU2Vzc2lvblN0b3JhZ2VVdGlsLnJlc2V0RGljdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=