atr-components 2.0.206 → 2.0.208

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 (116) hide show
  1. package/atr-public-api.d.ts +2 -0
  2. package/core/directive/Infinite-scroll.directive.d.ts +12 -0
  3. package/core/directive/debounce-click.directive.d.ts +14 -0
  4. package/esm2022/atr-components.module.mjs +4 -4
  5. package/esm2022/atr-public-api.mjs +3 -1
  6. package/esm2022/core/auth/auth.guard.mjs +3 -3
  7. package/esm2022/core/base/atr-common.mjs +1 -1
  8. package/esm2022/core/directive/Infinite-scroll.directive.mjs +36 -0
  9. package/esm2022/core/directive/debounce-click.directive.mjs +41 -0
  10. package/esm2022/core/directive/error-img.directive.mjs +3 -3
  11. package/esm2022/core/directive/hq-spin.directive.mjs +3 -3
  12. package/esm2022/core/directive/role.directive.mjs +3 -3
  13. package/esm2022/core/interceptor/base.interceptor.mjs +3 -3
  14. package/esm2022/core/ngz-module/cus-zorro-antd.module.mjs +4 -4
  15. package/esm2022/core/pipe/china-num.pipe.mjs +3 -3
  16. package/esm2022/core/pipe/count.pipe.mjs +3 -3
  17. package/esm2022/core/pipe/day.pipe.mjs +3 -3
  18. package/esm2022/core/pipe/defaultVal.pipe.mjs +3 -3
  19. package/esm2022/core/pipe/dicts.pipe.mjs +3 -3
  20. package/esm2022/core/pipe/image-pipe.pipe.mjs +3 -3
  21. package/esm2022/core/pipe/is-empty.pipe.mjs +3 -3
  22. package/esm2022/core/pipe/is-not-empty.pipe.mjs +3 -3
  23. package/esm2022/core/pipe/oss.pipe.mjs +3 -3
  24. package/esm2022/core/pipe/ossStatic.pipe.mjs +3 -3
  25. package/esm2022/core/pipe/pipe-module.module.mjs +4 -4
  26. package/esm2022/core/pipe/remove-html.pipe.mjs +3 -3
  27. package/esm2022/core/pipe/safe-compute.pipe.mjs +3 -3
  28. package/esm2022/core/pipe/safe-html.pipe.mjs +3 -3
  29. package/esm2022/core/pipe/safe-url.pipe.mjs +3 -3
  30. package/esm2022/core/services/dict/dict.service.mjs +3 -3
  31. package/esm2022/core/services/http.service.mjs +14 -4
  32. package/esm2022/core/services/menu.service.mjs +5 -5
  33. package/esm2022/core/services/upload-oss.service.mjs +3 -3
  34. package/esm2022/lib/hello/hello.component.mjs +3 -3
  35. package/esm2022/lib/hello/hello.module.mjs +4 -4
  36. package/esm2022/lib/shared/atr-shared.module.mjs +10 -8
  37. package/esm2022/lib/shared/echarts/echarts.component.mjs +3 -3
  38. package/esm2022/lib/shared/form/form.component.mjs +3 -3
  39. package/esm2022/lib/shared/img-canvas/img-canvas.component.mjs +3 -3
  40. package/esm2022/lib/shared/local-upload/local-upload.component.mjs +3 -3
  41. package/esm2022/lib/shared/quill-editor/quill-editor.component.mjs +4 -4
  42. package/esm2022/lib/shared/select-icons/select-icons.component.mjs +3 -3
  43. package/esm2022/lib/shared/select-tree/select-tree.component.mjs +3 -3
  44. package/esm2022/lib/shared/service/busi.service.mjs +3 -3
  45. package/esm2022/lib/shared/share.service.mjs +3 -3
  46. package/esm2022/lib/shared/table/table-form-item/table-form-item.component.mjs +3 -3
  47. package/esm2022/lib/shared/table/table-td/table-td.component.mjs +3 -3
  48. package/esm2022/lib/shared/table/table.component.mjs +5 -5
  49. package/esm2022/lib/shared/upload/upload.component.mjs +3 -3
  50. package/esm2022/lib/shared/video/video.component.mjs +3 -3
  51. package/esm2022/lib/shared/view-form/view-form.component.mjs +3 -3
  52. package/fesm2022/atr-components.mjs +230 -148
  53. package/fesm2022/atr-components.mjs.map +1 -1
  54. package/lib/shared/atr-shared.module.d.ts +17 -15
  55. package/package.json +1 -1
  56. package/atr-components.d.ts +0 -5
  57. package/dist/README.md +0 -24
  58. package/esm2020/atr-components.mjs +0 -5
  59. package/esm2020/atr-components.module.mjs +0 -38
  60. package/esm2020/atr-public-api.mjs +0 -55
  61. package/esm2020/core/animations/animations.mjs +0 -10
  62. package/esm2020/core/animations/fly-in.mjs +0 -19
  63. package/esm2020/core/animations/scroll-screen.mjs +0 -23
  64. package/esm2020/core/auth/auth.guard.mjs +0 -37
  65. package/esm2020/core/base/atr-common.mjs +0 -48
  66. package/esm2020/core/directive/error-img.directive.mjs +0 -31
  67. package/esm2020/core/directive/hq-spin.directive.mjs +0 -48
  68. package/esm2020/core/directive/role.directive.mjs +0 -69
  69. package/esm2020/core/interceptor/base.interceptor.mjs +0 -165
  70. package/esm2020/core/ngz-module/cus-zorro-antd.module.mjs +0 -292
  71. package/esm2020/core/pipe/china-num.pipe.mjs +0 -36
  72. package/esm2020/core/pipe/count.pipe.mjs +0 -34
  73. package/esm2020/core/pipe/day.pipe.mjs +0 -24
  74. package/esm2020/core/pipe/defaultVal.pipe.mjs +0 -23
  75. package/esm2020/core/pipe/dicts.pipe.mjs +0 -28
  76. package/esm2020/core/pipe/image-pipe.pipe.mjs +0 -17
  77. package/esm2020/core/pipe/is-empty.pipe.mjs +0 -20
  78. package/esm2020/core/pipe/is-not-empty.pipe.mjs +0 -17
  79. package/esm2020/core/pipe/oss.pipe.mjs +0 -17
  80. package/esm2020/core/pipe/ossStatic.pipe.mjs +0 -17
  81. package/esm2020/core/pipe/pipe-module.module.mjs +0 -40
  82. package/esm2020/core/pipe/remove-html.pipe.mjs +0 -21
  83. package/esm2020/core/pipe/safe-compute.pipe.mjs +0 -23
  84. package/esm2020/core/pipe/safe-html.pipe.mjs +0 -20
  85. package/esm2020/core/pipe/safe-url.pipe.mjs +0 -20
  86. package/esm2020/core/routereuse/atr-reuse-strategy.mjs +0 -79
  87. package/esm2020/core/services/dict/dict.service.mjs +0 -152
  88. package/esm2020/core/services/http.service.mjs +0 -306
  89. package/esm2020/core/services/menu.service.mjs +0 -130
  90. package/esm2020/core/services/upload-oss.service.mjs +0 -74
  91. package/esm2020/core/utils/ToolsUtil.mjs +0 -622
  92. package/esm2020/core/utils/localstorage.util.mjs +0 -94
  93. package/esm2020/core/utils/sessionstorage.util.mjs +0 -73
  94. package/esm2020/lib/hello/hello.component.mjs +0 -15
  95. package/esm2020/lib/hello/hello.module.mjs +0 -22
  96. package/esm2020/lib/shared/atr-shared.module.mjs +0 -199
  97. package/esm2020/lib/shared/echarts/echarts.component.mjs +0 -77
  98. package/esm2020/lib/shared/form/form.component.mjs +0 -574
  99. package/esm2020/lib/shared/img-canvas/img-canvas.component.mjs +0 -132
  100. package/esm2020/lib/shared/local-upload/local-upload.component.mjs +0 -68
  101. package/esm2020/lib/shared/quill-editor/quill-editor.component.mjs +0 -248
  102. package/esm2020/lib/shared/select-icons/select-icons.component.mjs +0 -90
  103. package/esm2020/lib/shared/select-tree/select-tree.component.mjs +0 -55
  104. package/esm2020/lib/shared/service/busi.service.mjs +0 -69
  105. package/esm2020/lib/shared/share.service.mjs +0 -107
  106. package/esm2020/lib/shared/table/table-form-item/table-form-item.component.mjs +0 -96
  107. package/esm2020/lib/shared/table/table-td/table-td.component.mjs +0 -165
  108. package/esm2020/lib/shared/table/table.component.mjs +0 -749
  109. package/esm2020/lib/shared/upload/upload.component.mjs +0 -274
  110. package/esm2020/lib/shared/validators/atr-validtors.mjs +0 -9
  111. package/esm2020/lib/shared/video/video.component.mjs +0 -15
  112. package/esm2020/lib/shared/view-form/view-form.component.mjs +0 -181
  113. package/fesm2015/atr-components.mjs +0 -5523
  114. package/fesm2015/atr-components.mjs.map +0 -1
  115. package/fesm2020/atr-components.mjs +0 -5500
  116. package/fesm2020/atr-components.mjs.map +0 -1
