@dignite-ng/expand.file-explorer 3.0.0-rc.49 → 3.0.0-rc.50
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/esm2022/lib/components/dome/file-dome.component.mjs +2 -4
- package/esm2022/lib/components/file-edit/file-edit.component.mjs +33 -24
- package/esm2022/lib/components/file-modal/file-modal.component.mjs +16 -20
- package/esm2022/lib/components/file-modal-tree/file-modal-tree.component.mjs +15 -17
- package/esm2022/lib/components/file-picker/file-picker.component.mjs +14 -16
- package/esm2022/lib/file-explorer.module.mjs +24 -10
- package/esm2022/lib/pipe/format-file-size.pipe.mjs +35 -0
- package/esm2022/public-api.mjs +1 -3
- package/fesm2022/dignite-ng-expand.file-explorer.mjs +97 -114
- package/fesm2022/dignite-ng-expand.file-explorer.mjs.map +1 -1
- package/lib/components/dome/file-dome.component.d.ts +0 -1
- package/lib/components/file-edit/file-edit.component.d.ts +6 -4
- package/lib/components/file-modal/file-modal.component.d.ts +1 -4
- package/lib/components/file-modal-tree/file-modal-tree.component.d.ts +1 -3
- package/lib/components/file-picker/file-picker.component.d.ts +0 -3
- package/lib/file-explorer.module.d.ts +2 -1
- package/lib/pipe/format-file-size.pipe.d.ts +14 -0
- package/package.json +1 -1
- package/esm2022/lib/services/file-api.service.mjs +0 -68
- package/lib/services/file-api.service.d.ts +0 -14
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Component
|
|
2
|
-
import { FileApiService } from '../../services/file-api.service';
|
|
1
|
+
import { Component } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "../file-edit/file-edit.component";
|
|
5
4
|
import * as i2 from "../file-picker/file-picker.component";
|
|
@@ -7,7 +6,6 @@ export class FileDomeComponent {
|
|
|
7
6
|
constructor() {
|
|
8
7
|
/**跟随表单提交--已提交的数据,或选择的数据源 */
|
|
9
8
|
this.fileSubmittedData = [];
|
|
10
|
-
this.FileApiService = inject(FileApiService);
|
|
11
9
|
/**选择文件-弹窗的-已选定的文件 */
|
|
12
10
|
this.selectedFileGroup = [];
|
|
13
11
|
}
|
|
@@ -26,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
26
24
|
type: Component,
|
|
27
25
|
args: [{ selector: 'fe-file-dome', template: "<div class=\"row\">\r\n <div class=\"col\">\r\n <div class=\"card\">\r\n <div class=\"card-header py-2 border-bottom\">Send file stream with form</div>\r\n <div class=\"card-body\">\r\n <fe-file-edit [(fileData)]=\"fileSubmittedData\" (fileDataChange)=\"fileDataChange($event)\"></fe-file-edit>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col\">\r\n <div class=\"card\">\r\n <div class=\"card-header py-2 border-bottom\">Send file stream with form</div>\r\n <div class=\"card-body\">\r\n <fe-file-picker [selectFormFile]=\"selectedFileGroup\" fileContainerName=\"SampleContainer\" (selectedFileChange)=\"_selectedFileChange($event)\" ></fe-file-picker>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
28
26
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb21lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9jb21wb25lbnRzL2RvbWUvZmlsZS1kb21lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9jb21wb25lbnRzL2RvbWUvZmlsZS1kb21lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRMUMsTUFBTSxPQUFPLGlCQUFpQjtJQU45QjtRQVFFLDRCQUE0QjtRQUM1QixzQkFBaUIsR0FBVSxFQUFFLENBQUE7UUFjN0IscUJBQXFCO1FBQ3JCLHNCQUFpQixHQUFPLEVBQUUsQ0FBQTtLQU0zQjtJQVpDLHNCQUFzQjtJQUN0QixjQUFjLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFBO0lBQ3BDLENBQUM7SUFLRCx1QkFBdUI7SUFDdkIsbUJBQW1CLENBQUMsS0FBSztRQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFBO0lBQ2hDLENBQUM7OEdBdkJVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9EQ1I5QiwyMEJBaUJNOzsyRkRUTyxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBRUUsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdmZS1maWxlLWRvbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1kb21lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1kb21lLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZURvbWVDb21wb25lbnQge1xuXG4gIC8qKui3n+maj+ihqOWNleaPkOS6pC0t5bey5o+Q5Lqk55qE5pWw5o2u77yM5oiW6YCJ5oup55qE5pWw5o2u5rqQICovXG4gIGZpbGVTdWJtaXR0ZWREYXRhOiBhbnlbXSA9IFtdXG5cbiAgLyoq6Lef6ZqP6KGo5Y2V5o+Q5LqkLS3lvoXmj5DkuqTnmoTmlbDmja5cbiAgICogXG4gICAqIEBwYXJhbSDlvoXkuIrkvKDnmoTmlofku7bku6xcbiAgICogQHBhcmFtIOW+heWIoOmZpOW3suS4iuS8oOeahOaWh+S7tuS7rFxuICAgKi9cbiAgZmlsZURhdGFUb0JlU3VibWl0dGVkOiBhbnlcblxuICAvKirot5/pmo/ooajljZXmj5DkuqQtLeaVsOaNruWPkeeUn+aUueWPmOWbnuiwgyAqL1xuICBmaWxlRGF0YUNoYW5nZShldmVudCkge1xuICAgIHRoaXMuZmlsZURhdGFUb0JlU3VibWl0dGVkID0gZXZlbnRcbiAgfVxuXG4gIC8qKumAieaLqeaWh+S7ti3lvLnnqpfnmoQt5bey6YCJ5a6a55qE5paH5Lu2ICovXG4gIHNlbGVjdGVkRmlsZUdyb3VwOmFueVtdPVtdXG5cbiAgLyoqX3NlbGVjdGVkRmlsZeaUueWPmOWbnuiwgyAqL1xuICBfc2VsZWN0ZWRGaWxlQ2hhbmdlKGV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVHcm91cCA9IGV2ZW50XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHktMiBib3JkZXItYm90dG9tXCI+U2VuZCBmaWxlIHN0cmVhbSB3aXRoIGZvcm08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGZlLWZpbGUtZWRpdCAgWyhmaWxlRGF0YSldPVwiZmlsZVN1Ym1pdHRlZERhdGFcIiAgIChmaWxlRGF0YUNoYW5nZSk9XCJmaWxlRGF0YUNoYW5nZSgkZXZlbnQpXCI+PC9mZS1maWxlLWVkaXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHB5LTIgYm9yZGVyLWJvdHRvbVwiPlNlbmQgZmlsZSBzdHJlYW0gd2l0aCBmb3JtPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxmZS1maWxlLXBpY2tlciAgW3NlbGVjdEZvcm1GaWxlXT1cInNlbGVjdGVkRmlsZUdyb3VwXCIgZmlsZUNvbnRhaW5lck5hbWU9XCJTYW1wbGVDb250YWluZXJcIiAoc2VsZWN0ZWRGaWxlQ2hhbmdlKT1cIl9zZWxlY3RlZEZpbGVDaGFuZ2UoJGV2ZW50KVwiID48L2ZlLWZpbGUtcGlja2VyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
1
2
|
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
+
import { GetImageLacolBase64urlService } from '@dignite-ng/expand.core';
|
|
4
|
+
import { FormatFileSizePipe } from '../../pipe/format-file-size.pipe';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../
|
|
5
|
-
import * as i2 from "@
|
|
6
|
-
import * as i3 from "@
|
|
7
|
-
import * as i4 from "
|
|
6
|
+
import * as i1 from "../../pipe/format-file-size.pipe";
|
|
7
|
+
import * as i2 from "@dignite-ng/expand.core";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@abp/ng.core";
|
|
10
|
+
import * as i5 from "../../previews/file-preview.component";
|
|
8
11
|
export class FileEditComponent {
|
|
9
|
-
constructor(
|
|
10
|
-
this.
|
|
12
|
+
constructor(_FormatFileSizePipe, _GetImageLacolBase64urlService) {
|
|
13
|
+
this._FormatFileSizePipe = _FormatFileSizePipe;
|
|
14
|
+
this._GetImageLacolBase64urlService = _GetImageLacolBase64urlService;
|
|
11
15
|
/**是否多选 */
|
|
12
16
|
this._multiple = true;
|
|
13
17
|
/**文件数据--已上传的数据 */
|
|
@@ -16,7 +20,7 @@ export class FileEditComponent {
|
|
|
16
20
|
this.fileDataChange = new EventEmitter();
|
|
17
21
|
/**文件大小限制
|
|
18
22
|
* @param 1mb
|
|
19
|
-
|
|
23
|
+
*/
|
|
20
24
|
this.sizeLimit = 1048576;
|
|
21
25
|
/**文件表格数据 */
|
|
22
26
|
this.filesTableData = [];
|
|
@@ -25,7 +29,7 @@ export class FileEditComponent {
|
|
|
25
29
|
}
|
|
26
30
|
set multiple(v) {
|
|
27
31
|
this._multiple = v;
|
|
28
|
-
if (v) { }
|
|
32
|
+
// if (v) { }
|
|
29
33
|
}
|
|
30
34
|
set fileData(v) {
|
|
31
35
|
this._fileData = v;
|
|
@@ -38,15 +42,16 @@ export class FileEditComponent {
|
|
|
38
42
|
}
|
|
39
43
|
/**获取文件信息改变 */
|
|
40
44
|
async getFileChange(event) {
|
|
41
|
-
|
|
45
|
+
const files = new Array(...event.target.files);
|
|
42
46
|
/**需要等待setfileSizeUnits执行完后在执行其他方法--需要完善 */
|
|
43
47
|
await this.waitFileToAddTable(files);
|
|
44
48
|
this.fileHandling();
|
|
45
49
|
}
|
|
46
50
|
/**等待将文件数据加入到文件表格数据中 */
|
|
47
51
|
waitFileToAddTable(files) {
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
53
|
+
return new Promise(async (resolve) => {
|
|
54
|
+
this.filesTableData.push(...(await this.setfileSizeUnits(files)));
|
|
50
55
|
resolve(true);
|
|
51
56
|
});
|
|
52
57
|
}
|
|
@@ -60,32 +65,36 @@ export class FileEditComponent {
|
|
|
60
65
|
}
|
|
61
66
|
/**文件处理-调用回调函数 */
|
|
62
67
|
fileHandling() {
|
|
63
|
-
|
|
68
|
+
const theFilesToBeUploaded = this.filesTableData.filter(el => !el.id);
|
|
64
69
|
//判断图片大小是否超过限制-用于判断表单是否允许提交
|
|
65
|
-
|
|
66
|
-
this.fileDataChange.emit({
|
|
70
|
+
const isSubmit = !this.filesTableData.some(el => el.size > this.sizeLimit);
|
|
71
|
+
this.fileDataChange.emit({
|
|
72
|
+
theFilesToBeUploaded,
|
|
73
|
+
deleteTheUploadedFiles: this.deleteTheUploadedFiles,
|
|
74
|
+
isSubmit,
|
|
75
|
+
});
|
|
67
76
|
}
|
|
68
77
|
/**设置值文件大小单位/ */
|
|
69
78
|
async setfileSizeUnits(files) {
|
|
70
|
-
return new Promise((resolve
|
|
71
|
-
|
|
79
|
+
return new Promise((resolve) => {
|
|
80
|
+
const formattedFiles = [];
|
|
72
81
|
files.forEach(async (file) => {
|
|
73
|
-
file.fileSize = this.
|
|
82
|
+
file.fileSize = this._FormatFileSizePipe.transform(file.size);
|
|
74
83
|
formattedFiles.push(file);
|
|
75
84
|
//设置选择图片的本地url
|
|
76
85
|
if (!file.src)
|
|
77
|
-
file.src = await this.
|
|
86
|
+
file.src = await this._GetImageLacolBase64urlService.get(file);
|
|
78
87
|
});
|
|
79
88
|
resolve(files);
|
|
80
89
|
});
|
|
81
90
|
}
|
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileEditComponent, deps: [{ token: i1.
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: FileEditComponent, selector: "fe-file-edit", inputs: { multiple: "multiple", fileData: "fileData", limit: "limit" }, outputs: { fileDataChange: "fileDataChange" }, viewQueries: [{ propertyName: "fileEdit", first: true, predicate: ["fileEdit"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"input-group mb-3\">\n <input type=\"file\" class=\"form-control\" #fileEdit [multiple]=\"_multiple\" (change)=\"getFileChange($event)\">\n</div>\n\n<table class=\"table\" *ngIf=\"filesTableData.length>0\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">{{'FileExplorer::FileName' | abpLocalization}}</th>\n <th scope=\"col\">{{'FileExplorer::FileSize' | abpLocalization}}</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of filesTableData;let i =index\">\n <tr>\n <td>\n <fe-file-preview [width]=\"'80px'\" [src]=\"item.src\" [name]=\"item.name\" [type]=\"item.type\" [preview]=\"true\"></fe-file-preview>\n </td>\n <th scope=\"row\">\n <div>{{item.name}}</div>\n <div class=\"form-text text-danger\" *ngIf=\"item.size > sizeLimit\">\n {{'FileExplorer::ExceedsMaximumSize' |\n abpLocalization:
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileEditComponent, deps: [{ token: i1.FormatFileSizePipe }, { token: i2.GetImageLacolBase64urlService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: FileEditComponent, selector: "fe-file-edit", inputs: { multiple: "multiple", fileData: "fileData", limit: "limit" }, outputs: { fileDataChange: "fileDataChange" }, viewQueries: [{ propertyName: "fileEdit", first: true, predicate: ["fileEdit"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"input-group mb-3\">\n <input type=\"file\" class=\"form-control\" #fileEdit [multiple]=\"_multiple\" (change)=\"getFileChange($event)\">\n</div>\n\n<table class=\"table\" *ngIf=\"filesTableData.length>0\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">{{'FileExplorer::FileName' | abpLocalization}}</th>\n <th scope=\"col\">{{'FileExplorer::FileSize' | abpLocalization}}</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of filesTableData;let i =index\">\n <tr>\n <td>\n <fe-file-preview [width]=\"'80px'\" [src]=\"item.src\" [name]=\"item.name\" [type]=\"item.type\" [preview]=\"true\"></fe-file-preview>\n </td>\n <th scope=\"row\">\n <div>{{item.name}}</div>\n <div class=\"form-text text-danger\" *ngIf=\"item.size > sizeLimit\">\n {{'FileExplorer::ExceedsMaximumSize' |\n abpLocalization:(sizeLimit|formatFileSize)}}</div>\n </th>\n <td>{{item.fileSize}}</td>\n <td>\n <button class=\"btn btn-sm p-0 btn-light \" (click.stop)=\"deleteFileTableItem(i,item)\">\n <i class=\"fas fa-trash p-2\"></i>\n </button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n</table>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "component", type: i5.FilePreviewComponent, selector: "fe-file-preview", inputs: ["width", "src", "preview", "type", "name", "className"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }, { kind: "pipe", type: i1.FormatFileSizePipe, name: "formatFileSize" }] }); }
|
|
84
93
|
}
|
|
85
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileEditComponent, decorators: [{
|
|
86
95
|
type: Component,
|
|
87
|
-
args: [{ selector: 'fe-file-edit', template: "<div class=\"input-group mb-3\">\n <input type=\"file\" class=\"form-control\" #fileEdit [multiple]=\"_multiple\" (change)=\"getFileChange($event)\">\n</div>\n\n<table class=\"table\" *ngIf=\"filesTableData.length>0\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">{{'FileExplorer::FileName' | abpLocalization}}</th>\n <th scope=\"col\">{{'FileExplorer::FileSize' | abpLocalization}}</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of filesTableData;let i =index\">\n <tr>\n <td>\n <fe-file-preview [width]=\"'80px'\" [src]=\"item.src\" [name]=\"item.name\" [type]=\"item.type\" [preview]=\"true\"></fe-file-preview>\n </td>\n <th scope=\"row\">\n <div>{{item.name}}</div>\n <div class=\"form-text text-danger\" *ngIf=\"item.size > sizeLimit\">\n {{'FileExplorer::ExceedsMaximumSize' |\n abpLocalization:
|
|
88
|
-
}], ctorParameters: () => [{ type: i1.
|
|
96
|
+
args: [{ selector: 'fe-file-edit', template: "<div class=\"input-group mb-3\">\n <input type=\"file\" class=\"form-control\" #fileEdit [multiple]=\"_multiple\" (change)=\"getFileChange($event)\">\n</div>\n\n<table class=\"table\" *ngIf=\"filesTableData.length>0\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">{{'FileExplorer::FileName' | abpLocalization}}</th>\n <th scope=\"col\">{{'FileExplorer::FileSize' | abpLocalization}}</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of filesTableData;let i =index\">\n <tr>\n <td>\n <fe-file-preview [width]=\"'80px'\" [src]=\"item.src\" [name]=\"item.name\" [type]=\"item.type\" [preview]=\"true\"></fe-file-preview>\n </td>\n <th scope=\"row\">\n <div>{{item.name}}</div>\n <div class=\"form-text text-danger\" *ngIf=\"item.size > sizeLimit\">\n {{'FileExplorer::ExceedsMaximumSize' |\n abpLocalization:(sizeLimit|formatFileSize)}}</div>\n </th>\n <td>{{item.fileSize}}</td>\n <td>\n <button class=\"btn btn-sm p-0 btn-light \" (click.stop)=\"deleteFileTableItem(i,item)\">\n <i class=\"fas fa-trash p-2\"></i>\n </button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n</table>" }]
|
|
97
|
+
}], ctorParameters: () => [{ type: i1.FormatFileSizePipe }, { type: i2.GetImageLacolBase64urlService }], propDecorators: { multiple: [{
|
|
89
98
|
type: Input
|
|
90
99
|
}], fileData: [{
|
|
91
100
|
type: Input
|
|
@@ -97,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
97
106
|
type: ViewChild,
|
|
98
107
|
args: ['fileEdit', { static: true }]
|
|
99
108
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtZWRpdC9maWxlLWVkaXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmlsZS1leHBsb3Jlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1lZGl0L2ZpbGUtZWRpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFPakUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNTLGVBQStCO1FBQS9CLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUd4QyxVQUFVO1FBQ1YsY0FBUyxHQUFZLElBQUksQ0FBQTtRQU16QixrQkFBa0I7UUFDbEIsY0FBUyxHQUFVLEVBQUUsQ0FBQTtRQVFyQixnQ0FBZ0M7UUFDdEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBRTdDOztVQUVFO1FBQ0YsY0FBUyxHQUFXLE9BQU8sQ0FBQTtRQU0zQixZQUFZO1FBQ1osbUJBQWMsR0FBVSxFQUFFLENBQUE7UUFDMUIsZ0JBQWdCO1FBQ2hCLDJCQUFzQixHQUFVLEVBQUUsQ0FBQTtJQWpDOUIsQ0FBQztJQUlMLElBQ1csUUFBUSxDQUFDLENBQVU7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBR0QsSUFDVyxRQUFRLENBQUMsQ0FBUTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFRRCxJQUNXLEtBQUssQ0FBQyxDQUFTO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFXRCxjQUFjO0lBQ2QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM1QywyQ0FBMkM7UUFDM0MsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsa0JBQWtCLENBQUMsS0FBSztRQUN0QixPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1lBQy9ELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGNBQWM7SUFDZCxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDcEMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUVELGlCQUFpQjtJQUNqQixZQUFZO1FBQ1YsSUFBSSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ25FLDJCQUEyQjtRQUMzQixJQUFJLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUNuSCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFxQjtRQUMxQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxHQUFHLEVBQUUsQ0FBQTtZQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQzlELGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3pCLGNBQWM7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO29CQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BGLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs4R0F2RlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsK1JDUjlCLGdnREFrQ1E7OzJGRDFCSyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsY0FBYzttRkFZYixRQUFRO3NCQURsQixLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBUUksY0FBYztzQkFBdkIsTUFBTTtnQkFPSSxLQUFLO3NCQURmLEtBQUs7Z0JBV21DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbGVBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmlsZS1hcGkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZlLWZpbGUtZWRpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWVkaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWVkaXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRWRpdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBfRmlsZUFwaVNlcnZpY2U6IEZpbGVBcGlTZXJ2aWNlLFxuICApIHsgfVxuXG4gIC8qKuaYr+WQpuWkmumAiSAqL1xuICBfbXVsdGlwbGU6IGJvb2xlYW4gPSB0cnVlXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbXVsdGlwbGUodjogYm9vbGVhbikge1xuICAgIHRoaXMuX211bHRpcGxlID0gdjtcbiAgICBpZiAodikgeyB9XG4gIH1cbiAgLyoq5paH5Lu25pWw5o2uLS3lt7LkuIrkvKDnmoTmlbDmja4gKi9cbiAgX2ZpbGVEYXRhOiBhbnlbXSA9IFtdXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmlsZURhdGEodjogYW55W10pIHtcbiAgICB0aGlzLl9maWxlRGF0YSA9IHY7XG4gICAgaWYgKHYubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5nZXRGaWxlQ2hhbmdlKHsgdGFyZ2V0OiB7IGZpbGVzOiB2IH0gfSlcbiAgICB9XG4gIH1cbiAgLyoqIOi3n+maj+ihqOWNleaPkOS6pC0t5bey5o+Q5Lqk55qE5pWw5o2u77yM5oiW6YCJ5oup55qE5pWw5o2u5rqQLS3lm57osIMqL1xuICBAT3V0cHV0KCkgZmlsZURhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICAvKirmlofku7blpKflsI/pmZDliLYgXG4gICAqIEBwYXJhbSAxbWJcbiAgKi9cbiAgc2l6ZUxpbWl0OiBudW1iZXIgPSAxMDQ4NTc2XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbGltaXQodjogbnVtYmVyKSB7XG4gICAgdGhpcy5zaXplTGltaXQgPSB2O1xuICB9XG5cbiAgLyoq5paH5Lu26KGo5qC85pWw5o2uICovXG4gIGZpbGVzVGFibGVEYXRhOiBhbnlbXSA9IFtdXG4gIC8qKiDlvoXliKDpmaTlt7LkuIrkvKDnmoTmlofku7bku6wqL1xuICBkZWxldGVUaGVVcGxvYWRlZEZpbGVzOiBhbnlbXSA9IFtdXG5cbiAgLyoq6I635Y+W5paH5Lu26YCJ5oup5qGG55qE5YWD57SgICovXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVFZGl0JywgeyBzdGF0aWM6IHRydWUgfSkgZmlsZUVkaXQ6IEVsZW1lbnRSZWY7XG5cblxuICAvKirojrflj5bmlofku7bkv6Hmga/mlLnlj5ggKi9cbiAgYXN5bmMgZ2V0RmlsZUNoYW5nZShldmVudCkge1xuICAgIGxldCBmaWxlcyA9IG5ldyBBcnJheSguLi5ldmVudC50YXJnZXQuZmlsZXMpXG4gICAgLyoq6ZyA6KaB562J5b6Fc2V0ZmlsZVNpemVVbml0c+aJp+ihjOWujOWQjuWcqOaJp+ihjOWFtuS7luaWueazlS0t6ZyA6KaB5a6M5ZaEICovXG4gICAgYXdhaXQgdGhpcy53YWl0RmlsZVRvQWRkVGFibGUoZmlsZXMpXG4gICAgdGhpcy5maWxlSGFuZGxpbmcoKVxuICB9XG5cbiAgLyoq562J5b6F5bCG5paH5Lu25pWw5o2u5Yqg5YWl5Yiw5paH5Lu26KGo5qC85pWw5o2u5LitICovXG4gIHdhaXRGaWxlVG9BZGRUYWJsZShmaWxlcykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0cykgPT4ge1xuICAgICAgdGhpcy5maWxlc1RhYmxlRGF0YS5wdXNoKC4uLmF3YWl0IHRoaXMuc2V0ZmlsZVNpemVVbml0cyhmaWxlcykpXG4gICAgICByZXNvbHZlKHRydWUpXG4gICAgfSlcbiAgfVxuXG4gIC8qKuWIoOmZpOaWh+S7tuihqOagvOeahOmhuSAqL1xuICBkZWxldGVGaWxlVGFibGVJdGVtKGluZGV4LCBpdGVtKSB7XG4gICAgdGhpcy5maWxlc1RhYmxlRGF0YS5zcGxpY2UoaW5kZXgsIDEpXG4gICAgaWYgKGl0ZW0uaWQpIHtcbiAgICAgIHRoaXMuZGVsZXRlVGhlVXBsb2FkZWRGaWxlcy5wdXNoKGl0ZW0pXG4gICAgfVxuICAgIHRoaXMuZmlsZUhhbmRsaW5nKClcbiAgfVxuXG4gIC8qKuaWh+S7tuWkhOeQhi3osIPnlKjlm57osIPlh73mlbAgKi9cbiAgZmlsZUhhbmRsaW5nKCkge1xuICAgIGxldCB0aGVGaWxlc1RvQmVVcGxvYWRlZCA9IHRoaXMuZmlsZXNUYWJsZURhdGEuZmlsdGVyKGVsID0+ICFlbC5pZClcbiAgICAvL+WIpOaWreWbvueJh+Wkp+Wwj+aYr+WQpui2hei/h+mZkOWIti3nlKjkuo7liKTmlq3ooajljZXmmK/lkKblhYHorrjmj5DkuqRcbiAgICBsZXQgaXNTdWJtaXQgPSAhdGhpcy5maWxlc1RhYmxlRGF0YS5zb21lKGVsID0+IGVsLnNpemUgPiB0aGlzLnNpemVMaW1pdCk7XG4gICAgdGhpcy5maWxlRGF0YUNoYW5nZS5lbWl0KHsgdGhlRmlsZXNUb0JlVXBsb2FkZWQsIGRlbGV0ZVRoZVVwbG9hZGVkRmlsZXM6IHRoaXMuZGVsZXRlVGhlVXBsb2FkZWRGaWxlcywgaXNTdWJtaXQgfSlcbiAgfVxuXG4gIC8qKuiuvue9ruWAvOaWh+S7tuWkp+Wwj+WNleS9jS8gKi9cbiAgYXN5bmMgc2V0ZmlsZVNpemVVbml0cyhmaWxlczogRmlsZVtdIHwgYW55W10pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0cykgPT4ge1xuICAgICAgbGV0IGZvcm1hdHRlZEZpbGVzID0gW11cbiAgICAgIGZpbGVzLmZvckVhY2goYXN5bmMgKGZpbGUpID0+IHtcbiAgICAgICAgZmlsZS5maWxlU2l6ZSA9IHRoaXMuX0ZpbGVBcGlTZXJ2aWNlLmZvcm1hdEZpbGVTaXplKGZpbGUuc2l6ZSlcbiAgICAgICAgZm9ybWF0dGVkRmlsZXMucHVzaChmaWxlKVxuICAgICAgICAvL+iuvue9rumAieaLqeWbvueJh+eahOacrOWcsHVybFxuICAgICAgICBpZiAoIWZpbGUuc3JjKSBmaWxlLnNyYyA9IGF3YWl0IHRoaXMuX0ZpbGVBcGlTZXJ2aWNlLmdldEltYWdlTGFjb2xCYXNlNjRVcmwoZmlsZSk7XG4gICAgICB9KTtcbiAgICAgIHJlc29sdmUoZmlsZXMpXG4gICAgfSlcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgbWItM1wiPlxuICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgI2ZpbGVFZGl0IFttdWx0aXBsZV09XCJfbXVsdGlwbGVcIiAoY2hhbmdlKT1cImdldEZpbGVDaGFuZ2UoJGV2ZW50KVwiPlxuPC9kaXY+XG5cbjx0YWJsZSBjbGFzcz1cInRhYmxlXCIgKm5nSWY9XCJmaWxlc1RhYmxlRGF0YS5sZW5ndGg+MFwiPlxuICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PC90aD5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPnt7J0ZpbGVFeHBsb3Jlcjo6RmlsZU5hbWUnIHwgYWJwTG9jYWxpemF0aW9ufX08L3RoPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+e3snRmlsZUV4cGxvcmVyOjpGaWxlU2l6ZScgfCBhYnBMb2NhbGl6YXRpb259fTwvdGg+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj48L3RoPlxuICAgICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbGVzVGFibGVEYXRhO2xldCBpID1pbmRleFwiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgPGZlLWZpbGUtcHJldmlldyBbd2lkdGhdPVwiJzgwcHgnXCIgW3NyY109XCJpdGVtLnNyY1wiIFtuYW1lXT1cIml0ZW0ubmFtZVwiIFt0eXBlXT1cIml0ZW0udHlwZVwiIFtwcmV2aWV3XT1cInRydWVcIj48L2ZlLWZpbGUtcHJldmlldz5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7aXRlbS5uYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LWRhbmdlclwiICpuZ0lmPVwiaXRlbS5zaXplID4gc2l6ZUxpbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydGaWxlRXhwbG9yZXI6OkV4Y2VlZHNNYXhpbXVtU2l6ZScgfFxuICAgICAgICAgICAgICAgICAgICAgICAgYWJwTG9jYWxpemF0aW9uOl9GaWxlQXBpU2VydmljZS5mb3JtYXRGaWxlU2l6ZShzaXplTGltaXQpfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0uZmlsZVNpemV9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBwLTAgYnRuLWxpZ2h0IFwiIChjbGljay5zdG9wKT1cImRlbGV0ZUZpbGVUYWJsZUl0ZW0oaSxpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdHJhc2ggcC0yXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbjwvdGFibGU+Il19
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtZWRpdC9maWxlLWVkaXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmlsZS1leHBsb3Jlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1lZGl0L2ZpbGUtZWRpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FBT3RFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDUyxtQkFBdUMsRUFDdEMsOEJBQTZEO1FBRDlELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdEMsbUNBQThCLEdBQTlCLDhCQUE4QixDQUErQjtRQUd2RSxVQUFVO1FBQ1YsY0FBUyxHQUFHLElBQUksQ0FBQztRQU1qQixrQkFBa0I7UUFDbEIsY0FBUyxHQUFVLEVBQUUsQ0FBQztRQVF0QixnQ0FBZ0M7UUFDdEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlDOztXQUVHO1FBQ0gsY0FBUyxHQUFHLE9BQU8sQ0FBQztRQU1wQixZQUFZO1FBQ1osbUJBQWMsR0FBVSxFQUFFLENBQUM7UUFDM0IsZ0JBQWdCO1FBQ2hCLDJCQUFzQixHQUFVLEVBQUUsQ0FBQztJQWpDaEMsQ0FBQztJQUlKLElBQ1csUUFBUSxDQUFDLENBQVU7UUFDNUIsSUFBSSxD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SUFBSSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBNUZVLGlCQUFpQjtrR0FBakIsaUJBQWlCLCtSQ1Y5QixpL0NBa0NROzsyRkR4QkssaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7bUlBYWIsUUFBUTtzQkFEbEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQVFJLGNBQWM7c0JBQXZCLE1BQU07Z0JBT0ksS0FBSztzQkFEZixLQUFLO2dCQVdtQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXRJbWFnZUxhY29sQmFzZTY0dXJsU2VydmljZSB9IGZyb20gJ0BkaWduaXRlLW5nL2V4cGFuZC5jb3JlJztcbmltcG9ydCB7IEZvcm1hdEZpbGVTaXplUGlwZSB9IGZyb20gJy4uLy4uL3BpcGUvZm9ybWF0LWZpbGUtc2l6ZS5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmUtZmlsZS1lZGl0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtZWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtZWRpdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRWRpdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBfRm9ybWF0RmlsZVNpemVQaXBlOiBGb3JtYXRGaWxlU2l6ZVBpcGUsXG4gICAgcHJpdmF0ZSBfR2V0SW1hZ2VMYWNvbEJhc2U2NHVybFNlcnZpY2U6IEdldEltYWdlTGFjb2xCYXNlNjR1cmxTZXJ2aWNlLFxuICApIHt9XG5cbiAgLyoq5piv5ZCm5aSa6YCJICovXG4gIF9tdWx0aXBsZSA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbXVsdGlwbGUodjogYm9vbGVhbikge1xuICAgIHRoaXMuX211bHRpcGxlID0gdjtcbiAgICAvLyBpZiAodikgeyB9XG4gIH1cbiAgLyoq5paH5Lu25pWw5o2uLS3lt7LkuIrkvKDnmoTmlbDmja4gKi9cbiAgX2ZpbGVEYXRhOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZpbGVEYXRhKHY6IGFueVtdKSB7XG4gICAgdGhpcy5fZmlsZURhdGEgPSB2O1xuICAgIGlmICh2Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZ2V0RmlsZUNoYW5nZSh7IHRhcmdldDogeyBmaWxlczogdiB9IH0pO1xuICAgIH1cbiAgfVxuICAvKiog6Lef6ZqP6KGo5Y2V5o+Q5LqkLS3lt7Lmj5DkuqTnmoTmlbDmja7vvIzmiJbpgInmi6nnmoTmlbDmja7mupAtLeWbnuiwgyovXG4gIEBPdXRwdXQoKSBmaWxlRGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKirmlofku7blpKflsI/pmZDliLZcbiAgICogQHBhcmFtIDFtYlxuICAgKi9cbiAgc2l6ZUxpbWl0ID0gMTA0ODU3NjtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsaW1pdCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLnNpemVMaW1pdCA9IHY7XG4gIH1cblxuICAvKirmlofku7booajmoLzmlbDmja4gKi9cbiAgZmlsZXNUYWJsZURhdGE6IGFueVtdID0gW107XG4gIC8qKiDlvoXliKDpmaTlt7LkuIrkvKDnmoTmlofku7bku6wqL1xuICBkZWxldGVUaGVVcGxvYWRlZEZpbGVzOiBhbnlbXSA9IFtdO1xuXG4gIC8qKuiOt+WPluaWh+S7tumAieaLqeahhueahOWFg+e0oCAqL1xuICBAVmlld0NoaWxkKCdmaWxlRWRpdCcsIHsgc3RhdGljOiB0cnVlIH0pIGZpbGVFZGl0OiBFbGVtZW50UmVmO1xuXG4gIC8qKuiOt+WPluaWh+S7tuS/oeaBr+aUueWPmCAqL1xuICBhc3luYyBnZXRGaWxlQ2hhbmdlKGV2ZW50KSB7XG4gICAgY29uc3QgZmlsZXMgPSBuZXcgQXJyYXkoLi4uZXZlbnQudGFyZ2V0LmZpbGVzKTtcbiAgICAvKirpnIDopoHnrYnlvoVzZXRmaWxlU2l6ZVVuaXRz5omn6KGM5a6M5ZCO5Zyo5omn6KGM5YW25LuW5pa55rOVLS3pnIDopoHlrozlloQgKi9cbiAgICBhd2FpdCB0aGlzLndhaXRGaWxlVG9BZGRUYWJsZShmaWxlcyk7XG4gICAgdGhpcy5maWxlSGFuZGxpbmcoKTtcbiAgfVxuXG4gIC8qKuetieW+heWwhuaWh+S7tuaVsOaNruWKoOWFpeWIsOaWh+S7tuihqOagvOaVsOaNruS4rSAqL1xuICB3YWl0RmlsZVRvQWRkVGFibGUoZmlsZXMpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXN5bmMtcHJvbWlzZS1leGVjdXRvclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5maWxlc1RhYmxlRGF0YS5wdXNoKC4uLihhd2FpdCB0aGlzLnNldGZpbGVTaXplVW5pdHMoZmlsZXMpKSk7XG4gICAgICByZXNvbHZlKHRydWUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoq5Yig6Zmk5paH5Lu26KGo5qC855qE6aG5ICovXG4gIGRlbGV0ZUZpbGVUYWJsZUl0ZW0oaW5kZXgsIGl0ZW0pIHtcbiAgICB0aGlzLmZpbGVzVGFibGVEYXRhLnNwbGljZShpbmRleCwgMSk7XG4gICAgaWYgKGl0ZW0uaWQpIHtcbiAgICAgIHRoaXMuZGVsZXRlVGhlVXBsb2FkZWRGaWxlcy5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgICB0aGlzLmZpbGVIYW5kbGluZygpO1xuICB9XG5cbiAgLyoq5paH5Lu25aSE55CGLeiwg+eUqOWbnuiwg+WHveaVsCAqL1xuICBmaWxlSGFuZGxpbmcoKSB7XG4gICAgY29uc3QgdGhlRmlsZXNUb0JlVXBsb2FkZWQgPSB0aGlzLmZpbGVzVGFibGVEYXRhLmZpbHRlcihlbCA9PiAhZWwuaWQpO1xuICAgIC8v5Yik5pat5Zu+54mH5aSn5bCP5piv5ZCm6LaF6L+H6ZmQ5Yi2LeeUqOS6juWIpOaWreihqOWNleaYr+WQpuWFgeiuuOaPkOS6pFxuICAgIGNvbnN0IGlzU3VibWl0ID0gIXRoaXMuZmlsZXNUYWJsZURhdGEuc29tZShlbCA9PiBlbC5zaXplID4gdGhpcy5zaXplTGltaXQpO1xuICAgIHRoaXMuZmlsZURhdGFDaGFuZ2UuZW1pdCh7XG4gICAgICB0aGVGaWxlc1RvQmVVcGxvYWRlZCxcbiAgICAgIGRlbGV0ZVRoZVVwbG9hZGVkRmlsZXM6IHRoaXMuZGVsZXRlVGhlVXBsb2FkZWRGaWxlcyxcbiAgICAgIGlzU3VibWl0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoq6K6+572u5YC85paH5Lu25aSn5bCP5Y2V5L2NLyAqL1xuICBhc3luYyBzZXRmaWxlU2l6ZVVuaXRzKGZpbGVzOiBGaWxlW10gfCBhbnlbXSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRGaWxlcyA9IFtdO1xuICAgICAgZmlsZXMuZm9yRWFjaChhc3luYyBmaWxlID0+IHtcbiAgICAgICAgZmlsZS5maWxlU2l6ZSA9IHRoaXMuX0Zvcm1hdEZpbGVTaXplUGlwZS50cmFuc2Zvcm0oZmlsZS5zaXplKTtcbiAgICAgICAgZm9ybWF0dGVkRmlsZXMucHVzaChmaWxlKTtcbiAgICAgICAgLy/orr7nva7pgInmi6nlm77niYfnmoTmnKzlnLB1cmxcbiAgICAgICAgaWYgKCFmaWxlLnNyYykgZmlsZS5zcmMgPSBhd2FpdCB0aGlzLl9HZXRJbWFnZUxhY29sQmFzZTY0dXJsU2VydmljZS5nZXQoZmlsZSk7XG4gICAgICB9KTtcbiAgICAgIHJlc29sdmUoZmlsZXMpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgbWItM1wiPlxuICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgI2ZpbGVFZGl0IFttdWx0aXBsZV09XCJfbXVsdGlwbGVcIiAoY2hhbmdlKT1cImdldEZpbGVDaGFuZ2UoJGV2ZW50KVwiPlxuPC9kaXY+XG5cbjx0YWJsZSBjbGFzcz1cInRhYmxlXCIgKm5nSWY9XCJmaWxlc1RhYmxlRGF0YS5sZW5ndGg+MFwiPlxuICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PC90aD5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPnt7J0ZpbGVFeHBsb3Jlcjo6RmlsZU5hbWUnIHwgYWJwTG9jYWxpemF0aW9ufX08L3RoPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+e3snRmlsZUV4cGxvcmVyOjpGaWxlU2l6ZScgfCBhYnBMb2NhbGl6YXRpb259fTwvdGg+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj48L3RoPlxuICAgICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbGVzVGFibGVEYXRhO2xldCBpID1pbmRleFwiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgPGZlLWZpbGUtcHJldmlldyBbd2lkdGhdPVwiJzgwcHgnXCIgW3NyY109XCJpdGVtLnNyY1wiIFtuYW1lXT1cIml0ZW0ubmFtZVwiIFt0eXBlXT1cIml0ZW0udHlwZVwiIFtwcmV2aWV3XT1cInRydWVcIj48L2ZlLWZpbGUtcHJldmlldz5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7aXRlbS5uYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LWRhbmdlclwiICpuZ0lmPVwiaXRlbS5zaXplID4gc2l6ZUxpbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydGaWxlRXhwbG9yZXI6OkV4Y2VlZHNNYXhpbXVtU2l6ZScgfFxuICAgICAgICAgICAgICAgICAgICAgICAgYWJwTG9jYWxpemF0aW9uOihzaXplTGltaXR8Zm9ybWF0RmlsZVNpemUpfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0uZmlsZVNpemV9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBwLTAgYnRuLWxpZ2h0IFwiIChjbGljay5zdG9wKT1cImRlbGV0ZUZpbGVUYWJsZUl0ZW0oaSxpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdHJhc2ggcC0yXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbjwvdGFibGU+Il19
|