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.
Files changed (136) hide show
  1. package/atr-components.module.d.ts +9 -9
  2. package/atr-public-api.d.ts +53 -53
  3. package/core/animations/animations.d.ts +1 -1
  4. package/core/animations/fly-in.d.ts +1 -1
  5. package/core/animations/scroll-screen.d.ts +1 -1
  6. package/core/auth/auth.guard.d.ts +11 -11
  7. package/core/base/atr-common.d.ts +347 -347
  8. package/core/directive/error-img.directive.d.ts +10 -10
  9. package/core/directive/hq-spin.directive.d.ts +13 -13
  10. package/core/directive/role.directive.d.ts +16 -16
  11. package/core/interceptor/base.interceptor.d.ts +17 -17
  12. package/core/ngz-module/cus-zorro-antd.module.d.ts +75 -75
  13. package/core/pipe/china-num.pipe.d.ts +7 -7
  14. package/core/pipe/count.pipe.d.ts +7 -7
  15. package/core/pipe/day.pipe.d.ts +8 -8
  16. package/core/pipe/defaultVal.pipe.d.ts +7 -7
  17. package/core/pipe/dicts.pipe.d.ts +10 -10
  18. package/core/pipe/image-pipe.pipe.d.ts +8 -8
  19. package/core/pipe/is-empty.pipe.d.ts +7 -7
  20. package/core/pipe/is-not-empty.pipe.d.ts +7 -7
  21. package/core/pipe/oss.pipe.d.ts +7 -7
  22. package/core/pipe/ossStatic.pipe.d.ts +7 -7
  23. package/core/pipe/pipe-module.module.d.ts +21 -21
  24. package/core/pipe/remove-html.pipe.d.ts +10 -10
  25. package/core/pipe/safe-compute.pipe.d.ts +7 -7
  26. package/core/pipe/safe-html.pipe.d.ts +10 -10
  27. package/core/pipe/safe-url.pipe.d.ts +10 -10
  28. package/core/routereuse/atr-reuse-strategy.d.ts +19 -19
  29. package/core/services/dict/dict.service.d.ts +20 -20
  30. package/core/services/http.service.d.ts +31 -31
  31. package/core/services/menu.service.d.ts +29 -29
  32. package/core/services/upload-oss.service.d.ts +14 -14
  33. package/core/utils/ToolsUtil.d.ts +180 -180
  34. package/core/utils/localstorage.util.d.ts +15 -15
  35. package/core/utils/sessionstorage.util.d.ts +15 -15
  36. package/{esm2020 → esm2022}/atr-components.mjs +4 -4
  37. package/esm2022/atr-components.module.mjs +36 -0
  38. package/{esm2020 → esm2022}/atr-public-api.mjs +54 -54
  39. package/{esm2020 → esm2022}/core/animations/animations.mjs +9 -9
  40. package/{esm2020 → esm2022}/core/animations/fly-in.mjs +18 -18
  41. package/{esm2020 → esm2022}/core/animations/scroll-screen.mjs +22 -22
  42. package/{esm2020 → esm2022}/core/auth/auth.guard.mjs +37 -37
  43. package/esm2022/core/base/atr-common.mjs +47 -0
  44. package/{esm2020 → esm2022}/core/directive/error-img.directive.mjs +31 -31
  45. package/{esm2020 → esm2022}/core/directive/hq-spin.directive.mjs +48 -48
  46. package/esm2022/core/directive/role.directive.mjs +69 -0
  47. package/{esm2020 → esm2022}/core/interceptor/base.interceptor.mjs +165 -165
  48. package/{esm2020 → esm2022}/core/ngz-module/cus-zorro-antd.module.mjs +292 -292
  49. package/{esm2020 → esm2022}/core/pipe/china-num.pipe.mjs +36 -36
  50. package/{esm2020 → esm2022}/core/pipe/count.pipe.mjs +34 -34
  51. package/{esm2020 → esm2022}/core/pipe/day.pipe.mjs +24 -24
  52. package/{esm2020 → esm2022}/core/pipe/defaultVal.pipe.mjs +23 -23
  53. package/{esm2020 → esm2022}/core/pipe/dicts.pipe.mjs +28 -28
  54. package/{esm2020 → esm2022}/core/pipe/image-pipe.pipe.mjs +17 -17
  55. package/{esm2020 → esm2022}/core/pipe/is-empty.pipe.mjs +20 -20
  56. package/{esm2020 → esm2022}/core/pipe/is-not-empty.pipe.mjs +17 -17
  57. package/{esm2020 → esm2022}/core/pipe/oss.pipe.mjs +17 -17
  58. package/{esm2020 → esm2022}/core/pipe/ossStatic.pipe.mjs +17 -17
  59. package/esm2022/core/pipe/pipe-module.module.mjs +38 -0
  60. package/{esm2020 → esm2022}/core/pipe/remove-html.pipe.mjs +21 -21
  61. package/{esm2020 → esm2022}/core/pipe/safe-compute.pipe.mjs +23 -23
  62. package/{esm2020 → esm2022}/core/pipe/safe-html.pipe.mjs +20 -20
  63. package/{esm2020 → esm2022}/core/pipe/safe-url.pipe.mjs +20 -20
  64. package/esm2022/core/routereuse/atr-reuse-strategy.mjs +79 -0
  65. package/esm2022/core/services/dict/dict.service.mjs +152 -0
  66. package/{esm2020 → esm2022}/core/services/http.service.mjs +306 -306
  67. package/{esm2020 → esm2022}/core/services/menu.service.mjs +130 -130
  68. package/{esm2020 → esm2022}/core/services/upload-oss.service.mjs +74 -74
  69. package/esm2022/core/utils/ToolsUtil.mjs +622 -0
  70. package/{esm2020 → esm2022}/core/utils/localstorage.util.mjs +94 -94
  71. package/{esm2020 → esm2022}/core/utils/sessionstorage.util.mjs +72 -72
  72. package/{esm2020 → esm2022}/lib/hello/hello.component.mjs +15 -15
  73. package/esm2022/lib/hello/hello.module.mjs +20 -0
  74. package/esm2022/lib/shared/atr-shared.module.mjs +204 -0
  75. package/esm2022/lib/shared/echarts/echarts.component.mjs +77 -0
  76. package/esm2022/lib/shared/form/form.component.mjs +574 -0
  77. package/esm2022/lib/shared/img-canvas/img-canvas.component.mjs +132 -0
  78. package/esm2022/lib/shared/local-upload/local-upload.component.mjs +68 -0
  79. package/esm2022/lib/shared/quill-editor/quill-editor.component.mjs +248 -0
  80. package/esm2022/lib/shared/select-icons/select-icons.component.mjs +90 -0
  81. package/{esm2020 → esm2022}/lib/shared/select-tree/select-tree.component.mjs +55 -55
  82. package/{esm2020 → esm2022}/lib/shared/service/busi.service.mjs +69 -69
  83. package/{esm2020 → esm2022}/lib/shared/share.service.mjs +107 -107
  84. package/esm2022/lib/shared/table/table-form-item/table-form-item.component.mjs +96 -0
  85. package/esm2022/lib/shared/table/table-td/table-td.component.mjs +165 -0
  86. package/esm2022/lib/shared/table/table.component.mjs +749 -0
  87. package/{esm2020 → esm2022}/lib/shared/upload/upload.component.mjs +274 -274
  88. package/{esm2020 → esm2022}/lib/shared/validators/atr-validtors.mjs +8 -8
  89. package/esm2022/lib/shared/video/video.component.mjs +16 -0
  90. package/esm2022/lib/shared/view-form/view-form.component.mjs +181 -0
  91. package/{fesm2020 → fesm2022}/atr-components.mjs +5311 -5312
  92. package/fesm2022/atr-components.mjs.map +1 -0
  93. package/{atr-components.d.ts → index.d.ts} +5 -5
  94. package/lib/hello/hello.component.d.ts +8 -8
  95. package/lib/hello/hello.module.d.ts +8 -8
  96. package/lib/shared/atr-shared.module.d.ts +36 -33
  97. package/lib/shared/echarts/echarts.component.d.ts +34 -34
  98. package/lib/shared/form/form.component.d.ts +45 -45
  99. package/lib/shared/img-canvas/img-canvas.component.d.ts +28 -28
  100. package/lib/shared/local-upload/local-upload.component.d.ts +22 -22
  101. package/lib/shared/quill-editor/quill-editor.component.d.ts +45 -45
  102. package/lib/shared/select-icons/select-icons.component.d.ts +24 -24
  103. package/lib/shared/select-tree/select-tree.component.d.ts +23 -23
  104. package/lib/shared/service/busi.service.d.ts +20 -20
  105. package/lib/shared/share.service.d.ts +14 -14
  106. package/lib/shared/table/table-form-item/table-form-item.component.d.ts +25 -25
  107. package/lib/shared/table/table-td/table-td.component.d.ts +26 -26
  108. package/lib/shared/table/table.component.d.ts +94 -94
  109. package/lib/shared/upload/upload.component.d.ts +53 -53
  110. package/lib/shared/validators/atr-validtors.d.ts +2 -2
  111. package/lib/shared/video/video.component.d.ts +7 -7
  112. package/lib/shared/view-form/view-form.component.d.ts +28 -28
  113. package/package.json +14 -22
  114. package/esm2020/atr-components.module.mjs +0 -38
  115. package/esm2020/core/base/atr-common.mjs +0 -47
  116. package/esm2020/core/directive/role.directive.mjs +0 -69
  117. package/esm2020/core/pipe/pipe-module.module.mjs +0 -40
  118. package/esm2020/core/routereuse/atr-reuse-strategy.mjs +0 -79
  119. package/esm2020/core/services/dict/dict.service.mjs +0 -152
  120. package/esm2020/core/utils/ToolsUtil.mjs +0 -622
  121. package/esm2020/lib/hello/hello.module.mjs +0 -22
  122. package/esm2020/lib/shared/atr-shared.module.mjs +0 -199
  123. package/esm2020/lib/shared/echarts/echarts.component.mjs +0 -77
  124. package/esm2020/lib/shared/form/form.component.mjs +0 -574
  125. package/esm2020/lib/shared/img-canvas/img-canvas.component.mjs +0 -132
  126. package/esm2020/lib/shared/local-upload/local-upload.component.mjs +0 -68
  127. package/esm2020/lib/shared/quill-editor/quill-editor.component.mjs +0 -248
  128. package/esm2020/lib/shared/select-icons/select-icons.component.mjs +0 -90
  129. package/esm2020/lib/shared/table/table-form-item/table-form-item.component.mjs +0 -96
  130. package/esm2020/lib/shared/table/table-td/table-td.component.mjs +0 -165
  131. package/esm2020/lib/shared/table/table.component.mjs +0 -749
  132. package/esm2020/lib/shared/video/video.component.mjs +0 -15
  133. package/esm2020/lib/shared/view-form/view-form.component.mjs +0 -181
  134. package/fesm2015/atr-components.mjs +0 -5522
  135. package/fesm2015/atr-components.mjs.map +0 -1
  136. package/fesm2020/atr-components.mjs.map +0 -1