@@ -1,165 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpErrorResponse, HttpResponseBase, HttpResponse } from '@angular/common/http';
3
- import { Observable, of, throwError } from 'rxjs';
4
- import { mergeMap, catchError } from 'rxjs/operators';
5
- import { Router } from '@angular/router';
6
- import { NzNotificationService } from 'ng-zorro-antd/notification';
7
- import { NzMessageService } from 'ng-zorro-antd/message';
8
- import { LocalStorageUtil } from "../utils/localstorage.util";
9
- import { AtrReuseStrategy } from "../routereuse/atr-reuse-strategy";
10
- import { MenuService } from "../services/menu.service";
11
- import { atr_static_datas } from "../base/atr-common";
12
- import * as i0 from "@angular/core";
13
- const CODEMESSAGE = {
14
- 200: '服务器成功返回请求的数据。',
15
- 201: '新建或修改数据成功。',
16
- 202: '一个请求已经进入后台排队(异步任务)。',
17
- 204: '删除数据成功。',
18
- 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',
19
- 401: '用户没有权限(令牌、用户名、密码错误)。',
20
- 403: '用户得到授权,但是访问是被禁止的。',
21
- 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
22
- 406: '请求的格式不可得。',
23
- 410: '请求的资源被永久删除,且不会再得到的。',
24
- 422: '当创建一个对象时,发生一个验证错误。',
25
- 500: '服务器发生错误,请检查服务器。',
26
- 502: '网关错误。',
27
- 503: '服务不可用,服务器暂时过载或维护。',
28
- 504: '网关超时。',
29
- };
30
- export class BaseInterceptor {
31
- constructor(injector) {
32
- this.injector = injector;
33
- }
34
- get notification() {
35
- return this.injector.get(NzNotificationService);
36
- }
37
- get message() {
38
- return this.injector.get(NzMessageService);
39
- }
40
- get menuService() {
41
- return this.injector.get(MenuService);
42
- }
43
- goTo(url, isClearCache) {
44
- // console.log("需要跳转到页面:")
45
- // console.log(url);
46
- setTimeout(() => this.injector.get(Router).navigateByUrl(url));
47
- if (isClearCache) {
48
- setTimeout(() => AtrReuseStrategy.deleteAll(), 50);
49
- }
50
- }
51
- checkStatus(ev) {
52
- if ((ev.status >= 200 && ev.status < 300) || ev.status === 401) {
53
- return;
54
- }
55
- // console.log(ev.status);
56
- // const errortext = CODEMESSAGE[ev.status] || ev.statusText;
57
- this.message.error('网络错误,请稍后重试:' + ev.status);
58
- }
59
- handleData(ev, noTip = false) {
60
- this.checkStatus(ev);
61
- // 业务处理:一些通用操作
62
- switch (ev.status) {
63
- case 200:
64
- // TODO status
65
- // 业务层级错误处理,以下是假定restful有一套统一输出格式(指不管成功与否都有相应的数据格式)情况下进行处理
66
- // 例如响应内容:
67
- // 错误内容:{ status: 1, msg: '非法参数' }
68
- // 正确内容:{ status: 0, response: { } }
69
- // 则以下代码片断可直接适用
70
- if (ev instanceof HttpResponse) {
71
- const body = ev.body;
72
- if (body && body.status === 401) {
73
- if (!noTip) {
74
- this.notification.error(`未登录或登录已过期,请重新登录。`, ``, {
75
- nzKey: 'outTime'
76
- });
77
- }
78
- // TODO 清空 token 信息
79
- LocalStorageUtil.clearUs();
80
- this.menuService.clear();
81
- this.goTo('/p/login', true);
82
- }
83
- else if (body && body.status === 1024) {
84
- // 或者依然保持完整的格式
85
- if (!noTip) {
86
- this.message.error(body.message);
87
- }
88
- }
89
- else if (body && body.status === 1025) {
90
- // 或者依然保持完整的格式
91
- if (!noTip) {
92
- this.message.error(`参数为空。`);
93
- }
94
- }
95
- else if (body && body.status === 503) {
96
- // 或者依然保持完整的格式
97
- if (!noTip) {
98
- this.message.error(body.message);
99
- }
100
- }
101
- else if (body && body.status === 204) {
102
- // 或者依然保持完整的格式
103
- if (!noTip) {
104
- this.message.success(body.message);
105
- }
106
- }
107
- else if (body && body.status === 201) {
108
- // 或者依然保持完整的格式
109
- if (!noTip) {
110
- this.message.success(body.message);
111
- }
112
- }
113
- else {
114
- return of(ev);
115
- }
116
- }
117
- break;
118
- case 401:
119
- this.notification.error(`未登录或登录已过期,请重新登录。`, ``, {
120
- nzKey: 'outTime'
121
- });
122
- // TODO 清空 token 信息
123
- // this.goTo('/p/login',false);
124
- break;
125
- case 403:
126
- case 404:
127
- case 500:
128
- this.goTo(`/exception/${ev.status}`, false);
129
- break;
130
- default:
131
- if (ev instanceof HttpErrorResponse) {
132
- // console.warn('未可知错误,大部分是由于后端不支持CORS或无效配置引起', ev);
133
- return throwError(ev);
134
- }
135
- break;
136
- }
137
- return of(ev);
138
- }
139
- intercept(req, next) {
140
- if (!atr_static_datas.SERVER_URL) {
141
- alert('请配置ip atr_static_datas.SERVER_URL');
142
- return new Observable();
143
- }
144
- // 统一加上服务端前缀
145
- let url = req.url;
146
- if (!url.startsWith('https://') && !url.startsWith('http://')) {
147
- url = atr_static_datas.SERVER_URL + url;
148
- req = req.clone({ url });
149
- }
150
- let noTip = req.headers.get("noTip");
151
- return next.handle(req).pipe(mergeMap((event) => {
152
- // 允许统一对请求错误处理
153
- if (event instanceof HttpResponseBase)
154
- return this.handleData(event, noTip == "1");
155
- // 若一切都正常,则后续操作
156
- return of(event);
157
- }), catchError((err) => this.handleData(err, noTip == "1")));
158
- }
159
- }
160
- BaseInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
161
- BaseInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseInterceptor });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseInterceptor, decorators: [{
163
- type: Injectable
164
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvaW50ZXJjZXB0b3IvYmFzZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBd0QsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDNUosT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFHLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFcEQsTUFBTSxXQUFXLEdBQUc7SUFDaEIsR0FBRyxFQUFFLGVBQWU7SUFDcEIsR0FBRyxFQUFFLFlBQVk7SUFDakIsR0FBRyxFQUFFLHFCQUFxQjtJQUMxQixHQUFHLEVBQUUsU0FBUztJQUNkLEdBQUcsRUFBRSw2QkFBNkI7SUFDbEMsR0FBRyxFQUFFLHNCQUFzQjtJQUMzQixHQUFHLEVBQUUsbUJBQW1CO0lBQ3hCLEdBQUcsRUFBRSw0QkFB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QUFDO1lBQ2xGLGVBQWU7WUFDZixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7OzZHQTdITSxlQUFlO2lIQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVzcG9uc2VCYXNlLCBIdHRwUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiAsdGhyb3dFcnJvciAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE56Tm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHtOek1lc3NhZ2VTZXJ2aWNlfSBmcm9tICduZy16b3Jyby1hbnRkL21lc3NhZ2UnO1xyXG5pbXBvcnQge0xvY2FsU3RvcmFnZVV0aWx9IGZyb20gXCIuLi91dGlscy9sb2NhbHN0b3JhZ2UudXRpbFwiO1xyXG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tIFwibmctem9ycm8tYW50ZC9jb3JlL2Vudmlyb25tZW50c1wiO1xyXG5pbXBvcnQge0F0clJldXNlU3RyYXRlZ3l9IGZyb20gXCIuLi9yb3V0ZXJldXNlL2F0ci1yZXVzZS1zdHJhdGVneVwiO1xyXG5pbXBvcnQge01lbnVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7YXRyX3N0YXRpY19kYXRhc30gZnJvbSBcIi4uL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5cclxuY29uc3QgQ09ERU1FU1NBR0UgPSB7XHJcbiAgICAyMDA6ICfmnI3liqHlmajmiJDlip/ov5Tlm57or7fmsYLnmoTmlbDmja7jgIInLFxyXG4gICAgMjAxOiAn5paw5bu65oiW5L+u5pS55pWw5o2u5oiQ5Yqf44CCJyxcclxuICAgIDIwMjogJ+S4gOS4quivt+axguW3sue7j+i/m+WFpeWQjuWPsOaOkumYn++8iOW8guatpeS7u+WKoe+8ieOAgicsXHJcbiAgICAyMDQ6ICfliKDpmaTmlbDmja7miJDlip/jgIInLFxyXG4gICAgNDAwOiAn5Y+R5Ye655qE6K+35rGC5pyJ6ZSZ6K+v77yM5pyN5Yqh5Zmo5rKh5pyJ6L+b6KGM5paw5bu65oiW5L+u5pS55pWw5o2u55qE5pON5L2c44CCJyxcclxuICAgIDQwMTogJ+eUqOaIt+ayoeacieadg+mZkO+8iOS7pOeJjOOAgeeUqOaIt+WQjeOAgeWvhueggemUmeivr++8ieOAgicsXHJcbiAgICA0MDM6ICfnlKjmiLflvpfliLDmjojmnYPvvIzkvYbmmK/orr/pl67mmK/ooqvnpoHmraLnmoTjgIInLFxyXG4gICAgNDA0OiAn5Y+R5Ye655qE6K+35rGC6ZKI5a+555qE5piv5LiN5a2Y5Zyo55qE6K6w5b2V77yM5pyN5Yqh5Zmo5rKh5pyJ6L+b6KGM5pON5L2c44CCJyxcclxuICAgIDQwNjogJ+ivt+axgueahOagvOW8j+S4jeWPr+W+l+OAgicsXHJcbiAgICA0MTA6ICfor7fmsYLnmoTotYTmupDooqvmsLjkuYXliKDpmaTvvIzkuJTkuI3kvJrlho3lvpfliLDnmoTjgIInLFxyXG4gICAgNDIyOiAn5b2T5Yib5bu65LiA5Liq5a+56LGh5pe277yM5Y+R55Sf5LiA5Liq6aqM6K+B6ZSZ6K+v44CCJyxcclxuICAgIDUwMDogJ+acjeWKoeWZqOWPkeeUn+mUmeivr++8jOivt+ajgOafpeacjeWKoeWZqOOAgicsXHJcbiAgICA1MDI6ICfnvZHlhbPplJnor6/jgIInLFxyXG4gICAgNTAzOiAn5pyN5Yqh5LiN5Y+v55So77yM5pyN5Yqh5Zmo5pqC5pe26L+H6L295oiW57u05oqk44CCJyxcclxuICAgIDUwNDogJ+e9keWFs+i2heaXtuOAgicsXHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3J7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cclxuICAgIHByaXZhdGUgZ2V0IG5vdGlmaWNhdGlvbigpOiBOek5vdGlmaWNhdGlvblNlcnZpY2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChOek5vdGlmaWNhdGlvblNlcnZpY2UpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBnZXQgbWVzc2FnZSgpOiBOek1lc3NhZ2VTZXJ2aWNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTnpNZXNzYWdlU2VydmljZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldCBtZW51U2VydmljZSgpOiBNZW51U2VydmljZXtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTWVudVNlcnZpY2UpXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnb1RvKHVybDogc3RyaW5nLGlzQ2xlYXJDYWNoZTpib29sZWFuKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwi6ZyA6KaB6Lez6L2s5Yiw6aG16Z2i77yaXCIpXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHVybCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKS5uYXZpZ2F0ZUJ5VXJsKHVybCkpO1xyXG4gICAgICBpZihpc0NsZWFyQ2FjaGUpe1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCk9PiAgQXRyUmV1c2VTdHJhdGVneS5kZWxldGVBbGwoKSw1MCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrU3RhdHVzKGV2OiBIdHRwUmVzcG9uc2VCYXNlKSB7XHJcbiAgICAgICAgaWYgKChldi5zdGF0dXMgPj0gMjAwICYmIGV2LnN0YXR1cyA8IDMwMCkgfHwgZXYuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZXYuc3RhdHVzKTtcclxuICAgICAgICAvLyBjb25zdCBlcnJvcnRleHQgPSBDT0RFTUVTU0FHRVtldi5zdGF0dXNdIHx8IGV2LnN0YXR1c1RleHQ7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlLmVycm9yKCfnvZHnu5zplJnor68s6K+356iN5ZCO6YeN6K+V77yaJyArIGV2LnN0YXR1cyk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGhhbmRsZURhdGEoZXY6IEh0dHBSZXNwb25zZUJhc2Usbm9UaXAgPSBmYWxzZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgdGhpcy5jaGVja1N0YXR1cyhldik7XHJcbiAgICAgICAgLy8g5Lia5Yqh5aSE55CG77ya5LiA5Lqb6YCa55So5pON5L2cXHJcbiAgICAgICAgc3dpdGNoIChldi5zdGF0dXMpIHtcclxuICAgICAgICAgIGNhc2UgMjAwOlxyXG4gICAgICAgICAgICAvLyBUT0RPIHN0YXR1c1xyXG4gICAgICAgICAgICAvLyDkuJrliqHlsYLnuqfplJnor6/lpITnkIbvvIzku6XkuIvmmK/lgYflrppyZXN0ZnVs5pyJ5LiA5aWX57uf5LiA6L6T5Ye65qC85byP77yI5oyH5LiN566h5oiQ5Yqf5LiO5ZCm6YO95pyJ55u45bqU55qE5pWw5o2u5qC85byP77yJ5oOF5Ya15LiL6L+b6KGM5aSE55CGXHJcbiAgICAgICAgICAgIC8vIOS+i+WmguWTjeW6lOWGheWuue+8mlxyXG4gICAgICAgICAgICAvLyAg6ZSZ6K+v5YaF5a6577yaeyBzdGF0dXM6IDEsIG1zZzogJ+mdnuazleWPguaVsCcgfVxyXG4gICAgICAgICAgICAvLyAg5q2j56Gu5YaF5a6577yaeyBzdGF0dXM6IDAsIHJlc3BvbnNlOiB7ICB9IH1cclxuICAgICAgICAgICAgLy8g5YiZ5Lul5LiL5Luj56CB54mH5pat5Y+v55u05o6l6YCC55SoXHJcbiAgICAgICAgICAgIGlmIChldiBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keTogYW55ID0gZXYuYm9keTtcclxuICAgICAgICAgICAgICAgIGlmIChib2R5ICYmIGJvZHkuc3RhdHVzID09PSA0MDEgKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoYOacqueZu+W9leaIlueZu+W9leW3sui/h+acn++8jOivt+mHjeaWsOeZu+W9leOAgmAsIGBgLHtcclxuICAgICAgICAgICAgICAgICAgICAgIG56S2V5OiAnb3V0VGltZSdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAvLyBUT0RPIOa4heepuiB0b2tlbiDkv6Hmga9cclxuICAgICAgICAgICAgICAgICAgTG9jYWxTdG9yYWdlVXRpbC5jbGVhclVzKClcclxuICAgICAgICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdvVG8oJy9wL2xvZ2luJyx0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZihib2R5ICYmIGJvZHkuc3RhdHVzID09PSAxMDI0KXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5lcnJvcihib2R5Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gMTAyNSl7XHJcbiAgICAgICAgICAgICAgICAgIC8vIOaIluiAheS+neeEtuS/neaMgeWujOaVtOeahOagvOW8j1xyXG4gICAgICAgICAgICAgICAgICBpZighbm9UaXApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UuZXJyb3IoYOWPguaVsOS4uuepuuOAgmApO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gNTAzKXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5lcnJvcihib2R5Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ZWxzZSBpZihib2R5ICYmIGJvZHkuc3RhdHVzID09PSAyMDQpe1xyXG4gICAgICAgICAgICAgICAgICAvLyDmiJbogIXkvp3nhLbkv53mjIHlrozmlbTnmoTmoLzlvI9cclxuICAgICAgICAgICAgICAgICAgaWYoIW5vVGlwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlLnN1Y2Nlc3MoYm9keS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfWVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gMjAxKXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5zdWNjZXNzKGJvZHkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGDmnKrnmbvlvZXmiJbnmbvlvZXlt7Lov4fmnJ/vvIzor7fph43mlrDnmbvlvZXjgIJgLCBgYCx7XHJcbiAgICAgICAgICAgICAgbnpLZXk6ICdvdXRUaW1lJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgLy8gVE9ETyDmuIXnqbogdG9rZW4g5L+h5oGvXHJcblxyXG4gICAgICAgICAgICAvLyB0aGlzLmdvVG8oJy9wL2xvZ2luJyxmYWxzZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA0MDM6XHJcbiAgICAgICAgICBjYXNlIDQwNDpcclxuICAgICAgICAgIGNhc2UgNTAwOlxyXG4gICAgICAgICAgICB0aGlzLmdvVG8oYC9leGNlcHRpb24vJHtldi5zdGF0dXN9YCxmYWxzZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGV2IGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICAvLyBjb25zb2xlLndhcm4oJ+acquWPr+efpemUmeivr++8jOWkp+mDqOWIhuaYr+eUseS6juWQjuerr+S4jeaUr+aMgUNPUlPmiJbml6DmlYjphY3nva7lvJXotbcnLCBldik7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb2YoZXYpO1xyXG4gICAgICB9XHJcbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgICAgaWYoIWF0cl9zdGF0aWNfZGF0YXMuU0VSVkVSX1VSTCl7XHJcbiAgICAgICAgYWxlcnQoJ+ivt+mFjee9rmlwIGF0cl9zdGF0aWNfZGF0YXMuU0VSVkVSX1VSTCcpXHJcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgICAgICAvLyDnu5/kuIDliqDkuIrmnI3liqHnq6/liY3nvIBcclxuICAgICAgICBsZXQgdXJsID0gcmVxLnVybDtcclxuICAgICAgICBpZiAoIXVybC5zdGFydHNXaXRoKCdodHRwczovLycpICYmICF1cmwuc3RhcnRzV2l0aCgnaHR0cDovLycpKSB7XHJcbiAgICAgICAgICB1cmwgPSBhdHJfc3RhdGljX2RhdGFzLlNFUlZFUl9VUkwgKyB1cmw7XHJcbiAgICAgICAgICByZXEgPSByZXEuY2xvbmUoeyB1cmwgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICBsZXQgbm9UaXAgPSByZXEuaGVhZGVycy5nZXQoXCJub1RpcFwiKTtcclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICAgICAgbWVyZ2VNYXAoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLy8g5YWB6K6457uf5LiA5a+56K+35rGC6ZSZ6K+v5aSE55CGXHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZUJhc2UpIHJldHVybiB0aGlzLmhhbmRsZURhdGEoZXZlbnQsbm9UaXAgPT0gXCIxXCIpO1xyXG4gICAgICAgICAgICAvLyDoi6XkuIDliIfpg73mraPluLjvvIzliJnlkI7nu63mk43kvZxcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGV2ZW50KTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVEYXRhKGVycixub1RpcCA9PSBcIjFcIikpLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxufVxyXG4iXX0=
@@ -1,292 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { NzAffixModule } from 'ng-zorro-antd/affix';
3
- import { NzAlertModule } from 'ng-zorro-antd/alert';
4
- import { NzAnchorModule } from 'ng-zorro-antd/anchor';
5
- import { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete';
6
- import { NzAvatarModule } from 'ng-zorro-antd/avatar';
7
- import { NzBackTopModule } from 'ng-zorro-antd/back-top';
8
- import { NzBadgeModule } from 'ng-zorro-antd/badge';
9
- import { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';
10
- import { NzButtonModule } from 'ng-zorro-antd/button';
11
- import { NzCalendarModule } from 'ng-zorro-antd/calendar';
12
- import { NzCardModule } from 'ng-zorro-antd/card';
13
- import { NzCarouselModule } from 'ng-zorro-antd/carousel';
14
- import { NzCascaderModule } from 'ng-zorro-antd/cascader';
15
- import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
16
- import { NzCollapseModule } from 'ng-zorro-antd/collapse';
17
- import { NzCommentModule } from 'ng-zorro-antd/comment';
18
- import { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';
19
- import { NzTransButtonModule } from 'ng-zorro-antd/core/trans-button';
20
- import { NzWaveModule } from 'ng-zorro-antd/core/wave';
21
- import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
22
- import { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';
23
- import { NzDividerModule } from 'ng-zorro-antd/divider';
24
- import { NzDrawerModule } from 'ng-zorro-antd/drawer';
25
- import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
26
- import { NzEmptyModule } from 'ng-zorro-antd/empty';
27
- import { NzFormModule } from 'ng-zorro-antd/form';
28
- import { NzGridModule } from 'ng-zorro-antd/grid';
29
- import { NzI18nModule } from 'ng-zorro-antd/i18n';
30
- import { NzIconModule } from 'ng-zorro-antd/icon';
31
- import { NzInputModule } from 'ng-zorro-antd/input';
32
- import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
33
- import { NzLayoutModule } from 'ng-zorro-antd/layout';
34
- import { NzListModule } from 'ng-zorro-antd/list';
35
- import { NzMentionModule } from 'ng-zorro-antd/mention';
36
- import { NzMenuModule } from 'ng-zorro-antd/menu';
37
- import { NzMessageModule } from 'ng-zorro-antd/message';
38
- import { NzModalModule } from 'ng-zorro-antd/modal';
39
- import { NzNotificationModule } from 'ng-zorro-antd/notification';
40
- import { NzPageHeaderModule } from 'ng-zorro-antd/page-header';
41
- import { NzPaginationModule } from 'ng-zorro-antd/pagination';
42
- import { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';
43
- import { NzPopoverModule } from 'ng-zorro-antd/popover';
44
- import { NzProgressModule } from 'ng-zorro-antd/progress';
45
- import { NzRadioModule } from 'ng-zorro-antd/radio';
46
- import { NzRateModule } from 'ng-zorro-antd/rate';
47
- import { NzResultModule } from 'ng-zorro-antd/result';
48
- import { NzSelectModule } from 'ng-zorro-antd/select';
49
- import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
50
- import { NzSliderModule } from 'ng-zorro-antd/slider';
51
- import { NzSpinModule } from 'ng-zorro-antd/spin';
52
- import { NzStatisticModule } from 'ng-zorro-antd/statistic';
53
- import { NzStepsModule } from 'ng-zorro-antd/steps';
54
- import { NzSwitchModule } from 'ng-zorro-antd/switch';
55
- import { NzTableModule } from 'ng-zorro-antd/table';
56
- import { NzTabsModule } from 'ng-zorro-antd/tabs';
57
- import { NzTagModule } from 'ng-zorro-antd/tag';
58
- import { NzTimePickerModule } from 'ng-zorro-antd/time-picker';
59
- import { NzTimelineModule } from 'ng-zorro-antd/timeline';
60
- import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
61
- import { NzTransferModule } from 'ng-zorro-antd/transfer';
62
- import { NzTreeModule } from 'ng-zorro-antd/tree';
63
- import { NzTreeSelectModule } from 'ng-zorro-antd/tree-select';
64
- import { NzTypographyModule } from 'ng-zorro-antd/typography';
65
- import { NzUploadModule } from 'ng-zorro-antd/upload';
66
- import { NzResizableModule } from 'ng-zorro-antd/resizable';
67
- import { FormsModule, ReactiveFormsModule } from "@angular/forms";
68
- import { CommonModule } from "@angular/common";
69
- import { NzSpaceModule } from 'ng-zorro-antd/space';
70
- import { NzImageModule } from 'ng-zorro-antd/image';
71
- import * as i0 from "@angular/core";
72
- export class CusNgZorroAntdModule {
73
- }
74
- CusNgZorroAntdModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CusNgZorroAntdModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
75
- CusNgZorroAntdModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CusNgZorroAntdModule, exports: [CommonModule,
76
- NzSpaceModule,
77
- NzAffixModule,
78
- NzAlertModule,
79
- NzAnchorModule,
80
- NzAutocompleteModule,
81
- NzAvatarModule,
82
- NzBackTopModule,
83
- NzBadgeModule,
84
- NzButtonModule,
85
- NzBreadCrumbModule,
86
- NzCalendarModule,
87
- NzCardModule,
88
- NzCarouselModule,
89
- NzCascaderModule,
90
- NzCheckboxModule,
91
- NzCollapseModule,
92
- NzCommentModule,
93
- NzDatePickerModule,
94
- NzDescriptionsModule,
95
- NzDividerModule,
96
- NzDrawerModule,
97
- NzDropDownModule,
98
- NzEmptyModule,
99
- NzFormModule,
100
- NzGridModule,
101
- NzI18nModule,
102
- NzIconModule,
103
- NzInputModule,
104
- NzInputNumberModule,
105
- NzLayoutModule,
106
- NzListModule,
107
- NzMentionModule,
108
- NzMenuModule,
109
- NzMessageModule,
110
- NzModalModule,
111
- NzNoAnimationModule,
112
- NzNotificationModule,
113
- NzPageHeaderModule,
114
- NzPaginationModule,
115
- NzPopconfirmModule,
116
- NzPopoverModule,
117
- NzProgressModule,
118
- NzRadioModule,
119
- NzRateModule,
120
- NzResultModule,
121
- NzSelectModule,
122
- NzSkeletonModule,
123
- NzSliderModule,
124
- NzSpinModule,
125
- NzStatisticModule,
126
- NzStepsModule,
127
- NzSwitchModule,
128
- NzTableModule,
129
- NzTabsModule,
130
- NzTagModule,
131
- NzTimePickerModule,
132
- NzTimelineModule,
133
- NzToolTipModule,
134
- NzTransButtonModule,
135
- NzTransferModule,
136
- NzTreeModule,
137
- NzTreeSelectModule,
138
- NzTypographyModule,
139
- NzUploadModule,
140
- NzWaveModule,
141
- NzResizableModule,
142
- FormsModule,
143
- ReactiveFormsModule,
144
- NzImageModule] });
145
- CusNgZorroAntdModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CusNgZorroAntdModule, imports: [CommonModule,
146
- NzSpaceModule,
147
- NzAffixModule,
148
- NzAlertModule,
149
- NzAnchorModule,
150
- NzAutocompleteModule,
151
- NzAvatarModule,
152
- NzBackTopModule,
153
- NzBadgeModule,
154
- NzButtonModule,
155
- NzBreadCrumbModule,
156
- NzCalendarModule,
157
- NzCardModule,
158
- NzCarouselModule,
159
- NzCascaderModule,
160
- NzCheckboxModule,
161
- NzCollapseModule,
162
- NzCommentModule,
163
- NzDatePickerModule,
164
- NzDescriptionsModule,
165
- NzDividerModule,
166
- NzDrawerModule,
167
- NzDropDownModule,
168
- NzEmptyModule,
169
- NzFormModule,
170
- NzGridModule,
171
- NzI18nModule,
172
- NzIconModule,
173
- NzInputModule,
174
- NzInputNumberModule,
175
- NzLayoutModule,
176
- NzListModule,
177
- NzMentionModule,
178
- NzMenuModule,
179
- NzMessageModule,
180
- NzModalModule,
181
- NzNoAnimationModule,
182
- NzNotificationModule,
183
- NzPageHeaderModule,
184
- NzPaginationModule,
185
- NzPopconfirmModule,
186
- NzPopoverModule,
187
- NzProgressModule,
188
- NzRadioModule,
189
- NzRateModule,
190
- NzResultModule,
191
- NzSelectModule,
192
- NzSkeletonModule,
193
- NzSliderModule,
194
- NzSpinModule,
195
- NzStatisticModule,
196
- NzStepsModule,
197
- NzSwitchModule,
198
- NzTableModule,
199
- NzTabsModule,
200
- NzTagModule,
201
- NzTimePickerModule,
202
- NzTimelineModule,
203
- NzToolTipModule,
204
- NzTransButtonModule,
205
- NzTransferModule,
206
- NzTreeModule,
207
- NzTreeSelectModule,
208
- NzTypographyModule,
209
- NzUploadModule,
210
- NzWaveModule,
211
- NzResizableModule,
212
- FormsModule,
213
- ReactiveFormsModule,
214
- NzImageModule] });
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CusNgZorroAntdModule, decorators: [{
216
- type: NgModule,
217
- args: [{
218
- exports: [
219
- CommonModule,
220
- NzSpaceModule,
221
- NzAffixModule,
222
- NzAlertModule,
223
- NzAnchorModule,
224
- NzAutocompleteModule,
225
- NzAvatarModule,
226
- NzBackTopModule,
227
- NzBadgeModule,
228
- NzButtonModule,
229
- NzBreadCrumbModule,
230
- NzCalendarModule,
231
- NzCardModule,
232
- NzCarouselModule,
233
- NzCascaderModule,
234
- NzCheckboxModule,
235
- NzCollapseModule,
236
- NzCommentModule,
237
- NzDatePickerModule,
238
- NzDescriptionsModule,
239
- NzDividerModule,
240
- NzDrawerModule,
241
- NzDropDownModule,
242
- NzEmptyModule,
243
- NzFormModule,
244
- NzGridModule,
245
- NzI18nModule,
246
- NzIconModule,
247
- NzInputModule,
248
- NzInputNumberModule,
249
- NzLayoutModule,
250
- NzListModule,
251
- NzMentionModule,
252
- NzMenuModule,
253
- NzMessageModule,
254
- NzModalModule,
255
- NzNoAnimationModule,
256
- NzNotificationModule,
257
- NzPageHeaderModule,
258
- NzPaginationModule,
259
- NzPopconfirmModule,
260
- NzPopoverModule,
261
- NzProgressModule,
262
- NzRadioModule,
263
- NzRateModule,
264
- NzResultModule,
265
- NzSelectModule,
266
- NzSkeletonModule,
267
- NzSliderModule,
268
- NzSpinModule,
269
- NzStatisticModule,
270
- NzStepsModule,
271
- NzSwitchModule,
272
- NzTableModule,
273
- NzTabsModule,
274
- NzTagModule,
275
- NzTimePickerModule,
276
- NzTimelineModule,
277
- NzToolTipModule,
278
- NzTransButtonModule,
279
- NzTransferModule,
280
- NzTreeModule,
281
- NzTreeSelectModule,
282
- NzTypographyModule,
283
- NzUploadModule,
284
- NzWaveModule,
285
- NzResizableModule,
286
- FormsModule,
287
- ReactiveFormsModule,
288
- NzImageModule
289
- ]
290
- }]
291
- }] });
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzLXpvcnJvLWFudGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9uZ3otbW9kdWxlL2N1cy16b3Jyby1hbnRkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUE0RWxELE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixZQXhFN0IsWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtRQUNiLGNBQWM7UUFDZCxvQkFBb0I7UUFDcEIsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLFlBQVk7UUFDWixlQUFlO1FBQ2YsWUFBWTtRQUNaLGVBQWU7UUFDZixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixZQUFZO1FBQ1osY0FBYztRQUNkLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGNBQWM7UUFDZCxhQUFhO1FBQ2IsWUFBWTtRQUNaLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBYTttSEFHSixvQkFBb0IsWUF4RTdCLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLGFBQWE7UUFDYixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsZUFBZTtRQUNmLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxZQUFZO1FBQ1osZUFBZTtRQUNmLFlBQVk7UUFDWixlQUFlO1FBQ2YsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsWUFBWTtRQUNaLGNBQWM7UUFDZCxjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixjQUFjO1FBQ2QsYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7NEZBR0osb0JBQW9CO2tCQTFFaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTnpBZmZpeE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYWZmaXgnO1xyXG5pbXBvcnQgeyBOekFsZXJ0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9hbGVydCc7XHJcbmltcG9ydCB7IE56QW5jaG9yTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9hbmNob3InO1xyXG5pbXBvcnQgeyBOekF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYXV0by1jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE56QXZhdGFyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9hdmF0YXInO1xyXG5pbXBvcnQgeyBOekJhY2tUb3BNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2JhY2stdG9wJztcclxuaW1wb3J0IHsgTnpCYWRnZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYmFkZ2UnO1xyXG5pbXBvcnQgeyBOekJyZWFkQ3J1bWJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2JyZWFkY3J1bWInO1xyXG5pbXBvcnQgeyBOekJ1dHRvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYnV0dG9uJztcclxuaW1wb3J0IHsgTnpDYWxlbmRhck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBOekNhcmRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NhcmQnO1xyXG5pbXBvcnQgeyBOekNhcm91c2VsTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jYXJvdXNlbCc7XHJcbmltcG9ydCB7IE56Q2FzY2FkZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2Nhc2NhZGVyJztcclxuaW1wb3J0IHsgTnpDaGVja2JveE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBOekNvbGxhcHNlTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb2xsYXBzZSc7XHJcbmltcG9ydCB7IE56Q29tbWVudE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29tbWVudCc7XHJcbmltcG9ydCB7IE56Tm9BbmltYXRpb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvbm8tYW5pbWF0aW9uJztcclxuaW1wb3J0IHsgTnpUcmFuc0J1dHRvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90cmFucy1idXR0b24nO1xyXG5pbXBvcnQgeyBOeldhdmVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvd2F2ZSc7XHJcbmltcG9ydCB7IE56RGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZGF0ZS1waWNrZXInO1xyXG5pbXBvcnQgeyBOekRlc2NyaXB0aW9uc01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZGVzY3JpcHRpb25zJztcclxuaW1wb3J0IHsgTnpEaXZpZGVyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTnpEcmF3ZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2RyYXdlcic7XHJcbmltcG9ydCB7IE56RHJvcERvd25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgTnpFbXB0eU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZW1wdHknO1xyXG5pbXBvcnQgeyBOekZvcm1Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2Zvcm0nO1xyXG5pbXBvcnQgeyBOekdyaWRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2dyaWQnO1xyXG5pbXBvcnQgeyBOekkxOG5Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2kxOG4nO1xyXG5pbXBvcnQgeyBOekljb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xyXG5pbXBvcnQgeyBOeklucHV0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pbnB1dCc7XHJcbmltcG9ydCB7IE56SW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2lucHV0LW51bWJlcic7XHJcbmltcG9ydCB7IE56TGF5b3V0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9sYXlvdXQnO1xyXG5pbXBvcnQgeyBOekxpc3RNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2xpc3QnO1xyXG5pbXBvcnQgeyBOek1lbnRpb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL21lbnRpb24nO1xyXG5pbXBvcnQgeyBOek1lbnVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL21lbnUnO1xyXG5pbXBvcnQgeyBOek1lc3NhZ2VNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL21lc3NhZ2UnO1xyXG5pbXBvcnQgeyBOek1vZGFsTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9tb2RhbCc7XHJcbmltcG9ydCB7IE56Tm90aWZpY2F0aW9uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBOelBhZ2VIZWFkZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3BhZ2UtaGVhZGVyJztcclxuaW1wb3J0IHsgTnpQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgTnpQb3Bjb25maXJtTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9wb3Bjb25maXJtJztcclxuaW1wb3J0IHsgTnpQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9wb3BvdmVyJztcclxuaW1wb3J0IHsgTnpQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcHJvZ3Jlc3MnO1xyXG5pbXBvcnQgeyBOelJhZGlvTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9yYWRpbyc7XHJcbmltcG9ydCB7IE56UmF0ZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmF0ZSc7XHJcbmltcG9ydCB7IE56UmVzdWx0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9yZXN1bHQnO1xyXG5pbXBvcnQgeyBOelNlbGVjdE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvc2VsZWN0JztcclxuaW1wb3J0IHsgTnpTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvc2tlbGV0b24nO1xyXG5pbXBvcnQgeyBOelNsaWRlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvc2xpZGVyJztcclxuaW1wb3J0IHsgTnpTcGluTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9zcGluJztcclxuaW1wb3J0IHsgTnpTdGF0aXN0aWNNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3N0YXRpc3RpYyc7XHJcbmltcG9ydCB7IE56U3RlcHNNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3N0ZXBzJztcclxuaW1wb3J0IHsgTnpTd2l0Y2hNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3N3aXRjaCc7XHJcbmltcG9ydCB7IE56VGFibGVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RhYmxlJztcclxuaW1wb3J0IHsgTnpUYWJzTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC90YWJzJztcclxuaW1wb3J0IHsgTnpUYWdNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RhZyc7XHJcbmltcG9ydCB7IE56VGltZVBpY2tlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdGltZS1waWNrZXInO1xyXG5pbXBvcnQgeyBOelRpbWVsaW5lTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC90aW1lbGluZSc7XHJcbmltcG9ydCB7IE56VG9vbFRpcE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE56VHJhbnNmZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyYW5zZmVyJztcclxuaW1wb3J0IHsgTnpUcmVlTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC90cmVlJztcclxuaW1wb3J0IHsgTnpUcmVlU2VsZWN0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC90cmVlLXNlbGVjdCc7XHJcbmltcG9ydCB7IE56VHlwb2dyYXBoeU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdHlwb2dyYXBoeSc7XHJcbmltcG9ydCB7IE56VXBsb2FkTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC91cGxvYWQnO1xyXG5pbXBvcnQgeyBOelJlc2l6YWJsZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmVzaXphYmxlJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE56U3BhY2VNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NwYWNlJztcclxuaW1wb3J0IHtOekltYWdlTW9kdWxlfSBmcm9tICduZy16b3Jyby1hbnRkL2ltYWdlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTnpTcGFjZU1vZHVsZSxcclxuICAgIE56QWZmaXhNb2R1bGUsXHJcbiAgICBOekFsZXJ0TW9kdWxlLFxyXG4gICAgTnpBbmNob3JNb2R1bGUsXHJcbiAgICBOekF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIE56QXZhdGFyTW9kdWxlLFxyXG4gICAgTnpCYWNrVG9wTW9kdWxlLFxyXG4gICAgTnpCYWRnZU1vZHVsZSxcclxuICAgIE56QnV0dG9uTW9kdWxlLFxyXG4gICAgTnpCcmVhZENydW1iTW9kdWxlLFxyXG4gICAgTnpDYWxlbmRhck1vZHVsZSxcclxuICAgIE56Q2FyZE1vZHVsZSxcclxuICAgIE56Q2Fyb3VzZWxNb2R1bGUsXHJcbiAgICBOekNhc2NhZGVyTW9kdWxlLFxyXG4gICAgTnpDaGVja2JveE1vZHVsZSxcclxuICAgIE56Q29sbGFwc2VNb2R1bGUsXHJcbiAgICBOekNvbW1lbnRNb2R1bGUsXHJcbiAgICBOekRhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBOekRlc2NyaXB0aW9uc01vZHVsZSxcclxuICAgIE56RGl2aWRlck1vZHVsZSxcclxuICAgIE56RHJhd2VyTW9kdWxlLFxyXG4gICAgTnpEcm9wRG93bk1vZHVsZSxcclxuICAgIE56RW1wdHlNb2R1bGUsXHJcbiAgICBOekZvcm1Nb2R1bGUsXHJcbiAgICBOekdyaWRNb2R1bGUsXHJcbiAgICBOekkxOG5Nb2R1bGUsXHJcbiAgICBOekljb25Nb2R1bGUsXHJcbiAgICBOeklucHV0TW9kdWxlLFxyXG4gICAgTnpJbnB1dE51bWJlck1vZHVsZSxcclxuICAgIE56TGF5b3V0TW9kdWxlLFxyXG4gICAgTnpMaXN0TW9kdWxlLFxyXG4gICAgTnpNZW50aW9uTW9kdWxlLFxyXG4gICAgTnpNZW51TW9kdWxlLFxyXG4gICAgTnpNZXNzYWdlTW9kdWxlLFxyXG4gICAgTnpNb2RhbE1vZHVsZSxcclxuICAgIE56Tm9BbmltYXRpb25Nb2R1bGUsXHJcbiAgICBOek5vdGlmaWNhdGlvbk1vZHVsZSxcclxuICAgIE56UGFnZUhlYWRlck1vZHVsZSxcclxuICAgIE56UGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIE56UG9wY29uZmlybU1vZHVsZSxcclxuICAgIE56UG9wb3Zlck1vZHVsZSxcclxuICAgIE56UHJvZ3Jlc3NNb2R1bGUsXHJcbiAgICBOelJhZGlvTW9kdWxlLFxyXG4gICAgTnpSYXRlTW9kdWxlLFxyXG4gICAgTnpSZXN1bHRNb2R1bGUsXHJcbiAgICBOelNlbGVjdE1vZHVsZSxcclxuICAgIE56U2tlbGV0b25Nb2R1bGUsXHJcbiAgICBOelNsaWRlck1vZHVsZSxcclxuICAgIE56U3Bpbk1vZHVsZSxcclxuICAgIE56U3RhdGlzdGljTW9kdWxlLFxyXG4gICAgTnpTdGVwc01vZHVsZSxcclxuICAgIE56U3dpdGNoTW9kdWxlLFxyXG4gICAgTnpUYWJsZU1vZHVsZSxcclxuICAgIE56VGFic01vZHVsZSxcclxuICAgIE56VGFnTW9kdWxlLFxyXG4gICAgTnpUaW1lUGlja2VyTW9kdWxlLFxyXG4gICAgTnpUaW1lbGluZU1vZHVsZSxcclxuICAgIE56VG9vbFRpcE1vZHVsZSxcclxuICAgIE56VHJhbnNCdXR0b25Nb2R1bGUsXHJcbiAgICBOelRyYW5zZmVyTW9kdWxlLFxyXG4gICAgTnpUcmVlTW9kdWxlLFxyXG4gICAgTnpUcmVlU2VsZWN0TW9kdWxlLFxyXG4gICAgTnpUeXBvZ3JhcGh5TW9kdWxlLFxyXG4gICAgTnpVcGxvYWRNb2R1bGUsXHJcbiAgICBOeldhdmVNb2R1bGUsXHJcbiAgICBOelJlc2l6YWJsZU1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE56SW1hZ2VNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXNOZ1pvcnJvQW50ZE1vZHVsZSB7XHJcblxyXG59XHJcblxyXG5cclxuIl19
@@ -1,36 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ChinaNumPipe {
4
- transform(value, ...args) {
5
- let changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
6
- let unit = ["", "十", "百", "千", "万"];
7
- if (!value)
8
- return value;
9
- if (typeof value === 'number') {
10
- let getWan = (temp) => {
11
- let strArr = temp.toString().split("").reverse();
12
- let newNum = "";
13
- for (var i = 0; i < strArr.length; i++) {
14
- newNum = (i == 0 && strArr[i] == 0 ? "" : (i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? "" : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i]))) + newNum;
15
- }
16
- return newNum;
17
- };
18
- let overWan = Math.floor(value / 10000);
19
- let noWan = value % 10000 + "";
20
- if (noWan.toString().length < 4) {
21
- noWan = "0" + noWan;
22
- }
23
- return overWan ? getWan(overWan) + "万" + getWan(noWan) + "、" : getWan(value) + "、";
24
- }
25
- return "";
26
- }
27
- }
28
- ChinaNumPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChinaNumPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
29
- ChinaNumPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChinaNumPipe, name: "chinaNum" });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChinaNumPipe, decorators: [{
31
- type: Pipe,
32
- args: [{
33
- name: 'chinaNum'
34
- }]
35
- }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbmEtbnVtLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL3BpcGUvY2hpbmEtbnVtLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBRyxJQUFXO1FBQ2xDLElBQUksU0FBUyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkUsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBRyxDQUFDLEtBQUs7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN4QixJQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM1QixJQUFJLE1BQU0sR0FBRyxDQUFDLElBQVEsRUFBRSxFQUFFO2dCQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqRCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN0QyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO2lCQUN4SztnQkFDQSxPQUFPLE1BQU0sQ0FBQztZQUNqQixDQUFDLENBQUE7WUFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQztZQUN4QyxJQUFJLEtBQUssR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMvQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQzthQUNyQjtZQUNDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBQyxHQUFHLENBQUU7U0FDbEY7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OzBHQXRCVSxZQUFZO3dHQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFIeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2NoaW5hTnVtJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hpbmFOdW1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogYW55IHtcclxuICAgIGxldCBjaGFuZ2VOdW0gPSBbJ+mbticsICfkuIAnLCAn5LqMJywgJ+S4iScsICflm5snLCAn5LqUJywgJ+WFrScsICfkuIMnLCAn5YWrJywgJ+S5nSddO1xyXG4gICAgbGV0IHVuaXQgPSBbXCJcIiwgXCLljYFcIiwgXCLnmb5cIiwgXCLljYNcIiwgXCLkuIdcIl07XHJcbiAgICBpZighdmFsdWUpIHJldHVybiB2YWx1ZTtcclxuICAgIGlmKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgbGV0IGdldFdhbiA9ICh0ZW1wOmFueSkgPT4ge1xyXG4gICAgICDjgIDjgIBsZXQgc3RyQXJyID0gdGVtcC50b1N0cmluZygpLnNwbGl0KFwiXCIpLnJldmVyc2UoKTtcclxuICAgICAg44CA44CAbGV0IG5ld051bSA9IFwiXCI7XHJcbiAgICAgIOOAgOOAgGZvciAodmFyIGkgPSAwOyBpIDwgc3RyQXJyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIOOAgOOAgCAgbmV3TnVtID0gKGkgPT0gMCAmJiBzdHJBcnJbaV0gPT0gMCA/IFwiXCIgOiAoaSA+IDAgJiYgc3RyQXJyW2ldID09IDAgJiYgc3RyQXJyW2kgLSAxXSA9PSAwID8gXCJcIiA6IGNoYW5nZU51bVtzdHJBcnJbaV1dICsgKHN0ckFycltpXSA9PSAwID8gdW5pdFswXSA6IHVuaXRbaV0pKSkgKyBuZXdOdW07XHJcbiAgICAg44CA44CAIH1cclxuICAgICAg44CAICByZXR1cm4gbmV3TnVtO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBvdmVyV2FuID0gTWF0aC5mbG9vcih2YWx1ZSAvIDEwMDAwKTtcclxuICAgICAgbGV0IG5vV2FuID0gdmFsdWUgJSAxMDAwMCArIFwiXCI7XHJcbiAgICAgIGlmIChub1dhbi50b1N0cmluZygpLmxlbmd0aCA8IDQpIHtcclxu44CA44CA44CA44CA44CA44CAbm9XYW4gPSBcIjBcIiArIG5vV2FuO1xyXG7jgIDjgIDjgIAgfVxyXG4gICAgICByZXR1cm4gb3ZlcldhbiA/IGdldFdhbihvdmVyV2FuKSArIFwi5LiHXCIgKyBnZXRXYW4obm9XYW4pICtcIuOAgVwiIDogZ2V0V2FuKHZhbHVlKStcIuOAgVwiIDtcclxuICAgIH1cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,34 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CountPipe {
4
- transform(value, ...args) {
5
- if (!value)
6
- return value;
7
- if (typeof value !== 'number') {
8
- throw new Error('Invalid pipe argument for WelcomePipe');
9
- }
10
- let leftd = Math.floor(value / (1000 * 60 * 60 * 24)), //计算天数
11
- lefth = Math.floor(value / (1000 * 60 * 60) % 24), //计算小时数
12
- leftm = Math.floor(value / (1000 * 60) % 60), //计算分钟数
13
- lefts = Math.floor(value / 1000 % 60); //计算秒数
14
- let returnStr = "";
15
- if (leftd > 0) {
16
- returnStr = leftd < 10 ? "0" : "" + leftd + "天";
17
- }
18
- // if(lefth > 0){
19
- returnStr += (lefth < 10 ? "0" : "") + lefth + "小时";
20
- returnStr += (leftm < 10 ? "0" : "") + leftm + "分";
21
- returnStr += (lefts < 10 ? "0" : "") + lefts + "秒";
22
- // }
23
- return returnStr;
24
- }
25
- }
26
- CountPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CountPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
27
- CountPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CountPipe, name: "count" });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CountPipe, decorators: [{
29
- type: Pipe,
30
- args: [{
31
- name: 'count'
32
- }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvcGlwZS9jb3VudC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sU0FBUztJQUVwQixTQUFTLENBQUMsS0FBVSxFQUFFLEdBQUcsSUFBVztRQUNsQyxJQUFHLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3hCLElBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztTQUMxRDtRQUNELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsSUFBSSxHQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLENBQUMsRUFBRyxNQUFNO1FBQ3RELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxDQUFDLElBQUksR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUcsT0FBTztRQUNuRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxJQUFJLEdBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUcsT0FBTztRQUNoRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsSUFBSSxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUUsTUFBTTtRQUMxQyxJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBRyxLQUFLLEdBQUcsQ0FBQyxFQUFDO1lBQ1gsU0FBUyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsRUFBRSxHQUFFLEtBQUssR0FBQyxHQUFHLENBQUE7U0FDM0M7UUFDRCxpQkFBaUI7UUFDZixTQUFTLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxHQUFFLEtBQUssR0FBQyxJQUFJLENBQUE7UUFDOUMsU0FBUyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUMsR0FBRSxLQUFLLEdBQUMsR0FBRyxDQUFBO1FBQzdDLFNBQVMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDLEdBQUUsS0FBSyxHQUFDLEdBQUcsQ0FBQTtRQUMvQyxJQUFJO1FBQ0osT0FBTyxTQUFTLENBQUU7SUFDcEIsQ0FBQzs7dUdBckJVLFNBQVM7cUdBQVQsU0FBUzs0RkFBVCxTQUFTO2tCQUhyQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxPQUFPO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjb3VudCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvdW50UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBhbnkge1xyXG4gICAgaWYoIXZhbHVlKSByZXR1cm4gdmFsdWU7XHJcbiAgICBpZih0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwaXBlIGFyZ3VtZW50IGZvciBXZWxjb21lUGlwZScpO1xyXG4gICAgfVxyXG4gICAgbGV0IGxlZnRkID0gTWF0aC5mbG9vcih2YWx1ZS8oMTAwMCo2MCo2MCoyNCkpLCAgLy/orqHnrpflpKnmlbBcclxuICAgIGxlZnRoID0gTWF0aC5mbG9vcih2YWx1ZS8oMTAwMCo2MCo2MCklMjQpLCAgLy/orqHnrpflsI/ml7bmlbBcclxuICAgIGxlZnRtID0gTWF0aC5mbG9vcih2YWx1ZS8oMTAwMCo2MCklNjApLCAgLy/orqHnrpfliIbpkp/mlbBcclxuICAgIGxlZnRzID0gTWF0aC5mbG9vcih2YWx1ZS8xMDAwJTYwKTsgIC8v6K6h566X56eS5pWwXHJcbiAgICBsZXQgcmV0dXJuU3RyID0gXCJcIjtcclxuICAgIGlmKGxlZnRkID4gMCl7XHJcbiAgICAgIHJldHVyblN0ciA9IGxlZnRkIDwgMTAgPyBcIjBcIjpcIlwiICtsZWZ0ZCtcIuWkqVwiXHJcbiAgICB9XHJcbiAgICAvLyBpZihsZWZ0aCA+IDApe1xyXG4gICAgICByZXR1cm5TdHIgKz0gKGxlZnRoIDwgMTAgPyBcIjBcIjpcIlwiKSArbGVmdGgrXCLlsI/ml7ZcIlxyXG4gICAgICByZXR1cm5TdHIgKz0gKGxlZnRtIDwgMTAgPyBcIjBcIjpcIlwiKSArbGVmdG0rXCLliIZcIlxyXG4gICAgICByZXR1cm5TdHIgKz0gKGxlZnRzIDwgMTAgPyBcIjBcIjpcIlwiKSArbGVmdHMrXCLnp5JcIlxyXG4gICAgLy8gfVxyXG4gICAgcmV0dXJuIHJldHVyblN0ciA7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,24 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DayPipe {
4
- constructor() {
5
- this.TIME_OF_DAY = 24 * 60 * 60 * 1000;
6
- }
7
- transform(value, ...args) {
8
- if (!value)
9
- return value;
10
- if (typeof value !== 'number') {
11
- throw new Error('Invalid pipe argument for WelcomePipe');
12
- }
13
- return parseInt(value / this.TIME_OF_DAY + "");
14
- }
15
- }
16
- DayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
17
- DayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DayPipe, name: "day" });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DayPipe, decorators: [{
19
- type: Pipe,
20
- args: [{
21
- name: 'day'
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL3BpcGUvZGF5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxPQUFPO0lBSHBCO1FBSUUsZ0JBQVcsR0FBVSxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsR0FBQyxJQUFJLENBQUM7S0FVcEM7SUFSQyxTQUFTLENBQUMsS0FBVSxFQUFFLEdBQUcsSUFBVztRQUNsQyxJQUFHLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3hCLElBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sUUFBUSxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsV0FBVyxHQUFDLEVBQUUsQ0FBQyxDQUFFO0lBQzlDLENBQUM7O3FHQVRVLE9BQU87bUdBQVAsT0FBTzs0RkFBUCxPQUFPO2tCQUhuQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdkYXknXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgVElNRV9PRl9EQVk6bnVtYmVyID0gMjQqNjAqNjAqMTAwMDtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogYW55IHtcclxuICAgIGlmKCF2YWx1ZSkgcmV0dXJuIHZhbHVlO1xyXG4gICAgaWYodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcGlwZSBhcmd1bWVudCBmb3IgV2VsY29tZVBpcGUnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJzZUludCh2YWx1ZS90aGlzLlRJTUVfT0ZfREFZK1wiXCIpIDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==