atr-components 2.2.4 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/atr-components.mjs +218 -583
- package/fesm2022/atr-components.mjs.map +1 -1
- package/index.d.ts +1380 -5
- package/package.json +2 -4
- package/atr-components.module.d.ts +0 -9
- package/atr-public-api.d.ts +0 -53
- package/core/animations/animations.d.ts +0 -1
- package/core/animations/fly-in.d.ts +0 -1
- package/core/animations/scroll-screen.d.ts +0 -1
- package/core/auth/auth.guard.d.ts +0 -11
- package/core/base/atr-common.d.ts +0 -362
- package/core/directive/Infinite-scroll.directive.d.ts +0 -12
- package/core/directive/debounce-click.directive.d.ts +0 -14
- package/core/directive/error-img.directive.d.ts +0 -10
- package/core/directive/hq-spin.directive.d.ts +0 -13
- package/core/directive/role.directive.d.ts +0 -16
- package/core/interceptor/base.interceptor.d.ts +0 -17
- package/core/ngz-module/cus-zorro-antd.module.d.ts +0 -75
- package/core/pipe/china-num.pipe.d.ts +0 -7
- package/core/pipe/count.pipe.d.ts +0 -7
- package/core/pipe/day.pipe.d.ts +0 -8
- package/core/pipe/defaultVal.pipe.d.ts +0 -7
- package/core/pipe/dicts.pipe.d.ts +0 -10
- package/core/pipe/image-pipe.pipe.d.ts +0 -8
- package/core/pipe/is-empty.pipe.d.ts +0 -7
- package/core/pipe/is-not-empty.pipe.d.ts +0 -7
- package/core/pipe/oss.pipe.d.ts +0 -7
- package/core/pipe/ossStatic.pipe.d.ts +0 -7
- package/core/pipe/pipe-module.module.d.ts +0 -21
- package/core/pipe/remove-html.pipe.d.ts +0 -10
- package/core/pipe/safe-compute.pipe.d.ts +0 -7
- package/core/pipe/safe-html.pipe.d.ts +0 -10
- package/core/pipe/safe-url.pipe.d.ts +0 -10
- package/core/routereuse/atr-reuse-strategy.d.ts +0 -19
- package/core/services/dict/dict.service.d.ts +0 -20
- package/core/services/http.service.d.ts +0 -31
- package/core/services/menu.service.d.ts +0 -30
- package/core/services/upload-oss.service.d.ts +0 -14
- package/core/utils/ToolsUtil.d.ts +0 -180
- package/core/utils/localstorage.util.d.ts +0 -15
- package/core/utils/sessionstorage.util.d.ts +0 -15
- package/esm2022/atr-components.mjs +0 -5
- package/esm2022/atr-components.module.mjs +0 -36
- package/esm2022/atr-public-api.mjs +0 -55
- package/esm2022/core/animations/animations.mjs +0 -10
- package/esm2022/core/animations/fly-in.mjs +0 -19
- package/esm2022/core/animations/scroll-screen.mjs +0 -23
- package/esm2022/core/auth/auth.guard.mjs +0 -37
- package/esm2022/core/base/atr-common.mjs +0 -48
- package/esm2022/core/directive/Infinite-scroll.directive.mjs +0 -36
- package/esm2022/core/directive/debounce-click.directive.mjs +0 -41
- package/esm2022/core/directive/error-img.directive.mjs +0 -31
- package/esm2022/core/directive/hq-spin.directive.mjs +0 -48
- package/esm2022/core/directive/role.directive.mjs +0 -69
- package/esm2022/core/interceptor/base.interceptor.mjs +0 -165
- package/esm2022/core/ngz-module/cus-zorro-antd.module.mjs +0 -292
- package/esm2022/core/pipe/china-num.pipe.mjs +0 -36
- package/esm2022/core/pipe/count.pipe.mjs +0 -34
- package/esm2022/core/pipe/day.pipe.mjs +0 -24
- package/esm2022/core/pipe/defaultVal.pipe.mjs +0 -23
- package/esm2022/core/pipe/dicts.pipe.mjs +0 -28
- package/esm2022/core/pipe/image-pipe.pipe.mjs +0 -17
- package/esm2022/core/pipe/is-empty.pipe.mjs +0 -20
- package/esm2022/core/pipe/is-not-empty.pipe.mjs +0 -17
- package/esm2022/core/pipe/oss.pipe.mjs +0 -17
- package/esm2022/core/pipe/ossStatic.pipe.mjs +0 -17
- package/esm2022/core/pipe/pipe-module.module.mjs +0 -78
- package/esm2022/core/pipe/remove-html.pipe.mjs +0 -21
- package/esm2022/core/pipe/safe-compute.pipe.mjs +0 -23
- package/esm2022/core/pipe/safe-html.pipe.mjs +0 -20
- package/esm2022/core/pipe/safe-url.pipe.mjs +0 -20
- package/esm2022/core/routereuse/atr-reuse-strategy.mjs +0 -79
- package/esm2022/core/services/dict/dict.service.mjs +0 -152
- package/esm2022/core/services/http.service.mjs +0 -316
- package/esm2022/core/services/menu.service.mjs +0 -130
- package/esm2022/core/services/upload-oss.service.mjs +0 -74
- package/esm2022/core/utils/ToolsUtil.mjs +0 -622
- package/esm2022/core/utils/localstorage.util.mjs +0 -94
- package/esm2022/core/utils/sessionstorage.util.mjs +0 -73
- package/esm2022/lib/shared/atr-shared.module.mjs +0 -248
- package/esm2022/lib/shared/echarts/echarts.component.mjs +0 -77
- package/esm2022/lib/shared/form/form.component.mjs +0 -624
- package/esm2022/lib/shared/img-canvas/img-canvas.component.mjs +0 -132
- package/esm2022/lib/shared/local-upload/local-upload.component.mjs +0 -68
- package/esm2022/lib/shared/quill-editor/quill-editor.component.mjs +0 -254
- package/esm2022/lib/shared/select-icons/select-icons.component.mjs +0 -90
- package/esm2022/lib/shared/select-tree/select-tree.component.mjs +0 -55
- package/esm2022/lib/shared/service/busi.service.mjs +0 -69
- package/esm2022/lib/shared/share.service.mjs +0 -107
- package/esm2022/lib/shared/table/table-form-item/table-form-item.component.mjs +0 -96
- package/esm2022/lib/shared/table/table-td/table-td.component.mjs +0 -165
- package/esm2022/lib/shared/table/table.component.mjs +0 -766
- package/esm2022/lib/shared/upload/upload.component.mjs +0 -273
- package/esm2022/lib/shared/validators/atr-validtors.mjs +0 -9
- package/esm2022/lib/shared/video/video.component.mjs +0 -16
- package/esm2022/lib/shared/view-form/view-form.component.mjs +0 -186
- package/lib/shared/atr-shared.module.d.ts +0 -39
- package/lib/shared/echarts/echarts.component.d.ts +0 -34
- package/lib/shared/form/form.component.d.ts +0 -49
- package/lib/shared/img-canvas/img-canvas.component.d.ts +0 -28
- package/lib/shared/local-upload/local-upload.component.d.ts +0 -22
- package/lib/shared/quill-editor/quill-editor.component.d.ts +0 -45
- package/lib/shared/select-icons/select-icons.component.d.ts +0 -24
- package/lib/shared/select-tree/select-tree.component.d.ts +0 -23
- package/lib/shared/service/busi.service.d.ts +0 -20
- package/lib/shared/share.service.d.ts +0 -14
- package/lib/shared/table/table-form-item/table-form-item.component.d.ts +0 -25
- package/lib/shared/table/table-td/table-td.component.d.ts +0 -26
- package/lib/shared/table/table.component.d.ts +0 -94
- package/lib/shared/upload/upload.component.d.ts +0 -53
- package/lib/shared/validators/atr-validtors.d.ts +0 -2
- package/lib/shared/video/video.component.d.ts +0 -7
- package/lib/shared/view-form/view-form.component.d.ts +0 -27
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { HttpRequest, HttpEventType, HttpResponse } from '@angular/common/http';
|
|
4
|
-
import { atr_static_datas } from "../../../core/base/atr-common";
|
|
5
|
-
import { HttpService } from "../../../core/services/http.service";
|
|
6
|
-
import { ToolsUtil } from "../../../core/utils/ToolsUtil";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "ng-zorro-antd/image";
|
|
9
|
-
import * as i2 from "@angular/common/http";
|
|
10
|
-
import * as i3 from "ng-zorro-antd/modal";
|
|
11
|
-
import * as i4 from "@angular/common";
|
|
12
|
-
import * as i5 from "ng-zorro-antd/button";
|
|
13
|
-
import * as i6 from "ng-zorro-antd/core/transition-patch";
|
|
14
|
-
import * as i7 from "ng-zorro-antd/core/wave";
|
|
15
|
-
import * as i8 from "ng-zorro-antd/icon";
|
|
16
|
-
import * as i9 from "ng-zorro-antd/upload";
|
|
17
|
-
import * as i10 from "ng2-dragula";
|
|
18
|
-
import * as i11 from "../video/video.component";
|
|
19
|
-
import * as i12 from "../../../core/pipe/image-pipe.pipe";
|
|
20
|
-
export class UploadComponent {
|
|
21
|
-
constructor(injector, nzImageService, httpClient, modalService) {
|
|
22
|
-
this.injector = injector;
|
|
23
|
-
this.nzImageService = nzImageService;
|
|
24
|
-
this.httpClient = httpClient;
|
|
25
|
-
this.modalService = modalService;
|
|
26
|
-
this.isEdit = true;
|
|
27
|
-
this.allowChangSeq = false;
|
|
28
|
-
this.uploadUrl = "";
|
|
29
|
-
this.uploadData = {};
|
|
30
|
-
this.showUploadList = {
|
|
31
|
-
showPreviewIcon: true,
|
|
32
|
-
showRemoveIcon: true,
|
|
33
|
-
hidePreviewIconInNonImage: true
|
|
34
|
-
};
|
|
35
|
-
this.afterChange = new EventEmitter();
|
|
36
|
-
this.optsChange = new EventEmitter();
|
|
37
|
-
this.onBeforeUpload = new EventEmitter();
|
|
38
|
-
this.previewImage = '';
|
|
39
|
-
this.previewVisible = false;
|
|
40
|
-
this.changeVisible = false;
|
|
41
|
-
this.handlePreview = (file) => {
|
|
42
|
-
this.previewImage = file.url || file.thumbUrl;
|
|
43
|
-
this.previewVisible = true;
|
|
44
|
-
};
|
|
45
|
-
this.remove = (file) => {
|
|
46
|
-
if (!this.isEdit) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
console.log(file);
|
|
50
|
-
if (this.opts && this.opts.removeAction) {
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
return true;
|
|
54
|
-
};
|
|
55
|
-
this.beforeUpload = (file, fileList) => {
|
|
56
|
-
return new Observable(observe => {
|
|
57
|
-
let fileName;
|
|
58
|
-
if (this.opts.keepName) {
|
|
59
|
-
fileName = file.name;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
fileName = ToolsUtil.getRandomFileName() + "." + ToolsUtil.getFileExt(file.name);
|
|
63
|
-
}
|
|
64
|
-
this.onBeforeUpload.emit({ code: 'getFile', data: { file: file, fileList: fileList } });
|
|
65
|
-
this.httpService.post(atr_static_datas.OSS_POLICY, {
|
|
66
|
-
dir: this.opts.uploadDir,
|
|
67
|
-
fileName: fileName,
|
|
68
|
-
'success_action_status': '200'
|
|
69
|
-
}, ToolsUtil.getHttpOptions()).subscribe(result => {
|
|
70
|
-
if (result.status == 200) {
|
|
71
|
-
this.uploadData[file.uid] = result.data;
|
|
72
|
-
observe.next(true);
|
|
73
|
-
}
|
|
74
|
-
else
|
|
75
|
-
observe.next(false);
|
|
76
|
-
observe.unsubscribe();
|
|
77
|
-
}, error => {
|
|
78
|
-
observe.next(false);
|
|
79
|
-
observe.unsubscribe();
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
this.customReq = (item) => {
|
|
84
|
-
const formData = new FormData();
|
|
85
|
-
let uploadData = this.uploadData[item.file.uid];
|
|
86
|
-
for (let key in uploadData) {
|
|
87
|
-
if (key != 'host')
|
|
88
|
-
formData.append(key, uploadData[key]);
|
|
89
|
-
}
|
|
90
|
-
formData.append('file', item.file);
|
|
91
|
-
const req = new HttpRequest('POST', uploadData.host, formData, {
|
|
92
|
-
reportProgress: true
|
|
93
|
-
});
|
|
94
|
-
return this.httpClient.request(req).subscribe((event) => {
|
|
95
|
-
if (event.type === HttpEventType.UploadProgress) {
|
|
96
|
-
if (event.total > 0) {
|
|
97
|
-
event.percent = (event.loaded / event.total) * 100;
|
|
98
|
-
}
|
|
99
|
-
item.onProgress(event, item.file);
|
|
100
|
-
}
|
|
101
|
-
else if (event instanceof HttpResponse) {
|
|
102
|
-
item.file["key"] = uploadData.key;
|
|
103
|
-
item.onSuccess(event.body, item.file, event);
|
|
104
|
-
}
|
|
105
|
-
}, err => {
|
|
106
|
-
item.onError(err, item.file);
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
ngOnInit() {
|
|
111
|
-
}
|
|
112
|
-
getFileTyeIcon(fileType, fileName) {
|
|
113
|
-
let thumbUrl = this.getFileThumbUrl(fileType);
|
|
114
|
-
if (thumbUrl === '') {
|
|
115
|
-
thumbUrl = this.getThumbUrl(fileName);
|
|
116
|
-
}
|
|
117
|
-
return thumbUrl;
|
|
118
|
-
}
|
|
119
|
-
getThumbUrl(path) {
|
|
120
|
-
if (!path) {
|
|
121
|
-
return '';
|
|
122
|
-
}
|
|
123
|
-
// 后缀获取
|
|
124
|
-
if (path.endsWith('.mp4')) {
|
|
125
|
-
return '../../../assets/video.jpg';
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
return '';
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
getFileThumbUrl(type) {
|
|
132
|
-
let thumbUrl = '';
|
|
133
|
-
if (type === 'video/mp4' || type === 'mp4') {
|
|
134
|
-
thumbUrl = '../../../assets/video.jpg';
|
|
135
|
-
}
|
|
136
|
-
return thumbUrl;
|
|
137
|
-
}
|
|
138
|
-
onChange(params) {
|
|
139
|
-
console.log(params);
|
|
140
|
-
if (params.type == "success" || params.type == "removed") {
|
|
141
|
-
this.opts.imageList = [];
|
|
142
|
-
setTimeout(() => {
|
|
143
|
-
this.opts.imageList = params.fileList.map((file) => {
|
|
144
|
-
if (file.type == 'video/mp4' && file.uid === params.file.uid) {
|
|
145
|
-
let thumbUrl = this.getFileTyeIcon(file.type, file.name);
|
|
146
|
-
file.thumbUrl = thumbUrl ? thumbUrl : file.thumbUrl;
|
|
147
|
-
file.url = file.originFileObj ? atr_static_datas.OSS_URL + file.originFileObj['key'] : file['path'];
|
|
148
|
-
}
|
|
149
|
-
return file;
|
|
150
|
-
});
|
|
151
|
-
}, 50);
|
|
152
|
-
let fileUrls = [];
|
|
153
|
-
for (let file of params.fileList) {
|
|
154
|
-
if (file["key"] != undefined) {
|
|
155
|
-
fileUrls.push(file["key"]);
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
if (file.originFileObj) {
|
|
159
|
-
let originFileObj = file.originFileObj;
|
|
160
|
-
if (originFileObj["key"] != undefined) {
|
|
161
|
-
fileUrls.push(originFileObj["key"]);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
this.afterChange.emit({ key: this.opts.key, values: fileUrls.join(",") });
|
|
166
|
-
this.optsChange.emit(this.opts);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
get httpService() {
|
|
170
|
-
return this.injector.get(HttpService);
|
|
171
|
-
}
|
|
172
|
-
openBannerSeq(tplContent, tplFooter) {
|
|
173
|
-
this.tplModal = this.modalService.create({
|
|
174
|
-
nzTitle: "修改图片顺序",
|
|
175
|
-
nzContent: tplContent,
|
|
176
|
-
nzFooter: tplFooter,
|
|
177
|
-
nzMaskClosable: false,
|
|
178
|
-
nzClosable: false,
|
|
179
|
-
nzOnOk: () => console.log('Click ok')
|
|
180
|
-
});
|
|
181
|
-
console.log(this.opts.imageList);
|
|
182
|
-
this.changeVisible = true;
|
|
183
|
-
}
|
|
184
|
-
destroyTplModal() {
|
|
185
|
-
if (this.tplModal)
|
|
186
|
-
this.tplModal.destroy();
|
|
187
|
-
}
|
|
188
|
-
arrowUp(index) {
|
|
189
|
-
let img = this.opts.imageList[index];
|
|
190
|
-
this.opts.imageList[index] = this.opts.imageList[index - 1];
|
|
191
|
-
this.opts.imageList[index - 1] = img;
|
|
192
|
-
}
|
|
193
|
-
arrowDown(index) {
|
|
194
|
-
let img = this.opts.imageList[index];
|
|
195
|
-
this.opts.imageList[index] = this.opts.imageList[index + 1];
|
|
196
|
-
this.opts.imageList[index + 1] = img;
|
|
197
|
-
}
|
|
198
|
-
saveSeq() {
|
|
199
|
-
this.destroyTplModal();
|
|
200
|
-
let imgs = this.opts.imageList;
|
|
201
|
-
this.opts.imageList = [];
|
|
202
|
-
setTimeout(() => {
|
|
203
|
-
this.opts.imageList = imgs;
|
|
204
|
-
console.log(this.opts.imageList);
|
|
205
|
-
let fileUrls = [];
|
|
206
|
-
for (let file of this.opts.imageList) {
|
|
207
|
-
if (file["key"] != undefined) {
|
|
208
|
-
fileUrls.push(file["key"]);
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
if (file.originFileObj && file.originFileObj["key"] != undefined)
|
|
212
|
-
fileUrls.push(file.originFileObj["key"]);
|
|
213
|
-
}
|
|
214
|
-
this.afterChange.emit({ key: this.opts.key, values: fileUrls.join(",") });
|
|
215
|
-
}, 50);
|
|
216
|
-
}
|
|
217
|
-
dragnumber(numer) {
|
|
218
|
-
console.log(numer);
|
|
219
|
-
console.log('or', this.opts.imageList);
|
|
220
|
-
console.log('new', numer);
|
|
221
|
-
this.saveSeq();
|
|
222
|
-
// this.opts.imageList = numer
|
|
223
|
-
}
|
|
224
|
-
delImg(numer) {
|
|
225
|
-
console.log(numer);
|
|
226
|
-
this.opts.imageList = this.opts.imageList.filter((v, i) => i != numer);
|
|
227
|
-
let fileUrls = [];
|
|
228
|
-
for (let file of this.opts.imageList) {
|
|
229
|
-
if (file["key"] != undefined) {
|
|
230
|
-
fileUrls.push(file["key"]);
|
|
231
|
-
continue;
|
|
232
|
-
}
|
|
233
|
-
if (file.originFileObj && file.originFileObj["key"] != undefined)
|
|
234
|
-
fileUrls.push(file.originFileObj["key"]);
|
|
235
|
-
}
|
|
236
|
-
this.afterChange.emit({ key: this.opts.key, values: fileUrls.join(",") });
|
|
237
|
-
}
|
|
238
|
-
priviewImg(img) {
|
|
239
|
-
let url = ToolsUtil.getOssUrl(this.getImgUrl(img));
|
|
240
|
-
console.log(url);
|
|
241
|
-
this.nzImageService.preview([{
|
|
242
|
-
src: url,
|
|
243
|
-
alt: 'ng-zorro'
|
|
244
|
-
}], { nzZoom: 1.5, nzRotate: 0 });
|
|
245
|
-
}
|
|
246
|
-
getImgUrl(img) {
|
|
247
|
-
if (img.originFileObj && img.originFileObj.key) {
|
|
248
|
-
return img.originFileObj.key;
|
|
249
|
-
}
|
|
250
|
-
return (img.url || img.thumbUrl);
|
|
251
|
-
}
|
|
252
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UploadComponent, deps: [{ token: i0.Injector }, { token: i1.NzImageService }, { token: i2.HttpClient }, { token: i3.NzModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
253
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: UploadComponent, selector: "atr-img-upload", inputs: { opts: "opts", isEdit: "isEdit", allowChangSeq: "allowChangSeq", showUploadList: "showUploadList" }, outputs: { afterChange: "afterChange", optsChange: "optsChange", onBeforeUpload: "onBeforeUpload" }, ngImport: i0, template: "<div class=\"clearfix\">\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'drag'\"\r\n nzType=\"drag\"\r\n [nzAction]=\"\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <p class=\"ant-upload-drag-icon\">\r\n <i nz-icon nzType=\"inbox\"></i>\r\n </p>\r\n <p class=\"ant-upload-text\">\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20</p>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'button'\"\r\n nzType=\"drag\"\r\n nzAction=\"\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\" style=\"font-size: 16px\"></i><span> {{opts.btnName}}</span></button>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && !opts?.uploadType \"\r\n nzAction=\"\"\r\n nzListType=\"picture-card\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [(nzFileList)]=\"opts.imageList\"\r\n [nzShowButton]=\"opts.imageList.length < opts.limit\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzPreview]=\"handlePreview\"\r\n [nzRemove]=\"remove\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzDisabled]=\"!isEdit\"\r\n [nzLimit]=\"'1'\"\r\n [nzFileListRender]=\"opts && isEdit && allowChangSeq && opts.imageList.length > 0 ? fileListTmp : null\"\r\n >\r\n <i nz-icon nzType=\"plus\"></i>\r\n <div class=\"ant-upload-text\">{{opts.btnName?opts.btnName:'\u4E0A\u4F20\u56FE\u7247'}}</div>\r\n </nz-upload>\r\n <!-- <a *ngIf=\"allowChangSeq && isEdit && opts.imageList.length > 1\" (click)=\"openBannerSeq(imgsContent, tplFooter)\"\r\n style=\"margin-left: 10px; \"\r\n ><i nz-icon nzType=\"plus\" nzTheme=\"outline\" style=\"color: #1890ff; font-size: 15px\"></i>\u8C03\u6574\u56FE\u7247\u987A\u5E8F</a>-->\r\n <nz-modal\r\n [nzVisible]=\"previewVisible\"\r\n [nzContent]=\"modalContent\"\r\n [nzFooter]=\"null\"\r\n (nzOnCancel)=\"previewVisible = false\"\r\n >\r\n <ng-template #modalContent>\r\n <img *ngIf=\"!previewImage.endsWith('.mp4')\" [src]=\"previewImage\" [ngStyle]=\"{ width: '100%' }\"/>\r\n <div style=\"width: 100%;margin-top: 15px\">\r\n <app-video *ngIf=\"previewImage.endsWith('.mp4')\" [url]=\"previewImage\"></app-video>\r\n </div>\r\n </ng-template>\r\n </nz-modal>\r\n <ng-template #imgsContent>\r\n <ng-container *ngIf=\"opts && opts.imageList\">\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div\">\r\n <img [src]=\"imgs.url || imgs.thumbUrl\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div style=\"margin-right: 20px\">\r\n <a title=\"\u4E0A\u79FB\" *ngIf=\" i > 0\" style=\"display: block;\" (click)=\"arrowUp(i)\"><i nz-icon nzType=\"arrow-up\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px;\"></i>\r\n \u4E0A\u79FB</a>\r\n <a title=\"\u4E0B\u79FB\" *ngIf=\" i < opts.imageList.length - 1\" (click)=\"arrowDown(i)\"><i nz-icon nzType=\"arrow-down\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px\"></i>\r\n \u4E0B\u79FB</a>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n <!-- </nz-modal>-->\r\n</div>\r\n<ng-template #fileListTmp>\r\n <div dragula=\"dragulaBag\" [(dragulaModel)]=\"opts.imageList\" (dragulaModelChange)=\"dragnumber($event)\">\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div img-pre\" style=\"\">\r\n <img [src]=\"getImgUrl(imgs) |ossImg\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div>\r\n <span (click)=\"priviewImg(imgs)\" nz-icon nzType=\"eye\" nzTheme=\"outline\"></span>\r\n <span (click)=\"delImg(i)\" nz-icon nzType=\"delete\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n <button nz-button nzType=\"default\" (click)=\"destroyTplModal()\">\r\n \u53D6\u6D88\r\n </button>\r\n <button nz-button nzType=\"primary\" (click)=\"saveSeq()\">\r\n \u4FDD\u5B58\u987A\u5E8F\r\n </button>\r\n</ng-template>\r\n\r\n\r\n", styles: ["i[nz-icon]{font-size:32px;color:#999}.ant-upload-text{margin-top:8px;color:#666}.img-div{padding:8px;border:1px solid #d9d9d9;border-radius:4px;margin-top:20px;display:flex;align-items:center;justify-content:space-between}:host .img-pre{display:inline-block;position:relative;margin-left:10px}:host .img-pre div{display:none;position:absolute;width:100%;height:100%;top:0;left:0;background:#0000006b;z-index:200;color:#fff;align-items:center;justify-content:center;font-size:16px}:host .img-pre div span{margin:10px;cursor:pointer}:host .img-pre:hover div{display:flex}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i6.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i3.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "component", type: i9.NzUploadComponent, selector: "nz-upload", inputs: ["nzType", "nzLimit", "nzSize", "nzFileType", "nzAccept", "nzAction", "nzDirectory", "nzOpenFileDialogOnClick", "nzBeforeUpload", "nzCustomRequest", "nzData", "nzFilter", "nzFileList", "nzDisabled", "nzHeaders", "nzListType", "nzMultiple", "nzName", "nzShowUploadList", "nzShowButton", "nzWithCredentials", "nzRemove", "nzPreview", "nzPreviewFile", "nzPreviewIsImage", "nzTransformFile", "nzDownload", "nzIconRender", "nzFileListRender"], outputs: ["nzChange", "nzFileListChange"], exportAs: ["nzUpload"] }, { kind: "directive", type: i10.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }, { kind: "component", type: i11.VideoComponent, selector: "app-video", inputs: ["url"] }, { kind: "pipe", type: i12.OssImgPipe, name: "ossImg" }] }); }
|
|
254
|
-
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UploadComponent, decorators: [{
|
|
256
|
-
type: Component,
|
|
257
|
-
args: [{ selector: 'atr-img-upload', template: "<div class=\"clearfix\">\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'drag'\"\r\n nzType=\"drag\"\r\n [nzAction]=\"\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <p class=\"ant-upload-drag-icon\">\r\n <i nz-icon nzType=\"inbox\"></i>\r\n </p>\r\n <p class=\"ant-upload-text\">\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20</p>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'button'\"\r\n nzType=\"drag\"\r\n nzAction=\"\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\" style=\"font-size: 16px\"></i><span> {{opts.btnName}}</span></button>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && !opts?.uploadType \"\r\n nzAction=\"\"\r\n nzListType=\"picture-card\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [(nzFileList)]=\"opts.imageList\"\r\n [nzShowButton]=\"opts.imageList.length < opts.limit\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzPreview]=\"handlePreview\"\r\n [nzRemove]=\"remove\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzDisabled]=\"!isEdit\"\r\n [nzLimit]=\"'1'\"\r\n [nzFileListRender]=\"opts && isEdit && allowChangSeq && opts.imageList.length > 0 ? fileListTmp : null\"\r\n >\r\n <i nz-icon nzType=\"plus\"></i>\r\n <div class=\"ant-upload-text\">{{opts.btnName?opts.btnName:'\u4E0A\u4F20\u56FE\u7247'}}</div>\r\n </nz-upload>\r\n <!-- <a *ngIf=\"allowChangSeq && isEdit && opts.imageList.length > 1\" (click)=\"openBannerSeq(imgsContent, tplFooter)\"\r\n style=\"margin-left: 10px; \"\r\n ><i nz-icon nzType=\"plus\" nzTheme=\"outline\" style=\"color: #1890ff; font-size: 15px\"></i>\u8C03\u6574\u56FE\u7247\u987A\u5E8F</a>-->\r\n <nz-modal\r\n [nzVisible]=\"previewVisible\"\r\n [nzContent]=\"modalContent\"\r\n [nzFooter]=\"null\"\r\n (nzOnCancel)=\"previewVisible = false\"\r\n >\r\n <ng-template #modalContent>\r\n <img *ngIf=\"!previewImage.endsWith('.mp4')\" [src]=\"previewImage\" [ngStyle]=\"{ width: '100%' }\"/>\r\n <div style=\"width: 100%;margin-top: 15px\">\r\n <app-video *ngIf=\"previewImage.endsWith('.mp4')\" [url]=\"previewImage\"></app-video>\r\n </div>\r\n </ng-template>\r\n </nz-modal>\r\n <ng-template #imgsContent>\r\n <ng-container *ngIf=\"opts && opts.imageList\">\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div\">\r\n <img [src]=\"imgs.url || imgs.thumbUrl\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div style=\"margin-right: 20px\">\r\n <a title=\"\u4E0A\u79FB\" *ngIf=\" i > 0\" style=\"display: block;\" (click)=\"arrowUp(i)\"><i nz-icon nzType=\"arrow-up\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px;\"></i>\r\n \u4E0A\u79FB</a>\r\n <a title=\"\u4E0B\u79FB\" *ngIf=\" i < opts.imageList.length - 1\" (click)=\"arrowDown(i)\"><i nz-icon nzType=\"arrow-down\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px\"></i>\r\n \u4E0B\u79FB</a>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n <!-- </nz-modal>-->\r\n</div>\r\n<ng-template #fileListTmp>\r\n <div dragula=\"dragulaBag\" [(dragulaModel)]=\"opts.imageList\" (dragulaModelChange)=\"dragnumber($event)\">\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div img-pre\" style=\"\">\r\n <img [src]=\"getImgUrl(imgs) |ossImg\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div>\r\n <span (click)=\"priviewImg(imgs)\" nz-icon nzType=\"eye\" nzTheme=\"outline\"></span>\r\n <span (click)=\"delImg(i)\" nz-icon nzType=\"delete\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n <button nz-button nzType=\"default\" (click)=\"destroyTplModal()\">\r\n \u53D6\u6D88\r\n </button>\r\n <button nz-button nzType=\"primary\" (click)=\"saveSeq()\">\r\n \u4FDD\u5B58\u987A\u5E8F\r\n </button>\r\n</ng-template>\r\n\r\n\r\n", styles: ["i[nz-icon]{font-size:32px;color:#999}.ant-upload-text{margin-top:8px;color:#666}.img-div{padding:8px;border:1px solid #d9d9d9;border-radius:4px;margin-top:20px;display:flex;align-items:center;justify-content:space-between}:host .img-pre{display:inline-block;position:relative;margin-left:10px}:host .img-pre div{display:none;position:absolute;width:100%;height:100%;top:0;left:0;background:#0000006b;z-index:200;color:#fff;align-items:center;justify-content:center;font-size:16px}:host .img-pre div span{margin:10px;cursor:pointer}:host .img-pre:hover div{display:flex}\n"] }]
|
|
258
|
-
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NzImageService }, { type: i2.HttpClient }, { type: i3.NzModalService }], propDecorators: { opts: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], isEdit: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], allowChangSeq: [{
|
|
263
|
-
type: Input
|
|
264
|
-
}], showUploadList: [{
|
|
265
|
-
type: Input
|
|
266
|
-
}], afterChange: [{
|
|
267
|
-
type: Output
|
|
268
|
-
}], optsChange: [{
|
|
269
|
-
type: Output
|
|
270
|
-
}], onBeforeUpload: [{
|
|
271
|
-
type: Output
|
|
272
|
-
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3VwbG9hZC91cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsV0FBVyxFQUFhLGFBQWEsRUFBRSxZQUFZLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFJbEgsT0FBTyxFQUFDLGdCQUFnQixFQUFZLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFReEQsTUFBTSxPQUFPLGVBQWU7SUE2QjFCLFlBQW9CLFFBQWtCLEVBQVUsY0FBOEIsRUFDMUQsVUFBc0IsRUFBVSxZQUE0QjtRQUQ1RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzFELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUEzQnZFLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUUvQixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLGVBQVUsR0FBUSxFQUFFLENBQUE7UUFFWCxtQkFBYyxHQUF1STtZQUM1SixlQUFlLEVBQUUsSUFB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R0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVTtRQUNsQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN2QyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakMsSUFBSSxRQUFRLEdBQVEsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLEtBQUss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Q0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7K0dBOVFVLGVBQWU7bUdBQWYsZUFBZSx5UUNoQjVCLDAxS0F1SEE7OzRGRHZHYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGdCQUFnQjtnS0FNakIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBT04sV0FBVztzQkFEVixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFHUCxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0h0dHBSZXF1ZXN0LCBIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUsIEh0dHBSZXNwb25zZSwgSHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtOek1vZGFsUmVmLCBOek1vZGFsU2VydmljZX0gZnJvbSAnbmctem9ycm8tYW50ZC9tb2RhbCc7XHJcbmltcG9ydCB7TnpVcGxvYWRDaGFuZ2VQYXJhbSwgTnpVcGxvYWRGaWxlLCBOelVwbG9hZFhIUkFyZ3N9IGZyb20gJ25nLXpvcnJvLWFudGQvdXBsb2FkJztcclxuaW1wb3J0IHtlbnZpcm9ubWVudH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvY29yZS9lbnZpcm9ubWVudHNcIjtcclxuaW1wb3J0IHthdHJfc3RhdGljX2RhdGFzLCBJbWFnZU9wdHN9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5pbXBvcnQge0h0dHBTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUb29sc1V0aWx9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3V0aWxzL1Rvb2xzVXRpbFwiO1xyXG5pbXBvcnQge056SW1hZ2VTZXJ2aWNlfSBmcm9tICduZy16b3Jyby1hbnRkL2ltYWdlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXRyLWltZy11cGxvYWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBvcHRzOiBJbWFnZU9wdHMgfCBhbnk7XHJcbiAgQElucHV0KCkgaXNFZGl0ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhbGxvd0NoYW5nU2VxID0gZmFsc2U7XHJcbiAgdHBsTW9kYWw6IE56TW9kYWxSZWYgfCBhbnk7XHJcbiAgdXBsb2FkVXJsOiBhbnkgPSBcIlwiO1xyXG5cclxuICB1cGxvYWREYXRhOiBhbnkgPSB7fVxyXG5cclxuICBASW5wdXQoKSBzaG93VXBsb2FkTGlzdDogYm9vbGVhbiB8IHsgc2hvd1ByZXZpZXdJY29uPzogYm9vbGVhbiwgc2hvd1JlbW92ZUljb24/OiBib29sZWFuLCBzaG93RG93bmxvYWRJY29uPzogYm9vbGVhbiwgaGlkZVByZXZpZXdJY29uSW5Ob25JbWFnZT86IGJvb2xlYW4gfSA9IHtcclxuICAgIHNob3dQcmV2aWV3SWNvbjogdHJ1ZSxcclxuICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgaGlkZVByZXZpZXdJY29uSW5Ob25JbWFnZTogdHJ1ZVxyXG4gIH07XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGFmdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb3B0c0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25CZWZvcmVVcGxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcbiAgcHJldmlld0ltYWdlOiBzdHJpbmcgfCBhbnkgPSAnJztcclxuICBwcmV2aWV3VmlzaWJsZSA9IGZhbHNlO1xyXG4gIGNoYW5nZVZpc2libGUgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgbnpJbWFnZVNlcnZpY2U6IE56SW1hZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCwgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE56TW9kYWxTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIGdldEZpbGVUeWVJY29uKGZpbGVUeXBlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIGxldCB0aHVtYlVybCA9IHRoaXMuZ2V0RmlsZVRodW1iVXJsKGZpbGVUeXBlKTtcclxuICAgIGlmICh0aHVtYlVybCA9PT0gJycpIHtcclxuICAgICAgdGh1bWJVcmwgPSB0aGlzLmdldFRodW1iVXJsKGZpbGVOYW1lKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aHVtYlVybDtcclxuICB9XHJcblxyXG4gIGdldFRodW1iVXJsKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcblxyXG4gICAgaWYgKCFwYXRoKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIC8vIOWQjue8gOiOt+WPllxyXG4gICAgaWYgKHBhdGguZW5kc1dpdGgoJy5tcDQnKSkge1xyXG4gICAgICByZXR1cm4gJy4uLy4uLy4uL2Fzc2V0cy92aWRlby5qcGcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RmlsZVRodW1iVXJsKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgdGh1bWJVcmwgPSAnJztcclxuICAgIGlmICh0eXBlID09PSAndmlkZW8vbXA0JyB8fCB0eXBlID09PSAnbXA0Jykge1xyXG4gICAgICB0aHVtYlVybCA9ICcuLi8uLi8uLi9hc3NldHMvdmlkZW8uanBnJztcclxuICAgIH1cclxuICAgIHJldHVybiB0aHVtYlVybDtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKHBhcmFtczogTnpVcGxvYWRDaGFuZ2VQYXJhbSkge1xyXG4gICAgY29uc29sZS5sb2cocGFyYW1zKTtcclxuICAgIGlmIChwYXJhbXMudHlwZSA9PSBcInN1Y2Nlc3NcIiB8fCBwYXJhbXMudHlwZSA9PSBcInJlbW92ZWRcIikge1xyXG5cclxuICAgICAgdGhpcy5vcHRzLmltYWdlTGlzdCA9IFtdO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm9wdHMuaW1hZ2VMaXN0ID0gcGFyYW1zLmZpbGVMaXN0Lm1hcCgoZmlsZTogYW55KSA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKGZpbGUudHlwZSA9PSAndmlkZW8vbXA0JyAmJiBmaWxlLnVpZCA9PT0gcGFyYW1zLmZpbGUudWlkKSB7XHJcbiAgICAgICAgICAgIGxldCB0aHVtYlVybCA9IHRoaXMuZ2V0RmlsZVR5ZUljb24oZmlsZS50eXBlLCBmaWxlLm5hbWUpO1xyXG4gICAgICAgICAgICBmaWxlLnRodW1iVXJsID0gdGh1bWJVcmwgPyB0aHVtYlVybCA6IGZpbGUudGh1bWJVcmw7XHJcbiAgICAgICAgICAgIGZpbGUudXJsID0gZmlsZS5vcmlnaW5GaWxlT2JqID8gYXRyX3N0YXRpY19kYXRhcy5PU1NfVVJMICsgZmlsZS5vcmlnaW5GaWxlT2JqWydrZXknXSA6IGZpbGVbJ3BhdGgnXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBmaWxlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCA1MCk7XHJcbiAgICAgIGxldCBmaWxlVXJsczogYW55W10gPSBbXTtcclxuICAgICAgZm9yIChsZXQgZmlsZSBvZiBwYXJhbXMuZmlsZUxpc3QpIHtcclxuICAgICAgICBpZiAoZmlsZVtcImtleVwiXSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGZpbGVVcmxzLnB1c2goZmlsZVtcImtleVwiXSk7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbGUub3JpZ2luRmlsZU9iaikge1xyXG4gICAgICAgICAgbGV0IG9yaWdpbkZpbGVPYmo6IGFueSA9IGZpbGUub3JpZ2luRmlsZU9ialxyXG4gICAgICAgICAgaWYgKG9yaWdpbkZpbGVPYmpbXCJrZXlcIl0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGZpbGVVcmxzLnB1c2gob3JpZ2luRmlsZU9ialtcImtleVwiXSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuYWZ0ZXJDaGFuZ2UuZW1pdCh7a2V5OiB0aGlzLm9wdHMua2V5LCB2YWx1ZXM6IGZpbGVVcmxzLmpvaW4oXCIsXCIpfSk7XHJcbiAgICAgIHRoaXMub3B0c0NoYW5nZS5lbWl0KHRoaXMub3B0cylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGh0dHBTZXJ2aWNlKCk6IEh0dHBTZXJ2aWNlIHtcclxuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChIdHRwU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQcmV2aWV3ID0gKGZpbGU6IE56VXBsb2FkRmlsZSkgPT4ge1xyXG4gICAgdGhpcy5wcmV2aWV3SW1hZ2UgPSBmaWxlLnVybCB8fCBmaWxlLnRodW1iVXJsO1xyXG4gICAgdGhpcy5wcmV2aWV3VmlzaWJsZSA9IHRydWU7XHJcbiAgfTtcclxuXHJcbiAgcmVtb3ZlID0gKGZpbGU6IE56VXBsb2FkRmlsZSkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmlzRWRpdCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhmaWxlKTtcclxuICAgIGlmICh0aGlzLm9wdHMgJiYgdGhpcy5vcHRzLnJlbW92ZUFjdGlvbikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGJlZm9yZVVwbG9hZCA9IChmaWxlOiBOelVwbG9hZEZpbGUsIGZpbGVMaXN0OiBOelVwbG9hZEZpbGVbXSk6YW55ID0+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPihvYnNlcnZlID0+IHtcclxuICAgICAgbGV0IGZpbGVOYW1lO1xyXG4gICAgICBpZiAodGhpcy5vcHRzLmtlZXBOYW1lKSB7XHJcbiAgICAgICAgZmlsZU5hbWUgPSBmaWxlLm5hbWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZmlsZU5hbWUgPSBUb29sc1V0aWwuZ2V0UmFuZG9tRmlsZU5hbWUoKSArIFwiLlwiICsgVG9vbHNVdGlsLmdldEZpbGVFeHQoZmlsZS5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQmVmb3JlVXBsb2FkLmVtaXQoe2NvZGU6ICdnZXRGaWxlJywgZGF0YToge2ZpbGU6IGZpbGUsIGZpbGVMaXN0OiBmaWxlTGlzdH19KVxyXG4gICAgICB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QoYXRyX3N0YXRpY19kYXRhcy5PU1NfUE9MSUNZLCB7XHJcbiAgICAgICAgZGlyOiB0aGlzLm9wdHMudXBsb2FkRGlyLFxyXG4gICAgICAgIGZpbGVOYW1lOiBmaWxlTmFtZSxcclxuICAgICAgICAnc3VjY2Vzc19hY3Rpb25fc3RhdHVzJzogJzIwMCdcclxuICAgICAgfSwgVG9vbHNVdGlsLmdldEh0dHBPcHRpb25zKCkpLnN1YnNjcmliZShcclxuICAgICAgICByZXN1bHQgPT4ge1xyXG5cclxuICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLnVwbG9hZERhdGFbZmlsZS51aWRdID0gcmVzdWx0LmRhdGE7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dCh0cnVlKTtcclxuICAgICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgICBvYnNlcnZlLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICB9KVxyXG5cclxuICB9XHJcbiAgY3VzdG9tUmVxID0gKGl0ZW06IE56VXBsb2FkWEhSQXJncyk6YW55ID0+IHtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBsZXQgdXBsb2FkRGF0YSA9IHRoaXMudXBsb2FkRGF0YVtpdGVtLmZpbGUudWlkXTtcclxuICAgIGZvciAobGV0IGtleSBpbiB1cGxvYWREYXRhKSB7XHJcbiAgICAgIGlmIChrZXkgIT0gJ2hvc3QnKVxyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIHVwbG9hZERhdGFba2V5XSlcclxuICAgIH1cclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGl0ZW0uZmlsZSBhcyBhbnkpO1xyXG4gICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdXBsb2FkRGF0YS5ob3N0ISwgZm9ybURhdGEsIHtcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdChyZXEpLnN1YnNjcmliZShcclxuICAgICAgKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XHJcbiAgICAgICAgICBpZiAoZXZlbnQudG90YWwhID4gMCkge1xyXG4gICAgICAgICAgICAoZXZlbnQgYXMgYW55KS5wZXJjZW50ID0gKGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsISkgKiAxMDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpdGVtLm9uUHJvZ3Jlc3MhKGV2ZW50LCBpdGVtLmZpbGUhKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpdGVtLmZpbGVbXCJrZXlcIl0gPSB1cGxvYWREYXRhLmtleTtcclxuICAgICAgICAgIGl0ZW0ub25TdWNjZXNzIShldmVudC5ib2R5LCBpdGVtLmZpbGUhLCBldmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnIgPT4ge1xyXG4gICAgICAgIGl0ZW0ub25FcnJvciEoZXJyLCBpdGVtLmZpbGUhKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICBvcGVuQmFubmVyU2VxKHRwbENvbnRlbnQ6IGFueSwgdHBsRm9vdGVyOiBhbnkpIHtcclxuICAgIHRoaXMudHBsTW9kYWwgPSB0aGlzLm1vZGFsU2VydmljZS5jcmVhdGUoe1xyXG4gICAgICBuelRpdGxlOiBcIuS/ruaUueWbvueJh+mhuuW6j1wiLFxyXG4gICAgICBuekNvbnRlbnQ6IHRwbENvbnRlbnQsXHJcbiAgICAgIG56Rm9vdGVyOiB0cGxGb290ZXIsXHJcbiAgICAgIG56TWFza0Nsb3NhYmxlOiBmYWxzZSxcclxuICAgICAgbnpDbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgIG56T25PazogKCkgPT4gY29uc29sZS5sb2coJ0NsaWNrIG9rJylcclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5vcHRzLmltYWdlTGlzdCk7XHJcbiAgICB0aGlzLmNoYW5nZVZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveVRwbE1vZGFsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudHBsTW9kYWwpXHJcbiAgICAgIHRoaXMudHBsTW9kYWwuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgYXJyb3dVcChpbmRleDogYW55KSB7XHJcbiAgICBsZXQgaW1nID0gdGhpcy5vcHRzLmltYWdlTGlzdFtpbmRleF07XHJcbiAgICB0aGlzLm9wdHMuaW1hZ2VMaXN0W2luZGV4XSA9IHRoaXMub3B0cy5pbWFnZUxpc3RbaW5kZXggLSAxXTtcclxuICAgIHRoaXMub3B0cy5pbWFnZUxpc3RbaW5kZXggLSAxXSA9IGltZztcclxuICB9XHJcblxyXG4gIGFycm93RG93bihpbmRleDogYW55KSB7XHJcbiAgICBsZXQgaW1nID0gdGhpcy5vcHRzLmltYWdlTGlzdFtpbmRleF07XHJcbiAgICB0aGlzLm9wdHMuaW1hZ2VMaXN0W2luZGV4XSA9IHRoaXMub3B0cy5pbWFnZUxpc3RbaW5kZXggKyAxXTtcclxuICAgIHRoaXMub3B0cy5pbWFnZUxpc3RbaW5kZXggKyAxXSA9IGltZztcclxuICB9XHJcblxyXG4gIHNhdmVTZXEoKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3lUcGxNb2RhbCgpO1xyXG4gICAgbGV0IGltZ3MgPSB0aGlzLm9wdHMuaW1hZ2VMaXN0O1xyXG4gICAgdGhpcy5vcHRzLmltYWdlTGlzdCA9IFtdO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMub3B0cy5pbWFnZUxpc3QgPSBpbWdzO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLm9wdHMuaW1hZ2VMaXN0KTtcclxuICAgICAgbGV0IGZpbGVVcmxzOiBhbnkgPSBbXTtcclxuICAgICAgZm9yIChsZXQgZmlsZSBvZiB0aGlzLm9wdHMuaW1hZ2VMaXN0KSB7XHJcbiAgICAgICAgaWYgKGZpbGVbXCJrZXlcIl0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBmaWxlVXJscy5wdXNoKGZpbGVbXCJrZXlcIl0pO1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWxlLm9yaWdpbkZpbGVPYmogJiYgZmlsZS5vcmlnaW5GaWxlT2JqW1wia2V5XCJdICE9IHVuZGVmaW5lZClcclxuICAgICAgICAgIGZpbGVVcmxzLnB1c2goZmlsZS5vcmlnaW5GaWxlT2JqW1wia2V5XCJdKVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmFmdGVyQ2hhbmdlLmVtaXQoe2tleTogdGhpcy5vcHRzLmtleSwgdmFsdWVzOiBmaWxlVXJscy5qb2luKFwiLFwiKX0pO1xyXG4gICAgfSwgNTApXHJcblxyXG4gIH1cclxuXHJcbiAgZHJhZ251bWJlcihudW1lcjogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhudW1lcik7XHJcbiAgICBjb25zb2xlLmxvZygnb3InLCB0aGlzLm9wdHMuaW1hZ2VMaXN0KVxyXG4gICAgY29uc29sZS5sb2coJ25ldycsIG51bWVyKVxyXG4gICAgdGhpcy5zYXZlU2VxKCk7XHJcbiAgICAvLyB0aGlzLm9wdHMuaW1hZ2VMaXN0ID0gbnVtZXJcclxuICB9XHJcblxyXG4gIGRlbEltZyhudW1lcjogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhudW1lcik7XHJcbiAgICB0aGlzLm9wdHMuaW1hZ2VMaXN0ID0gdGhpcy5vcHRzLmltYWdlTGlzdC5maWx0ZXIoKHY6IGFueSwgaTogYW55KSA9PiBpICE9IG51bWVyKVxyXG4gICAgbGV0IGZpbGVVcmxzOiBhbnkgPSBbXTtcclxuICAgIGZvciAobGV0IGZpbGUgb2YgdGhpcy5vcHRzLmltYWdlTGlzdCkge1xyXG4gICAgICBpZiAoZmlsZVtcImtleVwiXSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICBmaWxlVXJscy5wdXNoKGZpbGVbXCJrZXlcIl0pO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChmaWxlLm9yaWdpbkZpbGVPYmogJiYgZmlsZS5vcmlnaW5GaWxlT2JqW1wia2V5XCJdICE9IHVuZGVmaW5lZClcclxuICAgICAgICBmaWxlVXJscy5wdXNoKGZpbGUub3JpZ2luRmlsZU9ialtcImtleVwiXSlcclxuICAgIH1cclxuICAgIHRoaXMuYWZ0ZXJDaGFuZ2UuZW1pdCh7a2V5OiB0aGlzLm9wdHMua2V5LCB2YWx1ZXM6IGZpbGVVcmxzLmpvaW4oXCIsXCIpfSk7XHJcbiAgfVxyXG5cclxuICBwcml2aWV3SW1nKGltZzogYW55KSB7XHJcbiAgICBsZXQgdXJsID0gVG9vbHNVdGlsLmdldE9zc1VybCh0aGlzLmdldEltZ1VybChpbWcpKVxyXG4gICAgY29uc29sZS5sb2codXJsKVxyXG4gICAgdGhpcy5uekltYWdlU2VydmljZS5wcmV2aWV3KFt7XHJcbiAgICAgIHNyYzogdXJsLFxyXG4gICAgICBhbHQ6ICduZy16b3JybydcclxuICAgIH1dLCB7bnpab29tOiAxLjUsIG56Um90YXRlOiAwfSk7XHJcbiAgfVxyXG5cclxuICBnZXRJbWdVcmwoaW1nOiBhbnkpIHtcclxuICAgIGlmIChpbWcub3JpZ2luRmlsZU9iaiAmJiBpbWcub3JpZ2luRmlsZU9iai5rZXkpIHtcclxuICAgICAgcmV0dXJuIGltZy5vcmlnaW5GaWxlT2JqLmtleVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIChpbWcudXJsIHx8IGltZy50aHVtYlVybClcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+XHJcbiAgPG56LXVwbG9hZFxyXG4gICAgKm5nSWY9XCJvcHRzICYmIG9wdHM/LnVwbG9hZFR5cGUgPT0gJ2RyYWcnXCJcclxuICAgIG56VHlwZT1cImRyYWdcIlxyXG4gICAgW256QWN0aW9uXT1cIlwiXHJcbiAgICBbbnpCZWZvcmVVcGxvYWRdPVwib3B0cy5iZWZvcmVVcGxvYWQgfHwgYmVmb3JlVXBsb2FkXCJcclxuICAgIFtuelJlbW92ZV09XCJyZW1vdmVcIlxyXG4gICAgW256U2l6ZV09XCJvcHRzLm56U2l6ZSB8fCAwXCJcclxuICAgIFtuekN1c3RvbVJlcXVlc3RdPVwib3B0cy5jdXN0b21SZXEgfHwgY3VzdG9tUmVxXCJcclxuICAgIChuekNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFtuelR5cGVdPVwib3B0cz8udXBsb2FkVHlwZVwiXHJcbiAgICBbbnpBY2NlcHRdPVwib3B0cy5uekZpbGVUeXBlXCJcclxuICAgIFtuekxpbWl0XT1cIicxJ1wiXHJcbiAgPlxyXG4gICAgPHAgY2xhc3M9XCJhbnQtdXBsb2FkLWRyYWctaWNvblwiPlxyXG4gICAgICA8aSBuei1pY29uIG56VHlwZT1cImluYm94XCI+PC9pPlxyXG4gICAgPC9wPlxyXG4gICAgPHAgY2xhc3M9XCJhbnQtdXBsb2FkLXRleHRcIj7ljZXlh7vmiJbmi5bliqjmlofku7bliLDmraTljLrln5/kuIrkvKA8L3A+XHJcbiAgPC9uei11cGxvYWQ+XHJcbiAgPG56LXVwbG9hZFxyXG4gICAgKm5nSWY9XCJvcHRzICYmIG9wdHM/LnVwbG9hZFR5cGUgPT0gJ2J1dHRvbidcIlxyXG4gICAgbnpUeXBlPVwiZHJhZ1wiXHJcbiAgICBuekFjdGlvbj1cIlwiXHJcbiAgICBbbnpTaXplXT1cIm9wdHMubnpTaXplIHx8IDBcIlxyXG4gICAgW256U2hvd1VwbG9hZExpc3RdPVwic2hvd1VwbG9hZExpc3RcIlxyXG4gICAgW256QmVmb3JlVXBsb2FkXT1cIm9wdHMuYmVmb3JlVXBsb2FkIHx8IGJlZm9yZVVwbG9hZFwiXHJcbiAgICBbbnpSZW1vdmVdPVwicmVtb3ZlXCJcclxuICAgIFtuekN1c3RvbVJlcXVlc3RdPVwib3B0cy5jdXN0b21SZXEgfHwgY3VzdG9tUmVxXCJcclxuICAgIChuekNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFtuelR5cGVdPVwib3B0cz8udXBsb2FkVHlwZVwiXHJcbiAgICBbbnpBY2NlcHRdPVwib3B0cy5uekZpbGVUeXBlXCJcclxuICAgIFtuekxpbWl0XT1cIicxJ1wiXHJcbiAgPlxyXG4gICAgPGJ1dHRvbiBuei1idXR0b24gbnpTaXplPVwic21hbGxcIj48aSBuei1pY29uIG56VHlwZT1cInVwbG9hZFwiIHN0eWxlPVwiZm9udC1zaXplOiAxNnB4XCI+PC9pPjxzcGFuPiB7e29wdHMuYnRuTmFtZX19PC9zcGFuPjwvYnV0dG9uPlxyXG4gIDwvbnotdXBsb2FkPlxyXG4gIDxuei11cGxvYWRcclxuICAgICpuZ0lmPVwib3B0cyAmJiAhb3B0cz8udXBsb2FkVHlwZSBcIlxyXG4gICAgbnpBY3Rpb249XCJcIlxyXG4gICAgbnpMaXN0VHlwZT1cInBpY3R1cmUtY2FyZFwiXHJcbiAgICBbbnpTaXplXT1cIm9wdHMubnpTaXplIHx8IDBcIlxyXG4gICAgWyhuekZpbGVMaXN0KV09XCJvcHRzLmltYWdlTGlzdFwiXHJcbiAgICBbbnpTaG93QnV0dG9uXT1cIm9wdHMuaW1hZ2VMaXN0Lmxlbmd0aCA8IG9wdHMubGltaXRcIlxyXG4gICAgW256U2hvd1VwbG9hZExpc3RdPVwic2hvd1VwbG9hZExpc3RcIlxyXG4gICAgW256UHJldmlld109XCJoYW5kbGVQcmV2aWV3XCJcclxuICAgIFtuelJlbW92ZV09XCJyZW1vdmVcIlxyXG4gICAgW256QmVmb3JlVXBsb2FkXT1cIm9wdHMuYmVmb3JlVXBsb2FkIHx8IGJlZm9yZVVwbG9hZFwiXHJcbiAgICBbbnpDdXN0b21SZXF1ZXN0XT1cIm9wdHMuY3VzdG9tUmVxIHx8IGN1c3RvbVJlcVwiXHJcbiAgICAobnpDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbnpUeXBlXT1cIm9wdHM/LnVwbG9hZFR5cGVcIlxyXG4gICAgW256QWNjZXB0XT1cIm9wdHMubnpGaWxlVHlwZVwiXHJcbiAgICBbbnpEaXNhYmxlZF09XCIhaXNFZGl0XCJcclxuICAgIFtuekxpbWl0XT1cIicxJ1wiXHJcbiAgICBbbnpGaWxlTGlzdFJlbmRlcl09XCJvcHRzICYmIGlzRWRpdCAmJiBhbGxvd0NoYW5nU2VxICYmIG9wdHMuaW1hZ2VMaXN0Lmxlbmd0aCA+IDAgPyBmaWxlTGlzdFRtcCA6IG51bGxcIlxyXG4gID5cclxuICAgIDxpIG56LWljb24gbnpUeXBlPVwicGx1c1wiPjwvaT5cclxuICAgIDxkaXYgY2xhc3M9XCJhbnQtdXBsb2FkLXRleHRcIj57e29wdHMuYnRuTmFtZT9vcHRzLmJ0bk5hbWU6J+S4iuS8oOWbvueJhyd9fTwvZGl2PlxyXG4gIDwvbnotdXBsb2FkPlxyXG4gIDwhLS0gPGEgKm5nSWY9XCJhbGxvd0NoYW5nU2VxICYmIGlzRWRpdCAmJiBvcHRzLmltYWdlTGlzdC5sZW5ndGggPiAxXCIgKGNsaWNrKT1cIm9wZW5CYW5uZXJTZXEoaW1nc0NvbnRlbnQsIHRwbEZvb3RlcilcIlxyXG4gICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4OyBcIlxyXG4gICA+PGkgbnotaWNvbiBuelR5cGU9XCJwbHVzXCIgbnpUaGVtZT1cIm91dGxpbmVcIiBzdHlsZT1cImNvbG9yOiAjMTg5MGZmOyBmb250LXNpemU6IDE1cHhcIj48L2k+6LCD5pW05Zu+54mH6aG65bqPPC9hPi0tPlxyXG4gIDxuei1tb2RhbFxyXG4gICAgW256VmlzaWJsZV09XCJwcmV2aWV3VmlzaWJsZVwiXHJcbiAgICBbbnpDb250ZW50XT1cIm1vZGFsQ29udGVudFwiXHJcbiAgICBbbnpGb290ZXJdPVwibnVsbFwiXHJcbiAgICAobnpPbkNhbmNlbCk9XCJwcmV2aWV3VmlzaWJsZSA9IGZhbHNlXCJcclxuICA+XHJcbiAgICA8bmctdGVtcGxhdGUgI21vZGFsQ29udGVudD5cclxuICAgICAgPGltZyAqbmdJZj1cIiFwcmV2aWV3SW1hZ2UuZW5kc1dpdGgoJy5tcDQnKVwiIFtzcmNdPVwicHJldmlld0ltYWdlXCIgW25nU3R5bGVdPVwieyB3aWR0aDogJzEwMCUnIH1cIi8+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTttYXJnaW4tdG9wOiAxNXB4XCI+XHJcbiAgICAgICAgPGFwcC12aWRlbyAqbmdJZj1cInByZXZpZXdJbWFnZS5lbmRzV2l0aCgnLm1wNCcpXCIgW3VybF09XCJwcmV2aWV3SW1hZ2VcIj48L2FwcC12aWRlbz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbnotbW9kYWw+XHJcbiAgPG5nLXRlbXBsYXRlICNpbWdzQ29udGVudD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRzICYmIG9wdHMuaW1hZ2VMaXN0XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZ3Mgb2Ygb3B0cy5pbWFnZUxpc3Q7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbWctZGl2XCI+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1ncy51cmwgfHwgaW1ncy50aHVtYlVybFwiIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcxMDBweCcsZGlzcGxheTogJ2lubGluZS1ibG9jaycsIG1hcmdpbjonMTBweCcgfVwiLz5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDIwcHhcIj5cclxuICAgICAgICAgICAgPGEgdGl0bGU9XCLkuIrnp7tcIiAqbmdJZj1cIiBpID4gMFwiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCIgKGNsaWNrKT1cImFycm93VXAoaSlcIj48aSBuei1pY29uIG56VHlwZT1cImFycm93LXVwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuelRoZW1lPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJjb2xvcjogIzE4OTBmZjsgZm9udC1zaXplOiAxNXB4O1wiPjwvaT5cclxuICAgICAgICAgICAgICDkuIrnp7s8L2E+XHJcbiAgICAgICAgICAgIDxhIHRpdGxlPVwi5LiL56e7XCIgKm5nSWY9XCIgaSA8IG9wdHMuaW1hZ2VMaXN0Lmxlbmd0aCAtIDFcIiAoY2xpY2spPVwiYXJyb3dEb3duKGkpXCI+PGkgbnotaWNvbiBuelR5cGU9XCJhcnJvdy1kb3duXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG56VGhlbWU9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6ICMxODkwZmY7IGZvbnQtc2l6ZTogMTVweFwiPjwvaT5cclxuICAgICAgICAgICAgICDkuIvnp7s8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8IS0tICA8L256LW1vZGFsPi0tPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNmaWxlTGlzdFRtcD5cclxuICA8ZGl2IGRyYWd1bGE9XCJkcmFndWxhQmFnXCIgWyhkcmFndWxhTW9kZWwpXT1cIm9wdHMuaW1hZ2VMaXN0XCIgKGRyYWd1bGFNb2RlbENoYW5nZSk9XCJkcmFnbnVtYmVyKCRldmVudClcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZ3Mgb2Ygb3B0cy5pbWFnZUxpc3Q7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW1nLWRpdiBpbWctcHJlXCIgc3R5bGU9XCJcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0SW1nVXJsKGltZ3MpIHxvc3NJbWdcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiAnMTAwcHgnLGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLCBtYXJnaW46JzEwcHgnIH1cIi8+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxzcGFuIChjbGljayk9XCJwcml2aWV3SW1nKGltZ3MpXCIgbnotaWNvbiBuelR5cGU9XCJleWVcIiBuelRoZW1lPVwib3V0bGluZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIChjbGljayk9XCJkZWxJbWcoaSlcIiBuei1pY29uIG56VHlwZT1cImRlbGV0ZVwiIG56VGhlbWU9XCJvdXRsaW5lXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICN0cGxGb290ZXI+XHJcbiAgPGJ1dHRvbiBuei1idXR0b24gbnpUeXBlPVwiZGVmYXVsdFwiIChjbGljayk9XCJkZXN0cm95VHBsTW9kYWwoKVwiPlxyXG4gICAg5Y+W5raIXHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBuei1idXR0b24gbnpUeXBlPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlU2VxKClcIj5cclxuICAgIOS/neWtmOmhuuW6j1xyXG4gIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
//响应式表单自定义模板验证器
|
|
2
|
-
export function telphoneValidator() {
|
|
3
|
-
return (contrl) => {
|
|
4
|
-
let nameExp = new RegExp('^1[3456789]\\d{9}$');
|
|
5
|
-
const forbidden = nameExp.test(contrl.value);
|
|
6
|
-
return !forbidden ? { 'telphone': { value: contrl.value } } : null;
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXZhbGlkdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdmFsaWRhdG9ycy9hdHItdmFsaWR0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGVBQWU7QUFDZixNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLE9BQU8sQ0FBQyxNQUFzQixFQUErQixFQUFFO1FBQzNELElBQUksT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRSxDQUFDLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIlxyXG5cclxuLy/lk43lupTlvI/ooajljZXoh6rlrprkuYnmqKHmnb/pqozor4HlmahcclxuZXhwb3J0IGZ1bmN0aW9uIHRlbHBob25lVmFsaWRhdG9yKCk6VmFsaWRhdG9yRm57XHJcbiAgICByZXR1cm4gKGNvbnRybDpBYnN0cmFjdENvbnRyb2wpOiB7W2tleTogc3RyaW5nXTogYW55fSB8IG51bGwgPT57XHJcbiAgICAgICAgbGV0IG5hbWVFeHAgPSBuZXcgUmVnRXhwKCdeMVszNDU2Nzg5XVxcXFxkezl9JCcpO1xyXG4gICAgICAgIGNvbnN0IGZvcmJpZGRlbiA9IG5hbWVFeHAudGVzdChjb250cmwudmFsdWUpO1xyXG4gICAgICAgIHJldHVybiAhZm9yYmlkZGVuID8geyd0ZWxwaG9uZSc6IHt2YWx1ZTogY29udHJsLnZhbHVlfX0gOiBudWxsO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@videogular/ngx-videogular/core";
|
|
4
|
-
import * as i2 from "@videogular/ngx-videogular/controls";
|
|
5
|
-
export class VideoComponent {
|
|
6
|
-
constructor() { }
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: VideoComponent, selector: "app-video", inputs: { url: "url" }, ngImport: i0, template: "<vg-player>\r\n <vg-controls vgFor=\"__VG__VIDEO__\" >\r\n <vg-play-pause></vg-play-pause>\r\n <vg-scrub-bar>\r\n <vg-scrub-bar-current-time></vg-scrub-bar-current-time>\r\n <vg-scrub-bar-buffering-time></vg-scrub-bar-buffering-time>\r\n </vg-scrub-bar>\r\n <vg-time-display vgProperty=\"left\" vgFormat=\"mm:ss\"></vg-time-display>\r\n\r\n <!-- <vg-volume></vg-volume> -->\r\n <vg-mute></vg-mute>\r\n\r\n <vg-fullscreen></vg-fullscreen>\r\n </vg-controls>\r\n\r\n <video\r\n id=\"__VG__VIDEO__\"\r\n #media\r\n [vgMedia]=\"$any(media)\"\r\n preload=\"auto\"\r\n style=\"width: 100%;\"\r\n >\r\n <source [src]=\"url\" type=\"video/mp4\">\r\n </video>\r\n</vg-player>\r\n", styles: [":host{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.VgMediaDirective, selector: "[vgMedia]", inputs: ["vgMedia", "vgMaster"] }, { kind: "component", type: i1.VgPlayerComponent, selector: "vg-player", outputs: ["onPlayerReady", "onMediaReady"] }, { kind: "component", type: i2.VgControlsComponent, selector: "vg-controls", inputs: ["vgFor", "vgAutohide", "vgAutohideTime"] }, { kind: "component", type: i2.VgTimeDisplayComponent, selector: "vg-time-display", inputs: ["vgFor", "vgProperty", "vgFormat"] }, { kind: "component", type: i2.VgScrubBarComponent, selector: "vg-scrub-bar", inputs: ["vgFor", "vgSlider"] }, { kind: "component", type: i2.VgPlayPauseComponent, selector: "vg-play-pause", inputs: ["vgFor"] }, { kind: "component", type: i2.VgMuteComponent, selector: "vg-mute", inputs: ["vgFor"] }, { kind: "component", type: i2.VgFullscreenComponent, selector: "vg-fullscreen" }, { kind: "component", type: i2.VgScrubBarBufferingTimeComponent, selector: "vg-scrub-bar-buffering-time", inputs: ["vgFor"] }, { kind: "component", type: i2.VgScrubBarCurrentTimeComponent, selector: "vg-scrub-bar-current-time", inputs: ["vgFor", "vgSlider"] }] }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VideoComponent, decorators: [{
|
|
11
|
-
type: Component,
|
|
12
|
-
args: [{ selector: 'app-video', template: "<vg-player>\r\n <vg-controls vgFor=\"__VG__VIDEO__\" >\r\n <vg-play-pause></vg-play-pause>\r\n <vg-scrub-bar>\r\n <vg-scrub-bar-current-time></vg-scrub-bar-current-time>\r\n <vg-scrub-bar-buffering-time></vg-scrub-bar-buffering-time>\r\n </vg-scrub-bar>\r\n <vg-time-display vgProperty=\"left\" vgFormat=\"mm:ss\"></vg-time-display>\r\n\r\n <!-- <vg-volume></vg-volume> -->\r\n <vg-mute></vg-mute>\r\n\r\n <vg-fullscreen></vg-fullscreen>\r\n </vg-controls>\r\n\r\n <video\r\n id=\"__VG__VIDEO__\"\r\n #media\r\n [vgMedia]=\"$any(media)\"\r\n preload=\"auto\"\r\n style=\"width: 100%;\"\r\n >\r\n <source [src]=\"url\" type=\"video/mp4\">\r\n </video>\r\n</vg-player>\r\n", styles: [":host{width:100%}\n"] }]
|
|
13
|
-
}], ctorParameters: () => [], propDecorators: { url: [{
|
|
14
|
-
type: Input
|
|
15
|
-
}] } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC92aWRlby92aWRlby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3ZpZGVvL3ZpZGVvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT2pELE1BQU0sT0FBTyxjQUFjO0lBSXpCLGdCQUFnQixDQUFDOytHQUpOLGNBQWM7bUdBQWQsY0FBYyx5RUNQM0Isd3RCQXlCQTs7NEZEbEJhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsV0FBVzt3REFNWixHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC12aWRlbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZGVvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92aWRlby5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWRlb0NvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHVybDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBcclxufSIsIjx2Zy1wbGF5ZXI+XHJcbiAgPHZnLWNvbnRyb2xzIHZnRm9yPVwiX19WR19fVklERU9fX1wiID5cclxuICAgIDx2Zy1wbGF5LXBhdXNlPjwvdmctcGxheS1wYXVzZT5cclxuICAgIDx2Zy1zY3J1Yi1iYXI+XHJcbiAgICAgIDx2Zy1zY3J1Yi1iYXItY3VycmVudC10aW1lPjwvdmctc2NydWItYmFyLWN1cnJlbnQtdGltZT5cclxuICAgICAgPHZnLXNjcnViLWJhci1idWZmZXJpbmctdGltZT48L3ZnLXNjcnViLWJhci1idWZmZXJpbmctdGltZT5cclxuICAgIDwvdmctc2NydWItYmFyPlxyXG4gICAgPHZnLXRpbWUtZGlzcGxheSB2Z1Byb3BlcnR5PVwibGVmdFwiIHZnRm9ybWF0PVwibW06c3NcIj48L3ZnLXRpbWUtZGlzcGxheT5cclxuXHJcbiAgICA8IS0tIDx2Zy12b2x1bWU+PC92Zy12b2x1bWU+IC0tPlxyXG4gICAgPHZnLW11dGU+PC92Zy1tdXRlPlxyXG5cclxuICAgIDx2Zy1mdWxsc2NyZWVuPjwvdmctZnVsbHNjcmVlbj5cclxuICA8L3ZnLWNvbnRyb2xzPlxyXG5cclxuICA8dmlkZW9cclxuICAgIGlkPVwiX19WR19fVklERU9fX1wiXHJcbiAgICAjbWVkaWFcclxuICAgIFt2Z01lZGlhXT1cIiRhbnkobWVkaWEpXCJcclxuICAgIHByZWxvYWQ9XCJhdXRvXCJcclxuICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7XCJcclxuICAgID5cclxuICAgIDxzb3VyY2UgW3NyY109XCJ1cmxcIiB0eXBlPVwidmlkZW8vbXA0XCI+XHJcbiAgPC92aWRlbz5cclxuPC92Zy1wbGF5ZXI+XHJcbiJdfQ==
|