@@ -1,130 +1,130 @@
1
- import { Injectable, EventEmitter } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { atr_static_datas } from '../base/atr-common';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./http.service";
6
- export class MenuService {
7
- // private Menu
8
- constructor(httpService) {
9
- this.httpService = httpService;
10
- this.data = [];
11
- this.isLoadMenu = 'unload';
12
- if (!MenuService.menuChange) {
13
- MenuService.menuChange = new EventEmitter();
14
- }
15
- if (!MenuService.urlChange) {
16
- MenuService.urlChange = new EventEmitter();
17
- }
18
- }
19
- gotoUrl(routeParam) {
20
- MenuService.urlChange.emit(routeParam);
21
- }
22
- getUrlChange() {
23
- return MenuService.urlChange;
24
- }
25
- getCurMenu(url) {
26
- return new Observable(observe => {
27
- if (this.isLoadMenu == "loaded") {
28
- observe.next(this.getMenuByUrl(this.data, url));
29
- observe.unsubscribe();
30
- }
31
- else {
32
- this.loadMenus().subscribe(result => {
33
- observe.next(this.getMenuByUrl(result, url));
34
- observe.unsubscribe();
35
- }, error => {
36
- // console.log(error);
37
- });
38
- }
39
- });
40
- }
41
- getMenuByUrl(menus, url) {
42
- let tempMenu = null;
43
- for (let menu of menus) {
44
- if (this.isLoadUrlEqMenu(menu.link, url)) {
45
- tempMenu = menu;
46
- break;
47
- }
48
- else if (menu.children && menu.children.length > 0) {
49
- if (this.getMenuByUrl(menu.children, url) != null) {
50
- tempMenu = this.getMenuByUrl(menu.children, url);
51
- break;
52
- }
53
- }
54
- }
55
- return tempMenu;
56
- }
57
- loadMenus() {
58
- return new Observable(observe => {
59
- if (!atr_static_datas.menu_url) {
60
- alert('请配置 获取菜单详情接口 atr_static_datas.menu_url');
61
- return;
62
- }
63
- if (this.isLoadMenu == 'unload') {
64
- this.isLoadMenu = 'loading';
65
- let options = {
66
- isCommonHttpHeader: true
67
- };
68
- this.httpService.post(atr_static_datas.menu_url, {}, {
69
- isCommonHttpHeader: true
70
- }).subscribe((result) => {
71
- if (result.status == 200) {
72
- this.isLoadMenu = 'loaded';
73
- this.data = result.data;
74
- }
75
- else {
76
- this.isLoadMenu = 'unload';
77
- this.data = [];
78
- }
79
- observe.next(this.data);
80
- MenuService.menuChange.emit(this.data);
81
- observe.unsubscribe();
82
- }, (error) => {
83
- observe.error(error);
84
- observe.unsubscribe();
85
- });
86
- }
87
- else if (this.isLoadMenu == 'loading') {
88
- // console.log("MenuChange999");
89
- MenuService.menuChange.subscribe((menus) => {
90
- // console.log("MenuChange");
91
- observe.next(menus);
92
- observe.unsubscribe();
93
- });
94
- }
95
- else {
96
- observe.next(this.data);
97
- observe.unsubscribe();
98
- }
99
- });
100
- }
101
- isLoadUrlEqMenu(menuUrl, url) {
102
- let isTrue = false;
103
- if (menuUrl.indexOf("/:id") > -1) {
104
- let menuUrls = menuUrl.split("/:id");
105
- if (url.indexOf(menuUrls[0]) == 0) {
106
- if (menuUrl.split("/").length == url.split("/").length) {
107
- isTrue = true;
108
- }
109
- }
110
- }
111
- else if (menuUrl == url) {
112
- isTrue = true;
113
- }
114
- return isTrue;
115
- }
116
- /**
117
- * 清空菜单
118
- */
119
- clear() {
120
- this.isLoadMenu = 'unload';
121
- this.data = [];
122
- }
123
- }
124
- MenuServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
125
- MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, providedIn: 'root' });
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, decorators: [{
127
- type: Injectable,
128
- args: [{ providedIn: 'root' }]
129
- }], ctorParameters: function () { return [{ type: i1.HttpService }]; } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQU8sTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSTFELE1BQU0sT0FBTyxXQUFXO0lBUXRCLGVBQWU7SUFDZixZQUNVLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUjFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFJbEIsZUFBVSxHQUFvQyxRQUFRLENBQUM7UUFNN0QsSUFBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUM7WUFDekIsV0FBVyxDQUFDLFVBQVUsR0FBSSxJQUFJLFlBQVksRUFBRSxDQUFBO1NBQzdDO1FBQ0QsSUFBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUM7WUFDeEIsV0FBVyxDQUFDLFNBQVMsR0FBSSxJQUFJLFlBQVksRUFBRSxDQUFBO1NBQzVDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxVQUE2RDtRQUNuRSxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxJQUFJLFVBQVUsQ0FBTSxPQUFPLENBQUMsRUFBRTtZQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxFQUFFO2dCQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxD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QVgsV0FBVyxjQURDLE1BQU07NEZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXMsIE1lbnV9IGZyb20gJy4uL2Jhc2UvYXRyLWNvbW1vbic7XHJcbmltcG9ydCB7SHR0cFNlcnZpY2V9IGZyb20gXCIuL2h0dHAuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgZGF0YTogTWVudVtdID0gW107XHJcbiAgc3RhdGljIG1lbnVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZW51W10+XHJcbiAgc3RhdGljIHVybENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gO1xyXG5cclxuICBwcml2YXRlIGlzTG9hZE1lbnU6ICd1bmxvYWQnIHwgJ2xvYWRpbmcnIHwgJ2xvYWRlZCcgPSAndW5sb2FkJztcclxuXHJcbiAgLy8gcHJpdmF0ZSBNZW51XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcclxuICApIHtcclxuICAgIGlmKCFNZW51U2VydmljZS5tZW51Q2hhbmdlKXtcclxuICAgICAgTWVudVNlcnZpY2UubWVudUNoYW5nZSA9ICBuZXcgRXZlbnRFbWl0dGVyKClcclxuICAgIH1cclxuICAgIGlmKCFNZW51U2VydmljZS51cmxDaGFuZ2Upe1xyXG4gICAgICBNZW51U2VydmljZS51cmxDaGFuZ2UgPSAgbmV3IEV2ZW50RW1pdHRlcigpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnb3RvVXJsKHJvdXRlUGFyYW06IHsgdXJsOiBzdHJpbmcsIHBhcmFtVXJsOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nIH0pIHtcclxuICAgIE1lbnVTZXJ2aWNlLnVybENoYW5nZS5lbWl0KHJvdXRlUGFyYW0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXJsQ2hhbmdlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gTWVudVNlcnZpY2UudXJsQ2hhbmdlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VyTWVudSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8TWVudT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlzTG9hZE1lbnUgPT0gXCJsb2FkZWRcIikge1xyXG4gICAgICAgIG9ic2VydmUubmV4dCh0aGlzLmdldE1lbnVCeVVybCh0aGlzLmRhdGEsIHVybCkpO1xyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRNZW51cygpLnN1YnNjcmliZShcclxuICAgICAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dCh0aGlzLmdldE1lbnVCeVVybChyZXN1bHQsIHVybCkpO1xyXG4gICAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIGdldE1lbnVCeVVybChtZW51czogYW55LCB1cmw6IHN0cmluZyk6IE1lbnUge1xyXG4gICAgbGV0IHRlbXBNZW51OiBNZW51IHwgYW55ID0gbnVsbDtcclxuICAgIGZvciAobGV0IG1lbnUgb2YgbWVudXMpIHtcclxuICAgICAgaWYgKHRoaXMuaXNMb2FkVXJsRXFNZW51KG1lbnUubGluaywgdXJsKSkge1xyXG4gICAgICAgIHRlbXBNZW51ID0gbWVudTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfSBlbHNlIGlmIChtZW51LmNoaWxkcmVuICYmIG1lbnUuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLmdldE1lbnVCeVVybChtZW51LmNoaWxkcmVuLCB1cmwpICE9IG51bGwpIHtcclxuICAgICAgICAgIHRlbXBNZW51ID0gdGhpcy5nZXRNZW51QnlVcmwobWVudS5jaGlsZHJlbiwgdXJsKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRlbXBNZW51XHJcbiAgfVxyXG5cclxuICBsb2FkTWVudXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBpZiAoIWF0cl9zdGF0aWNfZGF0YXMubWVudV91cmwpIHtcclxuICAgICAgICBhbGVydCgn6K+36YWN572uIOiOt+WPluiPnOWNleivpuaDheaOpeWPoyBhdHJfc3RhdGljX2RhdGFzLm1lbnVfdXJsJylcclxuICAgICAgICByZXR1cm5cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pc0xvYWRNZW51ID09ICd1bmxvYWQnKSB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRNZW51ID0gJ2xvYWRpbmcnO1xyXG4gICAgICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgaXNDb21tb25IdHRwSGVhZGVyOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QoYXRyX3N0YXRpY19kYXRhcy5tZW51X3VybCwge30sIHtcclxuICAgICAgICAgIGlzQ29tbW9uSHR0cEhlYWRlcjogdHJ1ZVxyXG4gICAgICAgIH0pLnN1YnNjcmliZShcclxuICAgICAgICAgIChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmlzTG9hZE1lbnUgPSAnbG9hZGVkJztcclxuICAgICAgICAgICAgICB0aGlzLmRhdGEgPSByZXN1bHQuZGF0YTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmlzTG9hZE1lbnUgPSAndW5sb2FkJztcclxuICAgICAgICAgICAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvYnNlcnZlLm5leHQodGhpcy5kYXRhKTtcclxuICAgICAgICAgICAgTWVudVNlcnZpY2UubWVudUNoYW5nZS5lbWl0KHRoaXMuZGF0YSk7XHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoZXJyb3IpXHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTG9hZE1lbnUgPT0gJ2xvYWRpbmcnKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJNZW51Q2hhbmdlOTk5XCIpO1xyXG4gICAgICAgIE1lbnVTZXJ2aWNlLm1lbnVDaGFuZ2Uuc3Vic2NyaWJlKChtZW51czogTWVudVtdKSA9PiB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIk1lbnVDaGFuZ2VcIik7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQobWVudXMpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBvYnNlcnZlLm5leHQodGhpcy5kYXRhKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGlzTG9hZFVybEVxTWVudShtZW51VXJsOiBzdHJpbmcsIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaXNUcnVlID0gZmFsc2U7XHJcbiAgICBpZiAobWVudVVybC5pbmRleE9mKFwiLzppZFwiKSA+IC0xKSB7XHJcbiAgICAgIGxldCBtZW51VXJscyA9IG1lbnVVcmwuc3BsaXQoXCIvOmlkXCIpO1xyXG4gICAgICBpZiAodXJsLmluZGV4T2YobWVudVVybHNbMF0pID09IDApIHtcclxuICAgICAgICBpZiAobWVudVVybC5zcGxpdChcIi9cIikubGVuZ3RoID09IHVybC5zcGxpdChcIi9cIikubGVuZ3RoKSB7XHJcbiAgICAgICAgICBpc1RydWUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChtZW51VXJsID09IHVybCkge1xyXG4gICAgICBpc1RydWUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzVHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOa4heepuuiPnOWNlVxyXG4gICAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5pc0xvYWRNZW51ID0gJ3VubG9hZCc7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
1
+ import { Injectable, EventEmitter } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { atr_static_datas } from '../base/atr-common';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./http.service";
6
+ export class MenuService {
7
+ // private Menu
8
+ constructor(httpService) {
9
+ this.httpService = httpService;
10
+ this.data = [];
11
+ this.isLoadMenu = 'unload';
12
+ if (!MenuService.menuChange) {
13
+ MenuService.menuChange = new EventEmitter();
14
+ }
15
+ if (!MenuService.urlChange) {
16
+ MenuService.urlChange = new EventEmitter();
17
+ }
18
+ }
19
+ gotoUrl(routeParam) {
20
+ MenuService.urlChange.emit(routeParam);
21
+ }
22
+ getUrlChange() {
23
+ return MenuService.urlChange;
24
+ }
25
+ getCurMenu(url) {
26
+ return new Observable(observe => {
27
+ if (this.isLoadMenu == "loaded") {
28
+ observe.next(this.getMenuByUrl(this.data, url));
29
+ observe.unsubscribe();
30
+ }
31
+ else {
32
+ this.loadMenus().subscribe(result => {
33
+ observe.next(this.getMenuByUrl(result, url));
34
+ observe.unsubscribe();
35
+ }, error => {
36
+ // console.log(error);
37
+ });
38
+ }
39
+ });
40
+ }
41
+ getMenuByUrl(menus, url) {
42
+ let tempMenu = null;
43
+ for (let menu of menus) {
44
+ if (this.isLoadUrlEqMenu(menu.link, url)) {
45
+ tempMenu = menu;
46
+ break;
47
+ }
48
+ else if (menu.children && menu.children.length > 0) {
49
+ if (this.getMenuByUrl(menu.children, url) != null) {
50
+ tempMenu = this.getMenuByUrl(menu.children, url);
51
+ break;
52
+ }
53
+ }
54
+ }
55
+ return tempMenu;
56
+ }
57
+ loadMenus() {
58
+ return new Observable(observe => {
59
+ if (!atr_static_datas.menu_url) {
60
+ alert('请配置 获取菜单详情接口 atr_static_datas.menu_url');
61
+ return;
62
+ }
63
+ if (this.isLoadMenu == 'unload') {
64
+ this.isLoadMenu = 'loading';
65
+ let options = {
66
+ isCommonHttpHeader: true
67
+ };
68
+ this.httpService.post(atr_static_datas.menu_url, {}, {
69
+ isCommonHttpHeader: true
70
+ }).subscribe((result) => {
71
+ if (result.status == 200) {
72
+ this.isLoadMenu = 'loaded';
73
+ this.data = result.data;
74
+ }
75
+ else {
76
+ this.isLoadMenu = 'unload';
77
+ this.data = [];
78
+ }
79
+ observe.next(this.data);
80
+ MenuService.menuChange.emit(this.data);
81
+ observe.unsubscribe();
82
+ }, (error) => {
83
+ observe.error(error);
84
+ observe.unsubscribe();
85
+ });
86
+ }
87
+ else if (this.isLoadMenu == 'loading') {
88
+ // console.log("MenuChange999");
89
+ MenuService.menuChange.subscribe((menus) => {
90
+ // console.log("MenuChange");
91
+ observe.next(menus);
92
+ observe.unsubscribe();
93
+ });
94
+ }
95
+ else {
96
+ observe.next(this.data);
97
+ observe.unsubscribe();
98
+ }
99
+ });
100
+ }
101
+ isLoadUrlEqMenu(menuUrl, url) {
102
+ let isTrue = false;
103
+ if (menuUrl.indexOf("/:id") > -1) {
104
+ let menuUrls = menuUrl.split("/:id");
105
+ if (url.indexOf(menuUrls[0]) == 0) {
106
+ if (menuUrl.split("/").length == url.split("/").length) {
107
+ isTrue = true;
108
+ }
109
+ }
110
+ }
111
+ else if (menuUrl == url) {
112
+ isTrue = true;
113
+ }
114
+ return isTrue;
115
+ }
116
+ /**
117
+ * 清空菜单
118
+ */
119
+ clear() {
120
+ this.isLoadMenu = 'unload';
121
+ this.data = [];
122
+ }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MenuService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
124
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MenuService, providedIn: 'root' }); }
125
+ }
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MenuService, decorators: [{
127
+ type: Injectable,
128
+ args: [{ providedIn: 'root' }]
129
+ }], ctorParameters: () => [{ type: i1.HttpService }] });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQU8sTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSTFELE1BQU0sT0FBTyxXQUFXO0lBUXRCLGVBQWU7SUFDZixZQUNVLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUjFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFJbEIsZUFBVSxHQUFvQyxRQUFRLENBQUM7UUFNN0QsSUFBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUM7WUFDekIsV0FBVyxDQUFDLFVBQVUsR0FBSSxJQUFJLFlBQVksRUFBRSxDQUFBO1NBQzdDO1FBQ0QsSUFBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUM7WUFDeEIsV0FBVyxDQUFDLFNBQVMsR0FBSSxJQUFJLFlBQVksRUFBRSxDQUFBO1NBQzVDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxVQUE2RDtRQUNuRSxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxJQUFJLFVBQVUsQ0FBTSxPQUFPLENBQUMsRUFBRTtZQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxFQUFFO2dCQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxD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WCxXQUFXLGNBREMsTUFBTTs7MkZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXMsIE1lbnV9IGZyb20gJy4uL2Jhc2UvYXRyLWNvbW1vbic7XHJcbmltcG9ydCB7SHR0cFNlcnZpY2V9IGZyb20gXCIuL2h0dHAuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgZGF0YTogTWVudVtdID0gW107XHJcbiAgc3RhdGljIG1lbnVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZW51W10+XHJcbiAgc3RhdGljIHVybENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gO1xyXG5cclxuICBwcml2YXRlIGlzTG9hZE1lbnU6ICd1bmxvYWQnIHwgJ2xvYWRpbmcnIHwgJ2xvYWRlZCcgPSAndW5sb2FkJztcclxuXHJcbiAgLy8gcHJpdmF0ZSBNZW51XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcclxuICApIHtcclxuICAgIGlmKCFNZW51U2VydmljZS5tZW51Q2hhbmdlKXtcclxuICAgICAgTWVudVNlcnZpY2UubWVudUNoYW5nZSA9ICBuZXcgRXZlbnRFbWl0dGVyKClcclxuICAgIH1cclxuICAgIGlmKCFNZW51U2VydmljZS51cmxDaGFuZ2Upe1xyXG4gICAgICBNZW51U2VydmljZS51cmxDaGFuZ2UgPSAgbmV3IEV2ZW50RW1pdHRlcigpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnb3RvVXJsKHJvdXRlUGFyYW06IHsgdXJsOiBzdHJpbmcsIHBhcmFtVXJsOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nIH0pIHtcclxuICAgIE1lbnVTZXJ2aWNlLnVybENoYW5nZS5lbWl0KHJvdXRlUGFyYW0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXJsQ2hhbmdlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gTWVudVNlcnZpY2UudXJsQ2hhbmdlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VyTWVudSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8TWVudT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlzTG9hZE1lbnUgPT0gXCJsb2FkZWRcIikge1xyXG4gICAgICAgIG9ic2VydmUubmV4dCh0aGlzLmdldE1lbnVCeVVybCh0aGlzLmRhdGEsIHVybCkpO1xyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRNZW51cygpLnN1YnNjcmliZShcclxuICAgICAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dCh0aGlzLmdldE1lbnVCeVVybChyZXN1bHQsIHVybCkpO1xyXG4gICAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIGdldE1lbnVCeVVybChtZW51czogYW55LCB1cmw6IHN0cmluZyk6IE1lbnUge1xyXG4gICAgbGV0IHRlbXBNZW51OiBNZW51IHwgYW55ID0gbnVsbDtcclxuICAgIGZvciAobGV0IG1lbnUgb2YgbWVudXMpIHtcclxuICAgICAgaWYgKHRoaXMuaXNMb2FkVXJsRXFNZW51KG1lbnUubGluaywgdXJsKSkge1xyXG4gICAgICAgIHRlbXBNZW51ID0gbWVudTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfSBlbHNlIGlmIChtZW51LmNoaWxkcmVuICYmIG1lbnUuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLmdldE1lbnVCeVVybChtZW51LmNoaWxkcmVuLCB1cmwpICE9IG51bGwpIHtcclxuICAgICAgICAgIHRlbXBNZW51ID0gdGhpcy5nZXRNZW51QnlVcmwobWVudS5jaGlsZHJlbiwgdXJsKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRlbXBNZW51XHJcbiAgfVxyXG5cclxuICBsb2FkTWVudXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBpZiAoIWF0cl9zdGF0aWNfZGF0YXMubWVudV91cmwpIHtcclxuICAgICAgICBhbGVydCgn6K+36YWN572uIOiOt+WPluiPnOWNleivpuaDheaOpeWPoyBhdHJfc3RhdGljX2RhdGFzLm1lbnVfdXJsJylcclxuICAgICAgICByZXR1cm5cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pc0xvYWRNZW51ID09ICd1bmxvYWQnKSB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRNZW51ID0gJ2xvYWRpbmcnO1xyXG4gICAgICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgaXNDb21tb25IdHRwSGVhZGVyOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QoYXRyX3N0YXRpY19kYXRhcy5tZW51X3VybCwge30sIHtcclxuICAgICAgICAgIGlzQ29tbW9uSHR0cEhlYWRlcjogdHJ1ZVxyXG4gICAgICAgIH0pLnN1YnNjcmliZShcclxuICAgICAgICAgIChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmlzTG9hZE1lbnUgPSAnbG9hZGVkJztcclxuICAgICAgICAgICAgICB0aGlzLmRhdGEgPSByZXN1bHQuZGF0YTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmlzTG9hZE1lbnUgPSAndW5sb2FkJztcclxuICAgICAgICAgICAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvYnNlcnZlLm5leHQodGhpcy5kYXRhKTtcclxuICAgICAgICAgICAgTWVudVNlcnZpY2UubWVudUNoYW5nZS5lbWl0KHRoaXMuZGF0YSk7XHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoZXJyb3IpXHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTG9hZE1lbnUgPT0gJ2xvYWRpbmcnKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJNZW51Q2hhbmdlOTk5XCIpO1xyXG4gICAgICAgIE1lbnVTZXJ2aWNlLm1lbnVDaGFuZ2Uuc3Vic2NyaWJlKChtZW51czogTWVudVtdKSA9PiB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIk1lbnVDaGFuZ2VcIik7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQobWVudXMpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBvYnNlcnZlLm5leHQodGhpcy5kYXRhKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGlzTG9hZFVybEVxTWVudShtZW51VXJsOiBzdHJpbmcsIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaXNUcnVlID0gZmFsc2U7XHJcbiAgICBpZiAobWVudVVybC5pbmRleE9mKFwiLzppZFwiKSA+IC0xKSB7XHJcbiAgICAgIGxldCBtZW51VXJscyA9IG1lbnVVcmwuc3BsaXQoXCIvOmlkXCIpO1xyXG4gICAgICBpZiAodXJsLmluZGV4T2YobWVudVVybHNbMF0pID09IDApIHtcclxuICAgICAgICBpZiAobWVudVVybC5zcGxpdChcIi9cIikubGVuZ3RoID09IHVybC5zcGxpdChcIi9cIikubGVuZ3RoKSB7XHJcbiAgICAgICAgICBpc1RydWUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChtZW51VXJsID09IHVybCkge1xyXG4gICAgICBpc1RydWUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzVHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOa4heepuuiPnOWNlVxyXG4gICAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5pc0xvYWRNZW51ID0gJ3VubG9hZCc7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,74 +1,74 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { ToolsUtil } from '../utils/ToolsUtil';
4
- import { HttpRequest, HttpResponse, HttpEventType } from '@angular/common/http';
5
- import { atr_static_datas } from "../base/atr-common";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./http.service";
8
- import * as i2 from "@angular/common/http";
9
- export class UploadOssService {
10
- constructor(httpService, httpClient) {
11
- this.httpService = httpService;
12
- this.httpClient = httpClient;
13
- this.uploadOss = (file, dir = 'ueditor', fullUrl = true) => {
14
- return new Observable(observe => {
15
- const success = (result) => {
16
- if (result.status === 200) {
17
- this.uploadData = result.data;
18
- this.customReq(file, fullUrl, result.data).subscribe((url) => {
19
- observe.next(url);
20
- observe.unsubscribe();
21
- });
22
- }
23
- else {
24
- observe.next(false);
25
- observe.unsubscribe();
26
- }
27
- };
28
- const error = (err) => {
29
- observe.next(false);
30
- observe.unsubscribe();
31
- };
32
- let fileName = ToolsUtil.getRandomFileName() + "." + ToolsUtil.getFileExt(file.name);
33
- this.httpService.post(atr_static_datas.OSS_POLICY, {
34
- dir: dir,
35
- fileName: fileName
36
- }, ToolsUtil.getHttpOptions()).subscribe(success, error);
37
- });
38
- };
39
- this.customReq = (file, fullUrl = true, uploadData = null) => {
40
- const formData = new FormData();
41
- uploadData = uploadData ? uploadData : this.uploadData;
42
- for (let key in uploadData) {
43
- if (key != 'host')
44
- formData.append(key, this.uploadData[key]);
45
- }
46
- formData.append('file', file);
47
- const req = new HttpRequest('POST', this.uploadData.host, formData, {
48
- reportProgress: true
49
- });
50
- return new Observable(observe => {
51
- const success = (event) => {
52
- if (event.type === HttpEventType.UploadProgress) {
53
- }
54
- else if (event instanceof HttpResponse) {
55
- const url = fullUrl ? (event.url + uploadData.key) : uploadData.key;
56
- observe.next(url);
57
- observe.unsubscribe();
58
- }
59
- };
60
- const error = () => {
61
- observe.next(false);
62
- observe.unsubscribe();
63
- };
64
- this.httpClient.request(req).subscribe(success, error);
65
- });
66
- };
67
- }
68
- }
69
- UploadOssServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadOssService, deps: [{ token: i1.HttpService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
70
- UploadOssService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadOssService });
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadOssService, decorators: [{
72
- type: Injectable
73
- }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.HttpClient }]; } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLW9zcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy91cGxvYWQtb3NzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUF5QixZQUFZLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixXQUF3QixFQUFVLFVBQXNCO1FBQXhELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUk1RSxjQUFTLEdBQUcsQ0FBQyxJQUFTLEVBQUUsR0FBRyxHQUFHLFNBQVMsRUFBRSxPQUFPLEdBQUcsSUFBSSxFQUFFLEVBQUU7WUFDekQsT0FBTyxJQUFJLFVBQVUsQ0FBTSxPQUFPLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtvQkFDOUIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTt3QkFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFOzRCQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxD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QUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0h0dHBTZXJ2aWNlfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VG9vbHNVdGlsfSBmcm9tICcuLi91dGlscy9Ub29sc1V0aWwnO1xyXG5pbXBvcnQge0h0dHBSZXF1ZXN0LCBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXN9IGZyb20gXCIuLi9iYXNlL2F0ci1jb21tb25cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVwbG9hZE9zc1NlcnZpY2Uge1xyXG4gIHVwbG9hZERhdGE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge1xyXG4gIH1cclxuXHJcblxyXG4gIHVwbG9hZE9zcyA9IChmaWxlOiBhbnksIGRpciA9ICd1ZWRpdG9yJywgZnVsbFVybCA9IHRydWUpID0+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBjb25zdCBzdWNjZXNzID0gKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy51cGxvYWREYXRhID0gcmVzdWx0LmRhdGE7XHJcbiAgICAgICAgICB0aGlzLmN1c3RvbVJlcShmaWxlLCBmdWxsVXJsLCByZXN1bHQuZGF0YSkuc3Vic2NyaWJlKCh1cmwpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHVybCk7XHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIG9ic2VydmUubmV4dChmYWxzZSk7XHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9O1xyXG4gICAgICBsZXQgZmlsZU5hbWUgPSBUb29sc1V0aWwuZ2V0UmFuZG9tRmlsZU5hbWUoKSArIFwiLlwiICsgVG9vbHNVdGlsLmdldEZpbGVFeHQoZmlsZS5uYW1lKTtcclxuICAgICAgdGhpcy5odHRwU2VydmljZS5wb3N0KGF0cl9zdGF0aWNfZGF0YXMuT1NTX1BPTElDWSwge1xyXG4gICAgICAgIGRpcjogZGlyLFxyXG4gICAgICAgIGZpbGVOYW1lOiBmaWxlTmFtZVxyXG4gICAgICB9LCBUb29sc1V0aWwuZ2V0SHR0cE9wdGlvbnMoKSkuc3Vic2NyaWJlKHN1Y2Nlc3MsIGVycm9yKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGN1c3RvbVJlcSA9IChmaWxlOiBGaWxlLCBmdWxsVXJsID0gdHJ1ZSwgdXBsb2FkRGF0YTphbnkgPSBudWxsKSA9PiB7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgdXBsb2FkRGF0YSA9IHVwbG9hZERhdGEgPyB1cGxvYWREYXRhIDogdGhpcy51cGxvYWREYXRhXHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdXBsb2FkRGF0YSkge1xyXG4gICAgICBpZiAoa2V5ICE9ICdob3N0JylcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCB0aGlzLnVwbG9hZERhdGFba2V5XSlcclxuICAgIH1cclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUgYXMgYW55KTtcclxuXHJcbiAgICBjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCB0aGlzLnVwbG9hZERhdGEuaG9zdCEsIGZvcm1EYXRhLCB7XHJcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgY29uc3Qgc3VjY2VzcyA9IChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBjb25zdCB1cmwgPSBmdWxsVXJsID8gKGV2ZW50LnVybCArIHVwbG9hZERhdGEua2V5KSA6IHVwbG9hZERhdGEua2V5O1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHVybCk7XHJcbiAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9ICgpID0+IHtcclxuICAgICAgICBvYnNlcnZlLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcSkuc3Vic2NyaWJlKHN1Y2Nlc3MsIGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { ToolsUtil } from '../utils/ToolsUtil';
4
+ import { HttpRequest, HttpResponse, HttpEventType } from '@angular/common/http';
5
+ import { atr_static_datas } from "../base/atr-common";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./http.service";
8
+ import * as i2 from "@angular/common/http";
9
+ export class UploadOssService {
10
+ constructor(httpService, httpClient) {
11
+ this.httpService = httpService;
12
+ this.httpClient = httpClient;
13
+ this.uploadOss = (file, dir = 'ueditor', fullUrl = true) => {
14
+ return new Observable(observe => {
15
+ const success = (result) => {
16
+ if (result.status === 200) {
17
+ this.uploadData = result.data;
18
+ this.customReq(file, fullUrl, result.data).subscribe((url) => {
19
+ observe.next(url);
20
+ observe.unsubscribe();
21
+ });
22
+ }
23
+ else {
24
+ observe.next(false);
25
+ observe.unsubscribe();
26
+ }
27
+ };
28
+ const error = (err) => {
29
+ observe.next(false);
30
+ observe.unsubscribe();
31
+ };
32
+ let fileName = ToolsUtil.getRandomFileName() + "." + ToolsUtil.getFileExt(file.name);
33
+ this.httpService.post(atr_static_datas.OSS_POLICY, {
34
+ dir: dir,
35
+ fileName: fileName
36
+ }, ToolsUtil.getHttpOptions()).subscribe(success, error);
37
+ });
38
+ };
39
+ this.customReq = (file, fullUrl = true, uploadData = null) => {
40
+ const formData = new FormData();
41
+ uploadData = uploadData ? uploadData : this.uploadData;
42
+ for (let key in uploadData) {
43
+ if (key != 'host')
44
+ formData.append(key, this.uploadData[key]);
45
+ }
46
+ formData.append('file', file);
47
+ const req = new HttpRequest('POST', this.uploadData.host, formData, {
48
+ reportProgress: true
49
+ });
50
+ return new Observable(observe => {
51
+ const success = (event) => {
52
+ if (event.type === HttpEventType.UploadProgress) {
53
+ }
54
+ else if (event instanceof HttpResponse) {
55
+ const url = fullUrl ? (event.url + uploadData.key) : uploadData.key;
56
+ observe.next(url);
57
+ observe.unsubscribe();
58
+ }
59
+ };
60
+ const error = () => {
61
+ observe.next(false);
62
+ observe.unsubscribe();
63
+ };
64
+ this.httpClient.request(req).subscribe(success, error);
65
+ });
66
+ };
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UploadOssService, deps: [{ token: i1.HttpService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
69
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UploadOssService }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UploadOssService, decorators: [{
72
+ type: Injectable
73
+ }], ctorParameters: () => [{ type: i1.HttpService }, { type: i2.HttpClient }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLW9zcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy91cGxvYWQtb3NzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUF5QixZQUFZLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixXQUF3QixFQUFVLFVBQXNCO1FBQXhELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUk1RSxjQUFTLEdBQUcsQ0FBQyxJQUFTLEVBQUUsR0FBRyxHQUFHLFNBQVMsRUFBRSxPQUFPLEdBQUcsSUFBSSxFQUFFLEVBQUU7WUFDekQsT0FBTyxJQUFJLFVBQVUsQ0FBTSxPQUFPLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtvQkFDOUIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTt3QkFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFOzRCQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxD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QUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0h0dHBTZXJ2aWNlfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VG9vbHNVdGlsfSBmcm9tICcuLi91dGlscy9Ub29sc1V0aWwnO1xyXG5pbXBvcnQge0h0dHBSZXF1ZXN0LCBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXN9IGZyb20gXCIuLi9iYXNlL2F0ci1jb21tb25cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVwbG9hZE9zc1NlcnZpY2Uge1xyXG4gIHVwbG9hZERhdGE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge1xyXG4gIH1cclxuXHJcblxyXG4gIHVwbG9hZE9zcyA9IChmaWxlOiBhbnksIGRpciA9ICd1ZWRpdG9yJywgZnVsbFVybCA9IHRydWUpID0+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBjb25zdCBzdWNjZXNzID0gKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy51cGxvYWREYXRhID0gcmVzdWx0LmRhdGE7XHJcbiAgICAgICAgICB0aGlzLmN1c3RvbVJlcShmaWxlLCBmdWxsVXJsLCByZXN1bHQuZGF0YSkuc3Vic2NyaWJlKCh1cmwpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHVybCk7XHJcbiAgICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIG9ic2VydmUubmV4dChmYWxzZSk7XHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9O1xyXG4gICAgICBsZXQgZmlsZU5hbWUgPSBUb29sc1V0aWwuZ2V0UmFuZG9tRmlsZU5hbWUoKSArIFwiLlwiICsgVG9vbHNVdGlsLmdldEZpbGVFeHQoZmlsZS5uYW1lKTtcclxuICAgICAgdGhpcy5odHRwU2VydmljZS5wb3N0KGF0cl9zdGF0aWNfZGF0YXMuT1NTX1BPTElDWSwge1xyXG4gICAgICAgIGRpcjogZGlyLFxyXG4gICAgICAgIGZpbGVOYW1lOiBmaWxlTmFtZVxyXG4gICAgICB9LCBUb29sc1V0aWwuZ2V0SHR0cE9wdGlvbnMoKSkuc3Vic2NyaWJlKHN1Y2Nlc3MsIGVycm9yKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGN1c3RvbVJlcSA9IChmaWxlOiBGaWxlLCBmdWxsVXJsID0gdHJ1ZSwgdXBsb2FkRGF0YTphbnkgPSBudWxsKSA9PiB7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgdXBsb2FkRGF0YSA9IHVwbG9hZERhdGEgPyB1cGxvYWREYXRhIDogdGhpcy51cGxvYWREYXRhXHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdXBsb2FkRGF0YSkge1xyXG4gICAgICBpZiAoa2V5ICE9ICdob3N0JylcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCB0aGlzLnVwbG9hZERhdGFba2V5XSlcclxuICAgIH1cclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUgYXMgYW55KTtcclxuXHJcbiAgICBjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCB0aGlzLnVwbG9hZERhdGEuaG9zdCEsIGZvcm1EYXRhLCB7XHJcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgY29uc3Qgc3VjY2VzcyA9IChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBjb25zdCB1cmwgPSBmdWxsVXJsID8gKGV2ZW50LnVybCArIHVwbG9hZERhdGEua2V5KSA6IHVwbG9hZERhdGEua2V5O1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHVybCk7XHJcbiAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBlcnJvciA9ICgpID0+IHtcclxuICAgICAgICBvYnNlcnZlLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcSkuc3Vic2NyaWJlKHN1Y2Nlc3MsIGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19