@dignite-ng/expand.file-explorer 0.0.22 → 0.0.28
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/config/enums/route-names.mjs +1 -1
- package/esm2022/config/file-config.module.mjs +4 -4
- package/esm2022/lib/components/dome/file-dome.component.mjs +10 -15
- package/esm2022/lib/components/dynamic-form/file-explorer/file-explorer-config.component.mjs +3 -11
- package/esm2022/lib/components/dynamic-form/file-explorer/file-explorer-config.mjs +5 -5
- package/esm2022/lib/components/dynamic-form/file-explorer/file-explorer-control.component.mjs +11 -19
- package/esm2022/lib/components/file-edit/file-edit.component.mjs +17 -20
- package/esm2022/lib/components/file-modal/file-modal.component.mjs +57 -68
- package/esm2022/lib/components/file-modal-tree/file-modal-tree.component.mjs +23 -33
- package/esm2022/lib/components/file-picker/file-picker.component.mjs +12 -14
- package/esm2022/lib/file-explorer-routing.module.mjs +4 -4
- package/esm2022/lib/file-explorer.module.mjs +6 -6
- package/esm2022/lib/previews/file-preview.component.mjs +25 -28
- package/esm2022/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.mjs +32 -33
- package/esm2022/lib/proxy/dignite/file-explorer/files/file-descriptor.service.mjs +44 -45
- package/esm2022/lib/services/file-api.service.mjs +3 -3
- package/fesm2022/dignite-ng-expand.file-explorer-config.mjs +3 -3
- package/fesm2022/dignite-ng-expand.file-explorer-config.mjs.map +1 -1
- package/fesm2022/dignite-ng-expand.file-explorer.mjs +240 -292
- package/fesm2022/dignite-ng-expand.file-explorer.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
1
2
|
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
3
|
import { Validators } from '@angular/forms';
|
|
3
4
|
import { of } from 'rxjs';
|
|
@@ -13,44 +14,44 @@ import * as i8 from "@ng-bootstrap/ng-bootstrap";
|
|
|
13
14
|
import * as i9 from "ng-zorro-antd/tree";
|
|
14
15
|
var that;
|
|
15
16
|
export class FileModalTreeComponent {
|
|
16
|
-
_DescriptorService;
|
|
17
|
-
fb;
|
|
18
|
-
toaster;
|
|
19
|
-
_FileApiService;
|
|
20
|
-
_LocalizationService;
|
|
21
17
|
constructor(_DescriptorService, fb, toaster, _FileApiService, _LocalizationService) {
|
|
22
18
|
this._DescriptorService = _DescriptorService;
|
|
23
19
|
this.fb = fb;
|
|
24
20
|
this.toaster = toaster;
|
|
25
21
|
this._FileApiService = _FileApiService;
|
|
26
22
|
this._LocalizationService = _LocalizationService;
|
|
23
|
+
/**文件分组列表 */
|
|
24
|
+
this.fileGroupList = [];
|
|
25
|
+
/**选择的tree节点 */
|
|
26
|
+
this._theSelectedTreeNode = '';
|
|
27
|
+
/**正在编辑的节点 */
|
|
28
|
+
this.theNodeBeingEdited = '';
|
|
29
|
+
/**已展开的节点 */
|
|
30
|
+
this.anExpandedNode = [];
|
|
31
|
+
/**tree节点选择回调 */
|
|
32
|
+
this.nodeClick = new EventEmitter();
|
|
33
|
+
this.handleClick = (event) => event.stopPropagation();
|
|
34
|
+
/**判断节点是否选中 */
|
|
35
|
+
this.isNodeSelected = (el) => el.key === this._theSelectedTreeNode?.key;
|
|
36
|
+
/**分组 */
|
|
37
|
+
/**模态框-状态-是否打开 */
|
|
38
|
+
this.ModalDescriptorOpen = false;
|
|
39
|
+
/**模态框-descriptor-繁忙状态-用于确定模态的繁忙状态是否为真 */
|
|
40
|
+
this.ModalDescriptorBusy = false;
|
|
27
41
|
that = this;
|
|
28
42
|
}
|
|
29
|
-
/**文件分组列表 */
|
|
30
|
-
fileGroupList = [];
|
|
31
|
-
/**选择的tree节点 */
|
|
32
|
-
_theSelectedTreeNode = '';
|
|
33
43
|
set theSelectedTreeNode(v) {
|
|
34
44
|
this._theSelectedTreeNode = v;
|
|
35
45
|
if (v.length > 0) {
|
|
36
46
|
this.loadData();
|
|
37
47
|
}
|
|
38
48
|
}
|
|
39
|
-
/**正在编辑的节点 */
|
|
40
|
-
theNodeBeingEdited = '';
|
|
41
|
-
/**已展开的节点 */
|
|
42
|
-
anExpandedNode = [];
|
|
43
|
-
/**图片容器 */
|
|
44
|
-
_fileContainerName;
|
|
45
|
-
/**tree节点选择回调 */
|
|
46
|
-
nodeClick = new EventEmitter();
|
|
47
49
|
set fileContainerName(v) {
|
|
48
50
|
if (v) {
|
|
49
51
|
this._fileContainerName = v;
|
|
50
52
|
this.loadData();
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
|
-
handleClick = (event) => event.stopPropagation();
|
|
54
55
|
loadData() {
|
|
55
56
|
if (this._fileContainerName) {
|
|
56
57
|
this.getFileGroupList();
|
|
@@ -101,8 +102,6 @@ export class FileModalTreeComponent {
|
|
|
101
102
|
this._theSelectedTreeNode = event.node;
|
|
102
103
|
this.nodeClick.emit(event.node);
|
|
103
104
|
}
|
|
104
|
-
/**判断节点是否选中 */
|
|
105
|
-
isNodeSelected = (el) => el.key === this._theSelectedTreeNode?.key;
|
|
106
105
|
/**点击展开树节点图标触发 */
|
|
107
106
|
nzExpandChange(event) {
|
|
108
107
|
let anExpandedNode = this.anExpandedNode;
|
|
@@ -139,15 +138,6 @@ export class FileModalTreeComponent {
|
|
|
139
138
|
this.getFileGroupList();
|
|
140
139
|
});
|
|
141
140
|
}
|
|
142
|
-
/**分组 */
|
|
143
|
-
/**模态框-状态-是否打开 */
|
|
144
|
-
ModalDescriptorOpen = false;
|
|
145
|
-
/**模态框-descriptor-繁忙状态-用于确定模态的繁忙状态是否为真 */
|
|
146
|
-
ModalDescriptorBusy = false;
|
|
147
|
-
/**模态框-descriptor-表单 */
|
|
148
|
-
ModalDescriptorForm;
|
|
149
|
-
/**模态框-descriptor-表单--控件模板-动态赋值表单控件 */
|
|
150
|
-
ModalFormDescriptorSubmit;
|
|
151
141
|
/**模态框-descriptor-状态改变回调 */
|
|
152
142
|
ModalDescriptorVisibleChange(event) {
|
|
153
143
|
if (!event) {
|
|
@@ -171,12 +161,12 @@ export class FileModalTreeComponent {
|
|
|
171
161
|
this.getFileGroupList();
|
|
172
162
|
});
|
|
173
163
|
}
|
|
174
|
-
static
|
|
175
|
-
static
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileModalTreeComponent, deps: [{ token: i1.FileDescriptorService }, { token: i2.FormBuilder }, { token: i3.ToasterService }, { token: i4.FileApiService }, { token: i5.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: FileModalTreeComponent, selector: "fe-file-modal-tree", inputs: { theSelectedTreeNode: "theSelectedTreeNode", fileContainerName: "fileContainerName" }, outputs: { nodeClick: "nodeClick" }, viewQueries: [{ propertyName: "ModalFormDescriptorSubmit", first: true, predicate: ["ModalFormDescriptorSubmit"], descendants: true }], ngImport: i0, template: "<div class=\"card-header p-0 mb-1 d-flex justify-content-between align-items-center\">\n <h6 class=\"h6 mb-0\">{{'FileExplorer::MyDirectories' | abpLocalization}}</h6>\n <button type=\"button\" class=\"btn btn-light btn-sm ms-2\" (click.stop)=\"addDescriptorBtn()\"><i\n class=\"fas fa-plus-circle\" aria-hidden=\"true\"></i></button>\n</div>\n<nz-tree [nzData]=\"fileGroupList\" class=\"ng-zorro-antd-tree\" nzDraggable nzBlockNode nzShowIcon\n [nzExpandedIcon]=\"multiExpandedIconTpl\" (nzOnDrop)=\"nzEvent($event)\" [nzBeforeDrop]=\"beforeDrop\"\n (nzClick)=\"activeNode($event)\" (nzExpandChange)=\"nzExpandChange($event)\" [nzTreeTemplate]=\"nzTreeTemplate\">\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <div class=\"custom-node d-inline-block ng-star-inserted dropdown\" [title]=\"node.title\">\n <div #dropdown=\"ngbDropdown\" class=\"d-inline-block\" ngbDropdown placement=\"bottom\" container=\"body\">\n <div class=\"btn-group\" [class.selected]=\"isNodeSelected(node)\">\n <button class=\"btn btn-sm p-0 px-1\">{{ node.title }}</button>\n <button class=\"btn btn-sm p-0\" (click)=\"handleClick($event)\" ngbDropdownToggle\n [class.dropdown-toggle]=\"false\" aria-hidden=\"true\">\n <i class=\"fas fa-caret-down text-muted p-1\"></i>\n </button>\n </div>\n <div ngbDropdownMenu>\n <button ngbDropdownItem\n (click.stop)=\"addDescriptorBtn(node)\">{{'FileExplorer::NewDirectory' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"addDescriptorBtn(node,true)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"deleteDescriptorBtn(node)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template #multiExpandedIconTpl let-node let-origin=\"origin\">\n <ng-container *ngIf=\"node.children.length > 0\">\n <i [class]=\"node.isExpanded ? 'fas fa-caret-down' : 'fas fa-caret-right'\"></i>\n </ng-container>\n </ng-template>\n</nz-tree>\n\n\n<abp-modal [(visible)]=\"ModalDescriptorOpen\" [busy]=\"ModalDescriptorBusy\"\n (visibleChange)=\"ModalDescriptorVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{theNodeBeingEdited?('AbpUi::Edit' | abpLocalization):('FileExplorer::NewDirectory' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"ModalDescriptorForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"ModalDescriptorForm\"\n (keydown.enter)=\"$event.preventDefault()\" (submit)=\"createOrEditSave()\">\n <button type=\"submit\" #ModalFormDescriptorSubmit style=\"display: none\"></button>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'FileExplorer::DirectoryName' | abpLocalization}}</label>\n <input type=\"email\" class=\"form-control\" formControlName=\"name\">\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"ModalFormDescriptorSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: [""], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["tabindex", "disabled"] }, { kind: "directive", type: i8.NgbDropdownButtonItem, selector: "button[ngbDropdownItem]" }, { kind: "component", type: i9.NzTreeComponent, selector: "nz-tree", inputs: ["nzShowIcon", "nzHideUnMatched", "nzBlockNode", "nzExpandAll", "nzSelectMode", "nzCheckStrictly", "nzShowExpand", "nzShowLine", "nzCheckable", "nzAsyncData", "nzDraggable", "nzMultiple", "nzExpandedIcon", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzTreeTemplate", "nzBeforeDrop", "nzData", "nzExpandedKeys", "nzSelectedKeys", "nzCheckedKeys", "nzSearchValue", "nzSearchFunc"], outputs: ["nzExpandedKeysChange", "nzSelectedKeysChange", "nzCheckedKeysChange", "nzSearchValueChange", "nzClick", "nzDblClick", "nzContextMenu", "nzCheckBoxChange", "nzExpandChange", "nzOnDragStart", "nzOnDragEnter", "nzOnDragOver", "nzOnDragLeave", "nzOnDrop", "nzOnDragEnd"], exportAs: ["nzTree"] }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
176
166
|
}
|
|
177
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileModalTreeComponent, decorators: [{
|
|
178
168
|
type: Component,
|
|
179
|
-
args: [{ selector: 'fe-file-modal-tree', template: "<div class=\"card-header p-0 mb-1 d-flex justify-content-between align-items-center\">\n <h6 class=\"h6 mb-0\">{{'FileExplorer::MyDirectories' | abpLocalization}}</h6>\n <button type=\"button\" class=\"btn btn-light btn-sm ms-2\" (click.stop)=\"addDescriptorBtn()\"><i\n class=\"fas fa-plus-circle\" aria-hidden=\"true\"></i></button>\n</div>\n<nz-tree [nzData]=\"fileGroupList\" class=\"ng-zorro-antd-tree\" nzDraggable nzBlockNode nzShowIcon\n [nzExpandedIcon]=\"multiExpandedIconTpl\" (nzOnDrop)=\"nzEvent($event)\" [nzBeforeDrop]=\"beforeDrop\"\n (nzClick)=\"activeNode($event)\" (nzExpandChange)=\"nzExpandChange($event)\" [nzTreeTemplate]=\"nzTreeTemplate\">\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <div class=\"custom-node d-inline-block ng-star-inserted dropdown\" [title]=\"node.title\">\n <div #dropdown=\"ngbDropdown\" class=\"d-inline-block\" ngbDropdown placement=\"bottom\" container=\"body\">\n <div class=\"btn-group\" [class.selected]=\"isNodeSelected(node)\">\n <button class=\"btn btn-sm p-0 px-1\">{{ node.title }}</button>\n <button class=\"btn btn-sm p-0\" (click)=\"handleClick($event)\" ngbDropdownToggle\n [class.dropdown-toggle]=\"false\" aria-hidden=\"true\">\n <i class=\"fas fa-caret-down text-muted p-1\"></i>\n </button>\n </div>\n <div ngbDropdownMenu>\n <button ngbDropdownItem\n (click.stop)=\"addDescriptorBtn(node)\">{{'FileExplorer::NewDirectory' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"addDescriptorBtn(node,true)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"deleteDescriptorBtn(node)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template #multiExpandedIconTpl let-node let-origin=\"origin\">\n <ng-container *ngIf=\"node.children.length > 0\">\n <i [class]=\"node.isExpanded ? 'fas fa-caret-down' : 'fas fa-caret-right'\"></i>\n </ng-container>\n </ng-template>\n</nz-tree>\n\n\n<abp-modal [(visible)]=\"ModalDescriptorOpen\" [busy]=\"ModalDescriptorBusy\"\n (visibleChange)=\"ModalDescriptorVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{theNodeBeingEdited?('AbpUi::Edit' | abpLocalization):('FileExplorer::NewDirectory' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"ModalDescriptorForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"ModalDescriptorForm\"\n (
|
|
169
|
+
args: [{ selector: 'fe-file-modal-tree', template: "<div class=\"card-header p-0 mb-1 d-flex justify-content-between align-items-center\">\n <h6 class=\"h6 mb-0\">{{'FileExplorer::MyDirectories' | abpLocalization}}</h6>\n <button type=\"button\" class=\"btn btn-light btn-sm ms-2\" (click.stop)=\"addDescriptorBtn()\"><i\n class=\"fas fa-plus-circle\" aria-hidden=\"true\"></i></button>\n</div>\n<nz-tree [nzData]=\"fileGroupList\" class=\"ng-zorro-antd-tree\" nzDraggable nzBlockNode nzShowIcon\n [nzExpandedIcon]=\"multiExpandedIconTpl\" (nzOnDrop)=\"nzEvent($event)\" [nzBeforeDrop]=\"beforeDrop\"\n (nzClick)=\"activeNode($event)\" (nzExpandChange)=\"nzExpandChange($event)\" [nzTreeTemplate]=\"nzTreeTemplate\">\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <div class=\"custom-node d-inline-block ng-star-inserted dropdown\" [title]=\"node.title\">\n <div #dropdown=\"ngbDropdown\" class=\"d-inline-block\" ngbDropdown placement=\"bottom\" container=\"body\">\n <div class=\"btn-group\" [class.selected]=\"isNodeSelected(node)\">\n <button class=\"btn btn-sm p-0 px-1\">{{ node.title }}</button>\n <button class=\"btn btn-sm p-0\" (click)=\"handleClick($event)\" ngbDropdownToggle\n [class.dropdown-toggle]=\"false\" aria-hidden=\"true\">\n <i class=\"fas fa-caret-down text-muted p-1\"></i>\n </button>\n </div>\n <div ngbDropdownMenu>\n <button ngbDropdownItem\n (click.stop)=\"addDescriptorBtn(node)\">{{'FileExplorer::NewDirectory' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"addDescriptorBtn(node,true)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"deleteDescriptorBtn(node)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template #multiExpandedIconTpl let-node let-origin=\"origin\">\n <ng-container *ngIf=\"node.children.length > 0\">\n <i [class]=\"node.isExpanded ? 'fas fa-caret-down' : 'fas fa-caret-right'\"></i>\n </ng-container>\n </ng-template>\n</nz-tree>\n\n\n<abp-modal [(visible)]=\"ModalDescriptorOpen\" [busy]=\"ModalDescriptorBusy\"\n (visibleChange)=\"ModalDescriptorVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{theNodeBeingEdited?('AbpUi::Edit' | abpLocalization):('FileExplorer::NewDirectory' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"ModalDescriptorForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"ModalDescriptorForm\"\n (keydown.enter)=\"$event.preventDefault()\" (submit)=\"createOrEditSave()\">\n <button type=\"submit\" #ModalFormDescriptorSubmit style=\"display: none\"></button>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'FileExplorer::DirectoryName' | abpLocalization}}</label>\n <input type=\"email\" class=\"form-control\" formControlName=\"name\">\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"ModalFormDescriptorSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>" }]
|
|
180
170
|
}], ctorParameters: () => [{ type: i1.FileDescriptorService }, { type: i2.FormBuilder }, { type: i3.ToasterService }, { type: i4.FileApiService }, { type: i5.LocalizationService }], propDecorators: { theSelectedTreeNode: [{
|
|
181
171
|
type: Input
|
|
182
172
|
}], nodeClick: [{
|
|
@@ -187,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
187
177
|
type: ViewChild,
|
|
188
178
|
args: ['ModalFormDescriptorSubmit', { static: false }]
|
|
189
179
|
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1tb2RhbC10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbW9kYWwtdHJlZS9maWxlLW1vZGFsLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmlsZS1leHBsb3Jlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tb2RhbC10cmVlL2ZpbGUtbW9kYWwtdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtwRSxPQUFPLEVBQUcsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQUczQixJQUFJLElBQUksQ0FBQztBQU1ULE1BQU0sT0FBTyxzQkFBc0I7SUFFdkI7SUFDQTtJQUNBO0lBQ0Q7SUFDQTtJQUxULFlBQ1Usa0JBQTJELEVBQzNELEVBQWUsRUFDZixPQUF1QixFQUN4QixlQUErQixFQUMvQixvQkFBeUM7UUFKeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF5QztRQUMzRCxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFFaEQsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxZQUFZO0lBQ1osYUFBYSxHQUFVLEVBQUUsQ0FBQztJQUUxQixlQUFlO0lBQ2Ysb0JBQW9CLEdBQVEsRUFBRSxDQUFDO0lBQy9CLElBQ1csbUJBQW1CLENB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QixzQkFBc0IsdVVDZm5DLHF5SEE4RFk7OzJGRC9DQyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO2dOQXFCbkIsbUJBQW1CO3NCQUQ3QixLQUFLO2dCQWtCSSxTQUFTO3NCQUFsQixNQUFNO2dCQUlJLGlCQUFpQjtzQkFEM0IsS0FBSztnQkF3SHFELHlCQUF5QjtzQkFBbkYsU0FBUzt1QkFBQywyQkFBMkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTnpGb3JtYXRFbWl0RXZlbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyZWUnO1xuaW1wb3J0ICogYXMgRGVzY3JpcHRvclNlcnZpY2UgZnJvbSAnLi4vLi4vcHJveHkvZGlnbml0ZS9maWxlLWV4cGxvcmVyL2RpcmVjdG9yaWVzJztcbmltcG9ydCB7ICBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IE56Rm9ybWF0QmVmb3JlRHJvcEV2ZW50IH0gZnJvbSAnbmctem9ycm8tYW50ZC90cmVlJztcbmltcG9ydCB7ICBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlsZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWxlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xudmFyIHRoYXQ7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmZS1maWxlLW1vZGFsLXRyZWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1tb2RhbC10cmVlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1tb2RhbC10cmVlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZU1vZGFsVHJlZUNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX0Rlc2NyaXB0b3JTZXJ2aWNlOiBEZXNjcmlwdG9yU2VydmljZS5GaWxlRGVzY3JpcHRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdGVyU2VydmljZSxcbiAgICBwdWJsaWMgX0ZpbGVBcGlTZXJ2aWNlOiBGaWxlQXBpU2VydmljZSxcbiAgICBwdWJsaWMgX0xvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UsXG4gICkge1xuICAgIHRoYXQgPSB0aGlzXG4gIH1cblxuICAvKirmlofku7bliIbnu4TliJfooaggKi9cbiAgZmlsZUdyb3VwTGlzdDogYW55W10gPSBbXTtcblxuICAvKirpgInmi6nnmoR0cmVl6IqC54K5ICovXG4gIF90aGVTZWxlY3RlZFRyZWVOb2RlOiBhbnkgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0aGVTZWxlY3RlZFRyZWVOb2RlKHY6IGFueSkge1xuICAgIHRoaXMuX3RoZVNlbGVjdGVkVHJlZU5vZGUgPSB2O1xuICAgIGlmICh2Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubG9hZERhdGEoKVxuICAgIH1cbiAgfVxuXG4gIC8qKuato+WcqOe8lui+keeahOiKgueCuSAqL1xuICB0aGVOb2RlQmVpbmdFZGl0ZWQ6IGFueSA9ICcnO1xuXG4gIC8qKuW3suWxleW8gOeahOiKgueCuSAqL1xuICBhbkV4cGFuZGVkTm9kZTogYW55W10gPSBbXTtcblxuICAvKirlm77niYflrrnlmaggKi9cbiAgX2ZpbGVDb250YWluZXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqdHJlZeiKgueCuemAieaLqeWbnuiwgyAqL1xuICBAT3V0cHV0KCkgbm9kZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmaWxlQ29udGFpbmVyTmFtZSh2OiBzdHJpbmcpIHtcbiAgICBpZiAodikge1xuICAgICAgdGhpcy5fZmlsZUNvbnRhaW5lck5hbWUgPSB2O1xuICAgICAgdGhpcy5sb2FkRGF0YSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2xpY2sgPSAoZXZlbnQpID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gIGxvYWREYXRhKCkge1xuICAgIGlmICh0aGlzLl9maWxlQ29udGFpbmVyTmFtZSkge1xuICAgICAgdGhpcy5nZXRGaWxlR3JvdXBMaXN0KClcbiAgICB9XG4gIH1cblxuXG4gIC8qKuiOt+WPluaWh+S7tuWIhue7hCAqL1xuICBnZXRGaWxlR3JvdXBMaXN0KCkge1xuICAgIHRoaXMuX0Rlc2NyaXB0b3JTZXJ2aWNlLmdldExpc3Qoe1xuICAgICAgY29udGFpbmVyTmFtZTogdGhpcy5fZmlsZUNvbnRhaW5lck5hbWUsXG4gICAgfSkuc3Vic2NyaWJlKGFzeW5jIChyZXMpID0+IHtcbiAgICAgIHRoaXMuZmlsZUdyb3VwTGlzdCA9IGF3YWl0IHRoaXMuc2V0VGhlVmFsdWVPZlRoZU5vZGVSZWN1cnNpdmVseShyZXMuaXRlbXMpXG4gICAgfSlcbiAgfVxuICBcbiAgLyoq6YCS5b2S6K6+572u6IqC54K555qE5YC8ICovXG4gIHNldFRoZVZhbHVlT2ZUaGVOb2RlUmVjdXJzaXZlbHkoYXJyYXk6IGFueVtdKTogYW55IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc2xvdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIGFycmF5LmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgIGVsLnRpdGxlID0gZWwubmFtZVxuICAgICAgICBlbC5rZXkgPSBlbC5pZFxuICAgICAgICBlbC5leHBhbmRlZCA9IHRoaXMuYW5FeHBhbmRlZE5vZGUuaW5jbHVkZXMoZWwua2V5KVxuICAgICAgICBpZiAoZWwuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc2V0VGhlVmFsdWVPZlRoZU5vZGVSZWN1cnNpdmVseShlbC5jaGlsZHJlbilcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIHJlc2xvdmUoYXJyYXkpXG4gICAgfSlcbiAgfVxuXG4gIC8qKnRyZWUt5ouW5ou9ICovXG4gIG56RXZlbnQoZXZlbnQ6IE56Rm9ybWF0RW1pdEV2ZW50KTogdm9pZCB7XG4gIH1cblxuICAvKip0cmVlLeaLluaLvSAt6aqM6K+BKi9cbiAgYmVmb3JlRHJvcChhcmc6IE56Rm9ybWF0QmVmb3JlRHJvcEV2ZW50KSB7XG4gICAgaWYgKGFyZy5wb3MgPT09IDAgfHwgYXJnLnBvcyA9PT0gMSkge1xuICAgICAgdGhhdC5fRGVzY3JpcHRvclNlcnZpY2UubW92ZShhcmcuZHJhZ05vZGUua2V5LCB7XG4gICAgICAgIFwicGFyZW50SWRcIjogYXJnLnBvcyA9PT0gMSA/IChhcmcubm9kZS5wYXJlbnROb2RlPy5rZXl8fCcnKSA6IGFyZy5ub2RlLmtleSxcbiAgICAgICAgXCJvcmRlclwiOiBhcmcucG9zID09PSAxID8gYXJnLm5vZGUub3JpZ2luLm9yZGVyICsgMSA6IGFyZy5ub2RlLm9yaWdpbi5jaGlsZHJlbi5sZW5ndGggKyAxXG4gICAgICB9KS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhhdC5nZXRGaWxlR3JvdXBMaXN0KClcbiAgICAgIH0pXG4gICAgICByZXR1cm4gb2YodHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvKip0cmVlLS3pgInmi6noioLngrkgKi9cbiAgYWN0aXZlTm9kZShldmVudCkge1xuICAgIHRoaXMuX3RoZVNlbGVjdGVkVHJlZU5vZGUgPSBldmVudC5ub2RlXG4gICAgdGhpcy5ub2RlQ2xpY2suZW1pdChldmVudC5ub2RlKVxuICB9XG5cbiAgLyoq5Yik5pat6IqC54K55piv5ZCm6YCJ5LitICovXG4gIGlzTm9kZVNlbGVjdGVkID0gKGVsKSA9PiBlbC5rZXkgPT09IHRoaXMuX3RoZVNlbGVjdGVkVHJlZU5vZGU/LmtleVxuXG4gIC8qKueCueWHu+WxleW8gOagkeiKgueCueWbvuagh+inpuWPkSAqL1xuICBuekV4cGFuZENoYW5nZShldmVudCkge1xuICAgIGxldCBhbkV4cGFuZGVkTm9kZSA9IHRoaXMuYW5FeHBhbmRlZE5vZGVcbiAgICBpZiAoYW5FeHBhbmRlZE5vZGUuaW5jbHVkZXMoZXZlbnQubm9kZS5rZXkpKSB7XG4gICAgICBhbkV4cGFuZGVkTm9kZSA9IGFuRXhwYW5kZWROb2RlLmZpbHRlcihrZXkgPT4ga2V5ICE9PSBldmVudC5ub2RlLmtleSlcbiAgICB9IGVsc2Uge1xuICAgICAgYW5FeHBhbmRlZE5vZGUucHVzaChldmVudC5ub2RlLmtleSlcbiAgICB9XG4gICAgdGhpcy5hbkV4cGFuZGVkTm9kZSA9IGFuRXhwYW5kZWROb2RlXG4gIH1cblxuXG4gIC8qKuWinuWKoOWIhue7hCAqL1xuICBhZGREZXNjcmlwdG9yQnRuKGl0ZW1zOiBhbnkgPSAnJywgZWRpdCA9IGZhbHNlKSB7XG4gICAgdGhpcy5Nb2RhbERlc2NyaXB0b3JPcGVuID0gdHJ1ZVxuICAgIHRoaXMuTW9kYWxEZXNjcmlwdG9yRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgY29udGFpbmVyTmFtZTogW3RoaXMuX2ZpbGVDb250YWluZXJOYW1lIHx8ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIG5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwYXJlbnRJZDogW2l0ZW1zPy5rZXkgfHwgJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgIH0pXG4gICAgLyoq57yW6L6RICovXG4gICAgaWYgKGVkaXQpIHtcbiAgICAgIHRoaXMudGhlTm9kZUJlaW5nRWRpdGVkID0gaXRlbXMub3JpZ2luXG4gICAgICB0aGlzLk1vZGFsRGVzY3JpcHRvckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIG5hbWU6IGl0ZW1zLm9yaWdpbi5uYW1lXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIC8qKuWIoOmZpOWIhue7hCAqL1xuICBkZWxldGVEZXNjcmlwdG9yQnRuKG5vZGUpIHtcbiAgICB0aGlzLl9EZXNjcmlwdG9yU2VydmljZS5kZWxldGUobm9kZS5rZXkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgdGhpcy5Nb2RhbERlc2NyaXB0b3JPcGVuID0gZmFsc2VcbiAgICAgIGlmICh0aGlzLnRoZU5vZGVCZWluZ0VkaXRlZC5rZXkgPT0gbm9kZS5rZXkpIHRoaXMudGhlTm9kZUJlaW5nRWRpdGVkID0gJydcbiAgICAgIHRoaXMuZ2V0RmlsZUdyb3VwTGlzdCgpXG4gICAgfSlcbiAgfVxuXG4gIFxuXG4gIC8qKuWIhue7hCAqL1xuICAvKirmqKHmgIHmoYYt54q25oCBLeaYr+WQpuaJk+W8gCAqL1xuICBNb2RhbERlc2NyaXB0b3JPcGVuOiBib29sZWFuID0gZmFsc2VcblxuICAvKirmqKHmgIHmoYYtZGVzY3JpcHRvci3nuYHlv5nnirbmgIEt55So5LqO56Gu5a6a5qih5oCB55qE57mB5b+Z54q25oCB5piv5ZCm5Li655yfICovXG4gIE1vZGFsRGVzY3JpcHRvckJ1c3k6IGJvb2xlYW4gPSBmYWxzZVxuXG4gIC8qKuaooeaAgeahhi1kZXNjcmlwdG9yLeihqOWNlSAqL1xuICBNb2RhbERlc2NyaXB0b3JGb3JtOiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XG4gIFxuICAvKirmqKHmgIHmoYYtZGVzY3JpcHRvci3ooajljZUtLeaOp+S7tuaooeadvy3liqjmgIHotYvlgLzooajljZXmjqfku7YgKi9cbiAgQFZpZXdDaGlsZCgnTW9kYWxGb3JtRGVzY3JpcHRvclN1Ym1pdCcsIHsgc3RhdGljOiBmYWxzZSB9KSBNb2RhbEZvcm1EZXNjcmlwdG9yU3VibWl0OiBFbGVtZW50UmVmO1xuXG4gIC8qKuaooeaAgeahhi1kZXNjcmlwdG9yLeeKtuaAgeaUueWPmOWbnuiwgyAqL1xuICBNb2RhbERlc2NyaXB0b3JWaXNpYmxlQ2hhbmdlKGV2ZW50KSB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgdGhpcy5Nb2RhbERlc2NyaXB0b3JGb3JtID0gdW5kZWZpbmVkXG4gICAgICB0aGlzLnRoZU5vZGVCZWluZ0VkaXRlZCA9ICcnXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICAvKipm5YiG57uE5qih5oCB5qGG5L+d5a2YICovXG4gIGNyZWF0ZU9yRWRpdFNhdmUoKSB7XG4gICAgbGV0IGlucHV0ID0gdGhpcy5Nb2RhbERlc2NyaXB0b3JGb3JtLnZhbHVlXG4gICAgaWYgKHRoaXMudGhlTm9kZUJlaW5nRWRpdGVkKSB7XG4gICAgICB0aGlzLl9EZXNjcmlwdG9yU2VydmljZS51cGRhdGUodGhpcy50aGVOb2RlQmVpbmdFZGl0ZWQua2V5LCBpbnB1dCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuTW9kYWxEZXNjcmlwdG9yT3BlbiA9IGZhbHNlXG4gICAgICAgIHRoaXMuZ2V0RmlsZUdyb3VwTGlzdCgpXG4gICAgICB9KVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuX0Rlc2NyaXB0b3JTZXJ2aWNlLmNyZWF0ZShpbnB1dCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLk1vZGFsRGVzY3JpcHRvck9wZW4gPSBmYWxzZVxuICAgICAgdGhpcy5nZXRGaWxlR3JvdXBMaXN0KClcbiAgICB9KVxuICB9XG5cblxuXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciAgcC0wIG1iLTEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxoNiBjbGFzcz1cImg2IG1iLTBcIj57eydGaWxlRXhwbG9yZXI6Ok15RGlyZWN0b3JpZXMnIHwgYWJwTG9jYWxpemF0aW9ufX08L2g2PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gbXMtMlwiIChjbGljay5zdG9wKT1cImFkZERlc2NyaXB0b3JCdG4oKVwiPjxpXG4gICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1wbHVzLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2J1dHRvbj5cbjwvZGl2PlxuPG56LXRyZWUgW256RGF0YV09XCJmaWxlR3JvdXBMaXN0XCIgY2xhc3M9XCJuZy16b3Jyby1hbnRkLXRyZWVcIiBuekRyYWdnYWJsZSBuekJsb2NrTm9kZSBuelNob3dJY29uXG4gICAgW256RXhwYW5kZWRJY29uXT1cIm11bHRpRXhwYW5kZWRJY29uVHBsXCIgKG56T25Ecm9wKT1cIm56RXZlbnQoJGV2ZW50KVwiIFtuekJlZm9yZURyb3BdPVwiYmVmb3JlRHJvcFwiXG4gICAgKG56Q2xpY2spPVwiYWN0aXZlTm9kZSgkZXZlbnQpXCIgKG56RXhwYW5kQ2hhbmdlKT1cIm56RXhwYW5kQ2hhbmdlKCRldmVudClcIiBbbnpUcmVlVGVtcGxhdGVdPVwibnpUcmVlVGVtcGxhdGVcIj5cbiAgICA8bmctdGVtcGxhdGUgI256VHJlZVRlbXBsYXRlIGxldC1ub2RlIGxldC1vcmlnaW49XCJvcmlnaW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1ub2RlIGQtaW5saW5lLWJsb2NrICAgbmctc3Rhci1pbnNlcnRlZCBkcm9wZG93blwiIFt0aXRsZV09XCJub2RlLnRpdGxlXCI+XG4gICAgICAgICAgICA8ZGl2ICNkcm9wZG93bj1cIm5nYkRyb3Bkb3duXCIgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiIG5nYkRyb3Bkb3duIHBsYWNlbWVudD1cImJvdHRvbVwiIGNvbnRhaW5lcj1cImJvZHlcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgW2NsYXNzLnNlbGVjdGVkXT1cImlzTm9kZVNlbGVjdGVkKG5vZGUpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtICBwLTAgcHgtMVwiPnt7IG5vZGUudGl0bGUgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gIHAtMFwiIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCIgbmdiRHJvcGRvd25Ub2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kcm9wZG93bi10b2dnbGVdPVwiZmFsc2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNhcmV0LWRvd24gdGV4dC1tdXRlZCBwLTFcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5nYkRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrLnN0b3ApPVwiYWRkRGVzY3JpcHRvckJ0bihub2RlKVwiPnt7J0ZpbGVFeHBsb3Jlcjo6TmV3RGlyZWN0b3J5JyB8IGFicExvY2FsaXphdGlvbn19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2suc3RvcCk9XCJhZGREZXNjcmlwdG9yQnRuKG5vZGUsdHJ1ZSlcIj57eydBYnBVaTo6RWRpdCcgfCBhYnBMb2NhbGl6YXRpb259fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5nYkRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrLnN0b3ApPVwiZGVsZXRlRGVzY3JpcHRvckJ0bihub2RlKVwiPnt7J0FicFVpOjpEZWxldGUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjbXVsdGlFeHBhbmRlZEljb25UcGwgbGV0LW5vZGUgbGV0LW9yaWdpbj1cIm9yaWdpblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8aSBbY2xhc3NdPVwibm9kZS5pc0V4cGFuZGVkID8gJ2ZhcyBmYS1jYXJldC1kb3duJyA6ICdmYXMgZmEtY2FyZXQtcmlnaHQnXCI+PC9pPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uei10cmVlPlxuXG5cbjxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJNb2RhbERlc2NyaXB0b3JPcGVuXCIgW2J1c3ldPVwiTW9kYWxEZXNjcmlwdG9yQnVzeVwiXG4gICAgKHZpc2libGVDaGFuZ2UpPVwiTW9kYWxEZXNjcmlwdG9yVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XG4gICAgICAgIDxoMz57e3RoZU5vZGVCZWluZ0VkaXRlZD8oJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbik6KCdGaWxlRXhwbG9yZXI6Ok5ld0RpcmVjdG9yeScgfCBhYnBMb2NhbGl6YXRpb24pfX08L2gzPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRlclJlZj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPjxpIGNsYXNzPVwiZmEgZmEtcHVsc2UgZmEtc3Bpbm5lclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIk1vZGFsRGVzY3JpcHRvckZvcm07IGVsc2UgbG9hZGVyUmVmXCI+XG4gICAgICAgICAgICA8Zm9ybSBjbGFzcz1cInNpdGVzLW1vZGFsLWZvcm1cIiAjbXlGb3JtPVwibmdGb3JtXCIgW2Zvcm1Hcm91cF09XCJNb2RhbERlc2NyaXB0b3JGb3JtXCJcbiAgICAgICAgICAgICAgICAobmdTdWJtaXQpPVwiY3JlYXRlT3JFZGl0U2F2ZSgpXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgI01vZGFsRm9ybURlc2NyaXB0b3JTdWJtaXQgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7J0ZpbGVFeHBsb3Jlcjo6RGlyZWN0b3J5TmFtZScgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPnt7J0FicFVpOjpDbG9zZScgfCBhYnBMb2NhbGl6YXRpb259fTwvYnV0dG9uPlxuICAgICAgICA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiTW9kYWxGb3JtRGVzY3JpcHRvclN1Ym1pdC5uYXRpdmVFbGVtZW50LmNsaWNrKClcIj57eydBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb259fTwvYWJwLWJ1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9hYnAtbW9kYWw+Il19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1tb2RhbC10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbW9kYWwtdHJlZS9maWxlLW1vZGFsLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmlsZS1leHBsb3Jlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tb2RhbC10cmVlL2ZpbGUtbW9kYWwtdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLcEUsT0FBTyxFQUFHLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFHM0IsSUFBSSxJQUFJLENBQUM7QUFNVCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1Usa0JBQTJELEVBQzNELEVBQWUsRUFDZixPQUF1QixFQUN4QixlQUErQixFQUMvQixvQkFBeUM7UUFKeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF5QztRQUMzRCxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFLbEQsWUFBWTtRQUNaLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBRTFCLGVBQWU7UUFDZix5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFTL0IsYUFBYTtRQUNiLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUU3QixZQUFZO1FBQ1osbUJBQWMsR0FBVSxF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a0JJLFNBQVM7c0JBQWxCLE1BQU07Z0JBSUksaUJBQWlCO3NCQUQzQixLQUFLO2dCQXdIcUQseUJBQXlCO3NCQUFuRixTQUFTO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOekZvcm1hdEVtaXRFdmVudCB9IGZyb20gJ25nLXpvcnJvLWFudGQvdHJlZSc7XG5pbXBvcnQgKiBhcyBEZXNjcmlwdG9yU2VydmljZSBmcm9tICcuLi8uLi9wcm94eS9kaWduaXRlL2ZpbGUtZXhwbG9yZXIvZGlyZWN0b3JpZXMnO1xuaW1wb3J0IHsgIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgTnpGb3JtYXRCZWZvcmVEcm9wRXZlbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyZWUnO1xuaW1wb3J0IHsgIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbGUtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG52YXIgdGhhdDtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZlLWZpbGUtbW9kYWwtdHJlZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLW1vZGFsLXRyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLW1vZGFsLXRyZWUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlTW9kYWxUcmVlQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfRGVzY3JpcHRvclNlcnZpY2U6IERlc2NyaXB0b3JTZXJ2aWNlLkZpbGVEZXNjcmlwdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBfRmlsZUFwaVNlcnZpY2U6IEZpbGVBcGlTZXJ2aWNlLFxuICAgIHB1YmxpYyBfTG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSxcbiAgKSB7XG4gICAgdGhhdCA9IHRoaXNcbiAgfVxuXG4gIC8qKuaWh+S7tuWIhue7hOWIl+ihqCAqL1xuICBmaWxlR3JvdXBMaXN0OiBhbnlbXSA9IFtdO1xuXG4gIC8qKumAieaLqeeahHRyZWXoioLngrkgKi9cbiAgX3RoZVNlbGVjdGVkVHJlZU5vZGU6IGFueSA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRoZVNlbGVjdGVkVHJlZU5vZGUodjogYW55KSB7XG4gICAgdGhpcy5fdGhlU2VsZWN0ZWRUcmVlTm9kZSA9IHY7XG4gICAgaWYgKHYubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2FkRGF0YSgpXG4gICAgfVxuICB9XG5cbiAgLyoq5q2j5Zyo57yW6L6R55qE6IqC54K5ICovXG4gIHRoZU5vZGVCZWluZ0VkaXRlZDogYW55ID0gJyc7XG5cbiAgLyoq5bey5bGV5byA55qE6IqC54K5ICovXG4gIGFuRXhwYW5kZWROb2RlOiBhbnlbXSA9IFtdO1xuXG4gIC8qKuWbvueJh+WuueWZqCAqL1xuICBfZmlsZUNvbnRhaW5lck5hbWU6IHN0cmluZztcblxuICAvKip0cmVl6IqC54K56YCJ5oup5Zue6LCDICovXG4gIEBPdXRwdXQoKSBub2RlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZpbGVDb250YWluZXJOYW1lKHY6IHN0cmluZykge1xuICAgIGlmICh2KSB7XG4gICAgICB0aGlzLl9maWxlQ29udGFpbmVyTmFtZSA9IHY7XG4gICAgICB0aGlzLmxvYWREYXRhKClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDbGljayA9IChldmVudCkgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgbG9hZERhdGEoKSB7XG4gICAgaWYgKHRoaXMuX2ZpbGVDb250YWluZXJOYW1lKSB7XG4gICAgICB0aGlzLmdldEZpbGVHcm91cExpc3QoKVxuICAgIH1cbiAgfVxuXG5cbiAgLyoq6I635Y+W5paH5Lu25YiG57uEICovXG4gIGdldEZpbGVHcm91cExpc3QoKSB7XG4gICAgdGhpcy5fRGVzY3JpcHRvclNlcnZpY2UuZ2V0TGlzdCh7XG4gICAgICBjb250YWluZXJOYW1lOiB0aGlzLl9maWxlQ29udGFpbmVyTmFtZSxcbiAgICB9KS5zdWJzY3JpYmUoYXN5bmMgKHJlcykgPT4ge1xuICAgICAgdGhpcy5maWxlR3JvdXBMaXN0ID0gYXdhaXQgdGhpcy5zZXRUaGVWYWx1ZU9mVGhlTm9kZVJlY3Vyc2l2ZWx5KHJlcy5pdGVtcylcbiAgICB9KVxuICB9XG4gIFxuICAvKirpgJLlvZLorr7nva7oioLngrnnmoTlgLwgKi9cbiAgc2V0VGhlVmFsdWVPZlRoZU5vZGVSZWN1cnNpdmVseShhcnJheTogYW55W10pOiBhbnkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzbG92ZSwgcmVqZWN0cykgPT4ge1xuICAgICAgYXJyYXkuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgZWwudGl0bGUgPSBlbC5uYW1lXG4gICAgICAgIGVsLmtleSA9IGVsLmlkXG4gICAgICAgIGVsLmV4cGFuZGVkID0gdGhpcy5hbkV4cGFuZGVkTm9kZS5pbmNsdWRlcyhlbC5rZXkpXG4gICAgICAgIGlmIChlbC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5zZXRUaGVWYWx1ZU9mVGhlTm9kZVJlY3Vyc2l2ZWx5KGVsLmNoaWxkcmVuKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgcmVzbG92ZShhcnJheSlcbiAgICB9KVxuICB9XG5cbiAgLyoqdHJlZS3mi5bmi70gKi9cbiAgbnpFdmVudChldmVudDogTnpGb3JtYXRFbWl0RXZlbnQpOiB2b2lkIHtcbiAgfVxuXG4gIC8qKnRyZWUt5ouW5ou9IC3pqozor4EqL1xuICBiZWZvcmVEcm9wKGFyZzogTnpGb3JtYXRCZWZvcmVEcm9wRXZlbnQpIHtcbiAgICBpZiAoYXJnLnBvcyA9PT0gMCB8fCBhcmcucG9zID09PSAxKSB7XG4gICAgICB0aGF0Ll9EZXNjcmlwdG9yU2VydmljZS5tb3ZlKGFyZy5kcmFnTm9kZS5rZXksIHtcbiAgICAgICAgXCJwYXJlbnRJZFwiOiBhcmcucG9zID09PSAxID8gKGFyZy5ub2RlLnBhcmVudE5vZGU/LmtleXx8JycpIDogYXJnLm5vZGUua2V5LFxuICAgICAgICBcIm9yZGVyXCI6IGFyZy5wb3MgPT09IDEgPyBhcmcubm9kZS5vcmlnaW4ub3JkZXIgKyAxIDogYXJnLm5vZGUub3JpZ2luLmNoaWxkcmVuLmxlbmd0aCArIDFcbiAgICAgIH0pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGF0LmdldEZpbGVHcm91cExpc3QoKVxuICAgICAgfSlcbiAgICAgIHJldHVybiBvZih0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKnRyZWUtLemAieaLqeiKgueCuSAqL1xuICBhY3RpdmVOb2RlKGV2ZW50KSB7XG4gICAgdGhpcy5fdGhlU2VsZWN0ZWRUcmVlTm9kZSA9IGV2ZW50Lm5vZGVcbiAgICB0aGlzLm5vZGVDbGljay5lbWl0KGV2ZW50Lm5vZGUpXG4gIH1cblxuICAvKirliKTmlq3oioLngrnmmK/lkKbpgInkuK0gKi9cbiAgaXNOb2RlU2VsZWN0ZWQgPSAoZWwpID0+IGVsLmtleSA9PT0gdGhpcy5fdGhlU2VsZWN0ZWRUcmVlTm9kZT8ua2V5XG5cbiAgLyoq54K55Ye75bGV5byA5qCR6IqC54K55Zu+5qCH6Kem5Y+RICovXG4gIG56RXhwYW5kQ2hhbmdlKGV2ZW50KSB7XG4gICAgbGV0IGFuRXhwYW5kZWROb2RlID0gdGhpcy5hbkV4cGFuZGVkTm9kZVxuICAgIGlmIChhbkV4cGFuZGVkTm9kZS5pbmNsdWRlcyhldmVudC5ub2RlLmtleSkpIHtcbiAgICAgIGFuRXhwYW5kZWROb2RlID0gYW5FeHBhbmRlZE5vZGUuZmlsdGVyKGtleSA9PiBrZXkgIT09IGV2ZW50Lm5vZGUua2V5KVxuICAgIH0gZWxzZSB7XG4gICAgICBhbkV4cGFuZGVkTm9kZS5wdXNoKGV2ZW50Lm5vZGUua2V5KVxuICAgIH1cbiAgICB0aGlzLmFuRXhwYW5kZWROb2RlID0gYW5FeHBhbmRlZE5vZGVcbiAgfVxuXG5cbiAgLyoq5aKe5Yqg5YiG57uEICovXG4gIGFkZERlc2NyaXB0b3JCdG4oaXRlbXM6IGFueSA9ICcnLCBlZGl0ID0gZmFsc2UpIHtcbiAgICB0aGlzLk1vZGFsRGVzY3JpcHRvck9wZW4gPSB0cnVlXG4gICAgdGhpcy5Nb2RhbERlc2NyaXB0b3JGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBjb250YWluZXJOYW1lOiBbdGhpcy5fZmlsZUNvbnRhaW5lck5hbWUgfHwgJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHBhcmVudElkOiBbaXRlbXM/LmtleSB8fCAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgfSlcbiAgICAvKirnvJbovpEgKi9cbiAgICBpZiAoZWRpdCkge1xuICAgICAgdGhpcy50aGVOb2RlQmVpbmdFZGl0ZWQgPSBpdGVtcy5vcmlnaW5cbiAgICAgIHRoaXMuTW9kYWxEZXNjcmlwdG9yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgbmFtZTogaXRlbXMub3JpZ2luLm5hbWVcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgLyoq5Yig6Zmk5YiG57uEICovXG4gIGRlbGV0ZURlc2NyaXB0b3JCdG4obm9kZSkge1xuICAgIHRoaXMuX0Rlc2NyaXB0b3JTZXJ2aWNlLmRlbGV0ZShub2RlLmtleSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLk1vZGFsRGVzY3JpcHRvck9wZW4gPSBmYWxzZVxuICAgICAgaWYgKHRoaXMudGhlTm9kZUJlaW5nRWRpdGVkLmtleSA9PSBub2RlLmtleSkgdGhpcy50aGVOb2RlQmVpbmdFZGl0ZWQgPSAnJ1xuICAgICAgdGhpcy5nZXRGaWxlR3JvdXBMaXN0KClcbiAgICB9KVxuICB9XG5cbiAgXG5cbiAgLyoq5YiG57uEICovXG4gIC8qKuaooeaAgeahhi3nirbmgIEt5piv5ZCm5omT5byAICovXG4gIE1vZGFsRGVzY3JpcHRvck9wZW46IGJvb2xlYW4gPSBmYWxzZVxuXG4gIC8qKuaooeaAgeahhi1kZXNjcmlwdG9yLee5geW/meeKtuaAgS3nlKjkuo7noa7lrprmqKHmgIHnmoTnuYHlv5nnirbmgIHmmK/lkKbkuLrnnJ8gKi9cbiAgTW9kYWxEZXNjcmlwdG9yQnVzeTogYm9vbGVhbiA9IGZhbHNlXG5cbiAgLyoq5qih5oCB5qGGLWRlc2NyaXB0b3It6KGo5Y2VICovXG4gIE1vZGFsRGVzY3JpcHRvckZvcm06IEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcbiAgXG4gIC8qKuaooeaAgeahhi1kZXNjcmlwdG9yLeihqOWNlS0t5o6n5Lu25qih5p2/LeWKqOaAgei1i+WAvOihqOWNleaOp+S7tiAqL1xuICBAVmlld0NoaWxkKCdNb2RhbEZvcm1EZXNjcmlwdG9yU3VibWl0JywgeyBzdGF0aWM6IGZhbHNlIH0pIE1vZGFsRm9ybURlc2NyaXB0b3JTdWJtaXQ6IEVsZW1lbnRSZWY7XG5cbiAgLyoq5qih5oCB5qGGLWRlc2NyaXB0b3It54q25oCB5pS55Y+Y5Zue6LCDICovXG4gIE1vZGFsRGVzY3JpcHRvclZpc2libGVDaGFuZ2UoZXZlbnQpIHtcbiAgICBpZiAoIWV2ZW50KSB7XG4gICAgICB0aGlzLk1vZGFsRGVzY3JpcHRvckZvcm0gPSB1bmRlZmluZWRcbiAgICAgIHRoaXMudGhlTm9kZUJlaW5nRWRpdGVkID0gJydcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxuXG4gIC8qKmbliIbnu4TmqKHmgIHmoYbkv53lrZggKi9cbiAgY3JlYXRlT3JFZGl0U2F2ZSgpIHtcbiAgICBsZXQgaW5wdXQgPSB0aGlzLk1vZGFsRGVzY3JpcHRvckZvcm0udmFsdWVcbiAgICBpZiAodGhpcy50aGVOb2RlQmVpbmdFZGl0ZWQpIHtcbiAgICAgIHRoaXMuX0Rlc2NyaXB0b3JTZXJ2aWNlLnVwZGF0ZSh0aGlzLnRoZU5vZGVCZWluZ0VkaXRlZC5rZXksIGlucHV0KS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5Nb2RhbERlc2NyaXB0b3JPcGVuID0gZmFsc2VcbiAgICAgICAgdGhpcy5nZXRGaWxlR3JvdXBMaXN0KClcbiAgICAgIH0pXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5fRGVzY3JpcHRvclNlcnZpY2UuY3JlYXRlKGlucHV0KS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMuTW9kYWxEZXNjcmlwdG9yT3BlbiA9IGZhbHNlXG4gICAgICB0aGlzLmdldEZpbGVHcm91cExpc3QoKVxuICAgIH0pXG4gIH1cblxuXG5cblxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyICBwLTAgbWItMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPGg2IGNsYXNzPVwiaDYgbWItMFwiPnt7J0ZpbGVFeHBsb3Jlcjo6TXlEaXJlY3RvcmllcycgfCBhYnBMb2NhbGl6YXRpb259fTwvaDY+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSBtcy0yXCIgKGNsaWNrLnN0b3ApPVwiYWRkRGVzY3JpcHRvckJ0bigpXCI+PGlcbiAgICAgICAgICAgIGNsYXNzPVwiZmFzIGZhLXBsdXMtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvYnV0dG9uPlxuPC9kaXY+XG48bnotdHJlZSBbbnpEYXRhXT1cImZpbGVHcm91cExpc3RcIiBjbGFzcz1cIm5nLXpvcnJvLWFudGQtdHJlZVwiIG56RHJhZ2dhYmxlIG56QmxvY2tOb2RlIG56U2hvd0ljb25cbiAgICBbbnpFeHBhbmRlZEljb25dPVwibXVsdGlFeHBhbmRlZEljb25UcGxcIiAobnpPbkRyb3ApPVwibnpFdmVudCgkZXZlbnQpXCIgW256QmVmb3JlRHJvcF09XCJiZWZvcmVEcm9wXCJcbiAgICAobnpDbGljayk9XCJhY3RpdmVOb2RlKCRldmVudClcIiAobnpFeHBhbmRDaGFuZ2UpPVwibnpFeHBhbmRDaGFuZ2UoJGV2ZW50KVwiIFtuelRyZWVUZW1wbGF0ZV09XCJuelRyZWVUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjbnpUcmVlVGVtcGxhdGUgbGV0LW5vZGUgbGV0LW9yaWdpbj1cIm9yaWdpblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLW5vZGUgZC1pbmxpbmUtYmxvY2sgICBuZy1zdGFyLWluc2VydGVkIGRyb3Bkb3duXCIgW3RpdGxlXT1cIm5vZGUudGl0bGVcIj5cbiAgICAgICAgICAgIDxkaXYgI2Ryb3Bkb3duPVwibmdiRHJvcGRvd25cIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCIgbmdiRHJvcGRvd24gcGxhY2VtZW50PVwiYm90dG9tXCIgY29udGFpbmVyPVwiYm9keVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNOb2RlU2VsZWN0ZWQobm9kZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gIHAtMCBweC0xXCI+e3sgbm9kZS50aXRsZSB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSAgcC0wXCIgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIiBuZ2JEcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRyb3Bkb3duLXRvZ2dsZV09XCJmYWxzZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2FyZXQtZG93biB0ZXh0LW11dGVkIHAtMVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2suc3RvcCk9XCJhZGREZXNjcmlwdG9yQnRuKG5vZGUpXCI+e3snRmlsZUV4cGxvcmVyOjpOZXdEaXJlY3RvcnknIHwgYWJwTG9jYWxpemF0aW9ufX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBuZ2JEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljay5zdG9wKT1cImFkZERlc2NyaXB0b3JCdG4obm9kZSx0cnVlKVwiPnt7J0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbn19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2suc3RvcCk9XCJkZWxldGVEZXNjcmlwdG9yQnRuKG5vZGUpXCI+e3snQWJwVWk6OkRlbGV0ZScgfCBhYnBMb2NhbGl6YXRpb259fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNtdWx0aUV4cGFuZGVkSWNvblRwbCBsZXQtbm9kZSBsZXQtb3JpZ2luPVwib3JpZ2luXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxpIFtjbGFzc109XCJub2RlLmlzRXhwYW5kZWQgPyAnZmFzIGZhLWNhcmV0LWRvd24nIDogJ2ZhcyBmYS1jYXJldC1yaWdodCdcIj48L2k+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L256LXRyZWU+XG5cblxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cIk1vZGFsRGVzY3JpcHRvck9wZW5cIiBbYnVzeV09XCJNb2RhbERlc2NyaXB0b3JCdXN5XCJcbiAgICAodmlzaWJsZUNoYW5nZSk9XCJNb2RhbERlc2NyaXB0b3JWaXNpYmxlQ2hhbmdlKCRldmVudClcIj5cbiAgICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cbiAgICAgICAgPGgzPnt7dGhlTm9kZUJlaW5nRWRpdGVkPygnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uKTooJ0ZpbGVFeHBsb3Jlcjo6TmV3RGlyZWN0b3J5JyB8IGFicExvY2FsaXphdGlvbil9fTwvaDM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGVyUmVmPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+PGkgY2xhc3M9XCJmYSBmYS1wdWxzZSBmYS1zcGlubmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiTW9kYWxEZXNjcmlwdG9yRm9ybTsgZWxzZSBsb2FkZXJSZWZcIj5cbiAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwic2l0ZXMtbW9kYWwtZm9ybVwiICNteUZvcm09XCJuZ0Zvcm1cIiBbZm9ybUdyb3VwXT1cIk1vZGFsRGVzY3JpcHRvckZvcm1cIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgKHN1Ym1pdCk9XCJjcmVhdGVPckVkaXRTYXZlKClcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAjTW9kYWxGb3JtRGVzY3JpcHRvclN1Ym1pdCBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3snRmlsZUV4cGxvcmVyOjpEaXJlY3RvcnlOYW1lJyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgYWJwQ2xvc2U+e3snQWJwVWk6OkNsb3NlJyB8IGFicExvY2FsaXphdGlvbn19PC9idXR0b24+XG4gICAgICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCJcbiAgICAgICAgICAgIChjbGljayk9XCJNb2RhbEZvcm1EZXNjcmlwdG9yU3VibWl0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKVwiPnt7J0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbn19PC9hYnAtYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2FicC1tb2RhbD4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
1
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "../../services/file-api.service";
|
|
@@ -6,30 +7,29 @@ import * as i3 from "@abp/ng.core";
|
|
|
6
7
|
import * as i4 from "../file-modal/file-modal.component";
|
|
7
8
|
import * as i5 from "../../previews/file-preview.component";
|
|
8
9
|
export class FilePickerComponent {
|
|
9
|
-
_FileApiService;
|
|
10
10
|
constructor(_FileApiService) {
|
|
11
11
|
this._FileApiService = _FileApiService;
|
|
12
|
+
/**是否多选 */
|
|
13
|
+
this._multiple = false;
|
|
14
|
+
/**图片容器 */
|
|
15
|
+
this._fileContainerName = 'Images';
|
|
16
|
+
this.selectedFileChange = new EventEmitter();
|
|
17
|
+
this._fileShowTable = [];
|
|
18
|
+
/**模态框-状态-是否打开 */
|
|
19
|
+
this.ModalOpen = false;
|
|
12
20
|
}
|
|
13
|
-
/**是否多选 */
|
|
14
|
-
_multiple = false;
|
|
15
21
|
set multiple(v) {
|
|
16
22
|
this._multiple = v;
|
|
17
23
|
}
|
|
18
|
-
/**图片容器 */
|
|
19
|
-
_fileContainerName = 'images';
|
|
20
24
|
set fileContainerName(v) {
|
|
21
25
|
this._fileContainerName = v;
|
|
22
26
|
}
|
|
23
|
-
/**已选定的文件 */
|
|
24
|
-
selectFormFile;
|
|
25
27
|
ngOnChanges(changes) {
|
|
26
28
|
let selectFormFilengOnChanges = changes.selectFormFile['currentValue'];
|
|
27
29
|
if (selectFormFilengOnChanges.length > 0) {
|
|
28
30
|
this._fileShowTable = selectFormFilengOnChanges;
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
|
-
selectedFileChange = new EventEmitter();
|
|
32
|
-
_fileShowTable = [];
|
|
33
33
|
/**表格选择的文件回调 */
|
|
34
34
|
_selectFilefn(event) {
|
|
35
35
|
let _fileShowTable = this._FileApiService.deepClone(event);
|
|
@@ -37,8 +37,6 @@ export class FilePickerComponent {
|
|
|
37
37
|
this.selectFormFile = _fileShowTable;
|
|
38
38
|
this.selectedFileChange.emit(_fileShowTable);
|
|
39
39
|
}
|
|
40
|
-
/**模态框-状态-是否打开 */
|
|
41
|
-
ModalOpen = false;
|
|
42
40
|
/**删除文件表格项 */
|
|
43
41
|
deleteFileTableItem(i, file) {
|
|
44
42
|
this._fileShowTable.splice(i, 1);
|
|
@@ -46,8 +44,8 @@ export class FilePickerComponent {
|
|
|
46
44
|
this.selectedFileChange.emit([]);
|
|
47
45
|
this.selectedFileChange.emit(this.selectFormFile);
|
|
48
46
|
}
|
|
49
|
-
static
|
|
50
|
-
static
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FilePickerComponent, deps: [{ token: i1.FileApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: FilePickerComponent, selector: "fe-file-picker", inputs: { multiple: "multiple", fileContainerName: "fileContainerName", selectFormFile: "selectFormFile" }, outputs: { selectedFileChange: "selectedFileChange" }, usesOnChanges: true, ngImport: i0, template: "<button class=\"btn btn-sm btn-primary ms-2 float-end\" type=\"button\" (click.stop)=\"ModalOpen = true\">{{'FileExplorer::SelectFile' | abpLocalization}}</button>\n<fe-file-modal [(visible)]=\"ModalOpen\" [selectPickerFile]=\"selectFormFile\" [multiple]=\"_multiple\" (selectFilefn)=\"_selectFilefn($event)\" [fileContainerName]=\"_fileContainerName\"></fe-file-modal>\n<table class=\"table\" *ngIf=\"_fileShowTable.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 _fileShowTable;let i =index\">\n <tr>\n <td>\n <fe-file-preview [width]=\"'80px'\" [src]=\"item.url||item.Url\" [name]=\"item.name||item.Name\" [type]=\"item.mimeType||item.MimeType\" [preview]=\"true\"></fe-file-preview>\n </td>\n <th scope=\"row\">\n <div>{{item.name||item.Name}}</div>\n </th>\n <td >{{_FileApiService.formatFileSize(item.Size||item.size)}}</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>\n\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "component", type: i4.FileModalComponent, selector: "fe-file-modal", inputs: ["fileContainerName", "multiple", "limit", "visible", "selectPickerFile"], outputs: ["visibleChange", "selectFilefn"] }, { kind: "component", type: i5.FilePreviewComponent, selector: "fe-file-preview", inputs: ["width", "src", "preview", "type", "name"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
51
49
|
}
|
|
52
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FilePickerComponent, decorators: [{
|
|
53
51
|
type: Component,
|
|
@@ -61,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
61
59
|
}], selectedFileChange: [{
|
|
62
60
|
type: Output
|
|
63
61
|
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmlsZS1leHBsb3Jlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmlsZS1leHBsb3Jlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUWpHLE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFDVSxlQUErQjtRQUEvQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFNekMsVUFBVTtRQUNWLGNBQVMsR0FBWSxLQUFLLENBQUE7UUFNMUIsVUFBVTtRQUNWLHVCQUFrQixHQUFXLFFBQVEsQ0FBQTtRQWdCM0IsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUVqRCxtQkFBYyxHQUFVLEVBQUUsQ0FBQTtRQVUxQixpQkFBaUI7UUFDakIsY0FBUyxHQUFZLEtBQUssQ0FBQTtJQXhDMUIsQ0FBQztJQUtELElBQ1csUUFBUSxDQUFDLENBQVU7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUlELElBQ1csaUJBQWlCLENBQUMsQ0FBUztRQUNwQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFLRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSx5QkFBeUIsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3RFLElBQUkseUJBQXlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcseUJBQXlCLENBQUE7UUFDakQsQ0FBQztJQUNILENBQUM7SUFNRCxlQUFlO0lBQ2YsYUFBYSxDQUFDLEtBQVk7UUFDeEIsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDMUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUE7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUE7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBS0QsYUFBYTtJQUNiLG1CQUFtQixDQUFDLENBQUMsRUFBRSxJQUFJO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUE7UUFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUNuRCxDQUFDOzhHQXhEVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw4T0NUaEMsMmpEQWdDQTs7MkZEdkJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0I7bUZBa0JmLFFBQVE7c0JBRGxCLEtBQUs7Z0JBUUssaUJBQWlCO3NCQUQzQixLQUFLO2dCQU1HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBU0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWxlLWFwaS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmUtZmlsZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXBpY2tlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9GaWxlQXBpU2VydmljZTogRmlsZUFwaVNlcnZpY2UsXG4gICkge1xuXG4gIH1cblxuXG4gIC8qKuaYr+WQpuWkmumAiSAqL1xuICBfbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG11bHRpcGxlKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9tdWx0aXBsZSA9IHY7XG4gIH1cblxuICAvKirlm77niYflrrnlmaggKi9cbiAgX2ZpbGVDb250YWluZXJOYW1lOiBzdHJpbmcgPSAnSW1hZ2VzJ1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZpbGVDb250YWluZXJOYW1lKHY6IHN0cmluZykge1xuICAgIHRoaXMuX2ZpbGVDb250YWluZXJOYW1lID0gdjtcbiAgfVxuXG4gIC8qKuW3sumAieWumueahOaWh+S7tiAqL1xuICBASW5wdXQoKSBzZWxlY3RGb3JtRmlsZTogYW55W11cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgbGV0IHNlbGVjdEZvcm1GaWxlbmdPbkNoYW5nZXMgPSBjaGFuZ2VzLnNlbGVjdEZvcm1GaWxlWydjdXJyZW50VmFsdWUnXVxuICAgIGlmIChzZWxlY3RGb3JtRmlsZW5nT25DaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX2ZpbGVTaG93VGFibGUgPSBzZWxlY3RGb3JtRmlsZW5nT25DaGFuZ2VzXG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkRmlsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIF9maWxlU2hvd1RhYmxlOiBhbnlbXSA9IFtdXG5cbiAgLyoq6KGo5qC86YCJ5oup55qE5paH5Lu25Zue6LCDICovXG4gIF9zZWxlY3RGaWxlZm4oZXZlbnQ6IGFueVtdKSB7XG4gICAgbGV0IF9maWxlU2hvd1RhYmxlID0gdGhpcy5fRmlsZUFwaVNlcnZpY2UuZGVlcENsb25lKGV2ZW50KVxuICAgIHRoaXMuX2ZpbGVTaG93VGFibGUgPSBfZmlsZVNob3dUYWJsZVxuICAgIHRoaXMuc2VsZWN0Rm9ybUZpbGUgPSBfZmlsZVNob3dUYWJsZVxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlQ2hhbmdlLmVtaXQoX2ZpbGVTaG93VGFibGUpXG4gIH1cblxuICAvKirmqKHmgIHmoYYt54q25oCBLeaYr+WQpuaJk+W8gCAqL1xuICBNb2RhbE9wZW46IGJvb2xlYW4gPSBmYWxzZVxuXG4gIC8qKuWIoOmZpOaWh+S7tuihqOagvOmhuSAqL1xuICBkZWxldGVGaWxlVGFibGVJdGVtKGksIGZpbGUpIHtcbiAgICB0aGlzLl9maWxlU2hvd1RhYmxlLnNwbGljZShpLCAxKVxuICAgIHRoaXMuc2VsZWN0Rm9ybUZpbGUgPSB0aGlzLl9maWxlU2hvd1RhYmxlXG4gICAgdGhpcy5zZWxlY3RlZEZpbGVDaGFuZ2UuZW1pdChbXSlcbiAgICB0aGlzLnNlbGVjdGVkRmlsZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0Rm9ybUZpbGUpXG4gIH1cblxufVxuIiwiPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgbXMtMiBmbG9hdC1lbmRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrLnN0b3ApPVwiTW9kYWxPcGVuID0gdHJ1ZVwiPnt7J0ZpbGVFeHBsb3Jlcjo6U2VsZWN0RmlsZScgfCBhYnBMb2NhbGl6YXRpb259fTwvYnV0dG9uPlxuPGZlLWZpbGUtbW9kYWwgWyh2aXNpYmxlKV09XCJNb2RhbE9wZW5cIiBbc2VsZWN0UGlja2VyRmlsZV09XCJzZWxlY3RGb3JtRmlsZVwiIFttdWx0aXBsZV09XCJfbXVsdGlwbGVcIiAgKHNlbGVjdEZpbGVmbik9XCJfc2VsZWN0RmlsZWZuKCRldmVudClcIiBbZmlsZUNvbnRhaW5lck5hbWVdPVwiX2ZpbGVDb250YWluZXJOYW1lXCI+PC9mZS1maWxlLW1vZGFsPlxuPHRhYmxlIGNsYXNzPVwidGFibGVcIiAqbmdJZj1cIl9maWxlU2hvd1RhYmxlLmxlbmd0aD4wXCI+XG4gICAgPHRoZWFkPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj48L3RoPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+e3snRmlsZUV4cGxvcmVyOjpGaWxlTmFtZScgfCBhYnBMb2NhbGl6YXRpb259fTwvdGg+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj57eydGaWxlRXhwbG9yZXI6OkZpbGVTaXplJyB8IGFicExvY2FsaXphdGlvbn19PC90aD5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHk+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2ZpbGVTaG93VGFibGU7bGV0IGkgPWluZGV4XCI+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICA8ZmUtZmlsZS1wcmV2aWV3IFt3aWR0aF09XCInODBweCdcIiBbc3JjXT1cIml0ZW0udXJsfHxpdGVtLlVybFwiIFtuYW1lXT1cIml0ZW0ubmFtZXx8aXRlbS5OYW1lXCIgW3R5cGVdPVwiaXRlbS5taW1lVHlwZXx8aXRlbS5NaW1lVHlwZVwiIFtwcmV2aWV3XT1cInRydWVcIj48L2ZlLWZpbGUtcHJldmlldz5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7aXRlbS5uYW1lfHxpdGVtLk5hbWV9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkID57e19GaWxlQXBpU2VydmljZS5mb3JtYXRGaWxlU2l6ZShpdGVtLlNpemV8fGl0ZW0uc2l6ZSl9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBwLTAgYnRuLWxpZ2h0IFwiIChjbGljay5zdG9wKT1cImRlbGV0ZUZpbGVUYWJsZUl0ZW0oaSxpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdHJhc2ggcC0yXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbjwvdGFibGU+XG5cblxuIl19
|
|
@@ -10,9 +10,9 @@ const routes = [
|
|
|
10
10
|
},
|
|
11
11
|
];
|
|
12
12
|
export class FileExplorerRoutingModule {
|
|
13
|
-
static
|
|
14
|
-
static
|
|
15
|
-
static
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileExplorerRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: FileExplorerRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
15
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileExplorerRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileExplorerRoutingModule, decorators: [{
|
|
18
18
|
type: NgModule,
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
21
21
|
exports: [RouterModule]
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1leHBsb3Jlci1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9maWxlLWV4cGxvcmVyLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFHLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7QUFFMUUsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsV0FBVztRQUNqQixTQUFTLEVBQUUsaUJBQWlCO0tBQy9CO0NBQ0EsQ0FBQztBQU1GLE1BQU0sT0FBTyx5QkFBeUI7OEdBQXpCLHlCQUF5QjsrR0FBekIseUJBQXlCLHdDQUYxQixZQUFZOytHQUVYLHlCQUF5QixZQUgxQixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzsyRkFFWCx5QkFBeUI7a0JBSnJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyAgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRmlsZURvbWVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZG9tZS9maWxlLWRvbWUuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnZmlsZS1kb21lJyxcbiAgICBjb21wb25lbnQ6IEZpbGVEb21lQ29tcG9uZW50XG59LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRmlsZUV4cGxvcmVyUm91dGluZ01vZHVsZSB7IFxuICBcbn1cbiJdfQ==
|
|
@@ -12,8 +12,8 @@ import { FileExplorerConfigComponent } from './components/dynamic-form/file-expl
|
|
|
12
12
|
import { FileExplorerControlComponent } from './components/dynamic-form/file-explorer/file-explorer-control.component';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class FileExplorerModule {
|
|
15
|
-
static
|
|
16
|
-
static
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileExplorerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: FileExplorerModule, declarations: [FileEditComponent,
|
|
17
17
|
FilePickerComponent,
|
|
18
18
|
FileModalComponent,
|
|
19
19
|
FileModalTreeComponent,
|
|
@@ -32,15 +32,15 @@ export class FileExplorerModule {
|
|
|
32
32
|
FileModalComponent,
|
|
33
33
|
FileModalTreeComponent,
|
|
34
34
|
FileDomeComponent,
|
|
35
|
-
FilePreviewComponent] });
|
|
36
|
-
static
|
|
35
|
+
FilePreviewComponent] }); }
|
|
36
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileExplorerModule, imports: [FormsModule,
|
|
37
37
|
CoreModule,
|
|
38
38
|
ThemeSharedModule,
|
|
39
39
|
ReactiveFormsModule,
|
|
40
40
|
NgbDropdownModule,
|
|
41
41
|
NzTreeModule,
|
|
42
42
|
NgxValidateCoreModule,
|
|
43
|
-
FileExplorerRoutingModule] });
|
|
43
|
+
FileExplorerRoutingModule] }); }
|
|
44
44
|
}
|
|
45
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileExplorerModule, decorators: [{
|
|
46
46
|
type: NgModule,
|
|
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
85
85
|
],
|
|
86
86
|
}]
|
|
87
87
|
}] });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1leHBsb3Jlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9maWxlLWV4cGxvcmVyL3NyYy9saWIvZmlsZS1leHBsb3Jlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOztBQXlDdkgsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsaUJBdEMzQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQiwyQkFBMkI7WUFDM0IsNEJBQTRCLGFBRzVCLFdBQVc7WUFDWCxVQUFVO1lBQ1YsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLHFCQUFxQjtZQUNyQix5QkFBeUIsYUFHekIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLGlCQUFpQjtZQUNqQixvQkFBb0I7K0dBYVgsa0JBQWtCLFlBNUIzQixXQUFXO1lBQ1gsVUFBVTtZQUNWLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWixxQkFBcUI7WUFDckIseUJBQXlCOzsyRkFxQmhCLGtCQUFrQjtrQkF4QzlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQiwrQkFBK0I7d0JBQy9CLGdDQUFnQztxQkFDakM7b0JBQ0QsU0FBUyxFQUFFO29CQUNULGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLCtEQUErRDtvQkFDL0QsMEVBQTBFO29CQUMxRSx3REFBd0Q7cUJBQ3pEO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTnpUcmVlTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC90cmVlJztcbmltcG9ydCB7IE5neFZhbGlkYXRlQ29yZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XG5pbXBvcnQgeyBGaWxlRXhwbG9yZXJSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9maWxlLWV4cGxvcmVyLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IEZpbGVFZGl0Q29tcG9uZW50LCBGaWxlUGlja2VyQ29tcG9uZW50LCBGaWxlTW9kYWxDb21wb25lbnQsIEZpbGVNb2RhbFRyZWVDb21wb25lbnQsIEZpbGVEb21lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEZpbGVQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9wcmV2aWV3cy9maWxlLXByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVFeHBsb3JlckNvbmZpZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vZmlsZS1leHBsb3Jlci9maWxlLWV4cGxvcmVyLWNvbmZpZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZUV4cGxvcmVyQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vZmlsZS1leHBsb3Jlci9maWxlLWV4cGxvcmVyLWNvbnRyb2wuY29tcG9uZW50JztcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZpbGVFZGl0Q29tcG9uZW50LFxuICAgIEZpbGVQaWNrZXJDb21wb25lbnQsXG4gICAgRmlsZU1vZGFsQ29tcG9uZW50LFxuICAgIEZpbGVNb2RhbFRyZWVDb21wb25lbnQsXG4gICAgRmlsZURvbWVDb21wb25lbnQsXG4gICAgRmlsZVByZXZpZXdDb21wb25lbnQsXG4gICAgRmlsZUV4cGxvcmVyQ29uZmlnQ29tcG9uZW50LFxuICAgIEZpbGVFeHBsb3JlckNvbnRyb2xDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb3JlTW9kdWxlLFxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXG4gICAgTnpUcmVlTW9kdWxlLFxuICAgIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcbiAgICBGaWxlRXhwbG9yZXJSb3V0aW5nTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRmlsZUVkaXRDb21wb25lbnQsXG4gICAgRmlsZVBpY2tlckNvbXBvbmVudCxcbiAgICBGaWxlTW9kYWxDb21wb25lbnQsXG4gICAgRmlsZU1vZGFsVHJlZUNvbXBvbmVudCxcbiAgICBGaWxlRG9tZUNvbXBvbmVudCxcbiAgICBGaWxlUHJldmlld0NvbXBvbmVudCxcbiAgICAvLyBGaWxlRXhwbG9yZXJDb25maWdDb21wb25lbnQsXG4gICAgLy8gRmlsZUV4cGxvcmVyQ29udHJvbENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gLy8gW1JlcXVpcmVkXVxuICAgIC8vIExpc3RTZXJ2aWNlLFxuICAgIC8vIC8vIFtPcHRpb25hbF1cbiAgICAvLyAvLyBQcm92aWRlIHRoaXMgdG9rZW4gaWYgeW91IHdhbnQgYSBkaWZmZXJlbnQgZGVib3VuY2UgdGltZS5cbiAgICAvLyAvLyBEZWZhdWx0IGlzIDMwMC4gQ2Fubm90IGJlIDAuIEFueSB2YWx1ZSBiZWxvdyAxMDAgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgIC8vIHsgcHJvdmlkZTogTElTVF9RVUVSWV9ERUJPVU5DRV9USU1FLCB1c2VWYWx1ZTogNTAwIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVFeHBsb3Jlck1vZHVsZSB7XG5cbn1cbiJdfQ==
|
|
@@ -5,27 +5,30 @@ import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
|
5
5
|
import * as i2 from "@angular/common";
|
|
6
6
|
import * as i3 from "@abp/ng.core";
|
|
7
7
|
export class FilePreviewComponent {
|
|
8
|
-
modalService;
|
|
9
|
-
/**文件宽度 */
|
|
10
|
-
width = '100px';
|
|
11
|
-
/*文件链接 */
|
|
12
|
-
src = '';
|
|
13
|
-
/**是否支持大图预览 */
|
|
14
|
-
preview = true;
|
|
15
|
-
/**文件类型 */
|
|
16
|
-
type = '';
|
|
17
|
-
/**文件名称 */
|
|
18
|
-
name = '';
|
|
19
|
-
/**是否是文件 */
|
|
20
|
-
isImage = true;
|
|
21
|
-
/**是否是视频 */
|
|
22
|
-
isAudio = false;
|
|
23
|
-
/**是否是音频 */
|
|
24
|
-
isVideo = false;
|
|
25
|
-
/**文件类型及图标 */
|
|
26
|
-
_ImageTypeOption = ImageTypeOption;
|
|
27
8
|
constructor(modalService) {
|
|
28
9
|
this.modalService = modalService;
|
|
10
|
+
/**文件宽度 */
|
|
11
|
+
this.width = '100px';
|
|
12
|
+
/*文件链接 */
|
|
13
|
+
this.src = '';
|
|
14
|
+
/**是否支持大图预览 */
|
|
15
|
+
this.preview = true;
|
|
16
|
+
/**文件类型 */
|
|
17
|
+
this.type = '';
|
|
18
|
+
/**文件名称 */
|
|
19
|
+
this.name = '';
|
|
20
|
+
/**是否是文件 */
|
|
21
|
+
this.isImage = true;
|
|
22
|
+
/**是否是视频 */
|
|
23
|
+
this.isAudio = false;
|
|
24
|
+
/**是否是音频 */
|
|
25
|
+
this.isVideo = false;
|
|
26
|
+
/**文件类型及图标 */
|
|
27
|
+
this._ImageTypeOption = ImageTypeOption;
|
|
28
|
+
/**放大倍数 */
|
|
29
|
+
this.zoom = 10;
|
|
30
|
+
/**旋转 */
|
|
31
|
+
this.rotate = 0;
|
|
29
32
|
}
|
|
30
33
|
ngAfterContentInit() {
|
|
31
34
|
//Called after ngOnInit when the component's or directive's content has been initialized.
|
|
@@ -40,12 +43,6 @@ export class FilePreviewComponent {
|
|
|
40
43
|
/**预览图片 */
|
|
41
44
|
previewImage() {
|
|
42
45
|
}
|
|
43
|
-
/**模态框实例 */
|
|
44
|
-
modalRef;
|
|
45
|
-
/**放大倍数 */
|
|
46
|
-
zoom = 10;
|
|
47
|
-
/**旋转 */
|
|
48
|
-
rotate = 0;
|
|
49
46
|
/**打开预览弹窗 */
|
|
50
47
|
OpenPreviewImage(content) {
|
|
51
48
|
this.modalRef = this.modalService.open(content, {
|
|
@@ -79,8 +76,8 @@ export class FilePreviewComponent {
|
|
|
79
76
|
return this.rotate = 0;
|
|
80
77
|
this.rotate += 90;
|
|
81
78
|
}
|
|
82
|
-
static
|
|
83
|
-
static
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FilePreviewComponent, deps: [{ token: i1.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: FilePreviewComponent, selector: "fe-file-preview", inputs: { width: "width", src: "src", preview: "preview", type: "type", name: "name" }, ngImport: i0, template: "<div class=\"image_box\" [style]=\"{width:width}\">\n <div class=\"img_box\" *ngIf=\"isImage\">\n <img [src]=\"src\" />\n <div class=\"option_box\" *ngIf=\"preview\">\n <i class=\"fa fa-eye \" (click.stop)=\"OpenPreviewImage(content)\"></i>\n </div>\n </div>\n <a [href]=\"src\" [download]=\"name\" target>\n <i class=\"fa fa-file-audio-o fs-1\" *ngIf=\"isAudio\"></i>\n <i class=\"fa fa-file-video-o fs-1\" *ngIf=\"isVideo\"></i>\n <ng-container *ngIf=\"!(isImage||isAudio||isVideo)\">\n <ng-container *ngFor=\"let item of _ImageTypeOption; let i=index\">\n <i class=\"fs-1\" [ngClass]=\"item.icon\" *ngIf=\"item.type===type\"></i>\n </ng-container>\n </ng-container>\n </a>\n</div>\n\n<ng-template #content let-modal>\n <div class=\"modal-header\">\n <div class=\"d-flex justify-content-end w-100 fs-3\">\n <i class=\"mx-2 fa fa fa-repeat\" aria-hidden=\"true\" title=\"\u53F3\u65CB\u8F6C\" role=\"button\" (click)=\"RotateRight()\"></i>\n <i class=\"mx-2 fa fa-search-minus\" aria-hidden=\"true\" title=\"\u7F29\u5C0F\" role=\"button\" (click)=\"zoomOut()\"></i>\n <i class=\"mx-2 fa fa-search-plus\" aria-hidden=\"true\" title=\"\u653E\u5927\" role=\"button\" (click)=\"zoomIn()\"></i>\n <i class=\"mx-2 fa fa-times\" aria-hidden=\"true\" role=\"button\" (click)=\"modal.dismiss('Cross click')\"></i>\n </div>\n </div> \n <div class=\"modal-body d-flex justify-content-center align-items-center \">\n <img width=\"400\" class=\"modal-body-preview\" [src]=\"src\" [style.transform]=\"'scale('+zoom/10+') rotate('+rotate+'deg)'\" >\n </div>\n</ng-template>", styles: [".image_box{text-align:center;position:relative}.image_box img{width:100%}.image_box .img_box:hover .option_box{display:flex}.image_box .option_box{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000040;align-items:center;justify-content:center;display:none;transition:all .2s linear}.image_box .option_box i{cursor:pointer;font-size:18px;color:#fff}.modal-body-preview{transition:all .2s}::ng-deep .dignite-preview .modal-content{background-color:transparent;color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }] }); }
|
|
84
81
|
}
|
|
85
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FilePreviewComponent, decorators: [{
|
|
86
83
|
type: Component,
|
|
@@ -96,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
96
93
|
}], name: [{
|
|
97
94
|
type: Input
|
|
98
95
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9wcmV2aWV3cy9maWxlLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmlsZS1leHBsb3Jlci9zcmMvbGliL3ByZXZpZXdzL2ZpbGUtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7OztBQVEzQyxNQUFNLE9BQU8sb0JBQW9CO0lBdUIvQixZQUNVLFlBQXNCO1FBQXRCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBdEJoQyxVQUFVO1FBQ0QsVUFBSyxHQUFRLE9BQU8sQ0FBQTtRQUM3QixTQUFTO1FBQ0EsUUFBRyxHQUFRLEVBQUUsQ0FBQTtRQUN0QixjQUFjO1FBQ0wsWUFBTyxHQUFRLElBQUksQ0FBQztRQUM3QixVQUFVO1FBQ0QsU0FBSSxHQUFRLEVBQUUsQ0FBQTtRQUN2QixVQUFVO1FBQ0QsU0FBSSxHQUFRLEVBQUUsQ0FBQTtRQUV2QixXQUFXO1FBQ1gsWUFBTyxHQUFHLElBQUksQ0FBQTtRQUNkLFdBQVc7UUFDWCxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsV0FBVztRQUNYLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixhQUFhO1FBQ2IscUJBQWdCLEdBQUcsZUFBZSxDQUFBO1FBMEJsQyxVQUFVO1FBQ1YsU0FBSSxHQUFXLEVBQUUsQ0FBQTtRQUNqQixRQUFRO1FBQ1IsV0FBTSxHQUFXLENBQUMsQ0FBQTtJQXhCZCxDQUFDO0lBRUwsa0JBQWtCO1FBQ2hCLHlGQUF5RjtRQUN6RixpREFBaUQ7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ25ELENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsVUFBVTtJQUNWLFlBQVk7SUFFWixDQUFDO0lBV0QsWUFBWTtJQUNaLGdCQUFnQixDQUFDLE9BQXlCO1FBRXhDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzlDLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGdCQUFnQixFQUFFLGlCQUFpQjtTQUNwQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZCLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDWCxDQUFDLEVBQ0QsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2hCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELFVBQVU7SUFDVixNQUFNO1FBQ0osSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUNwQixJQUFJLElBQUksSUFBSSxFQUFFO1lBQUUsT0FBTTtRQUN0QixJQUFJLEVBQUUsQ0FBQTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFDRCxVQUFVO0lBQ1YsT0FBTztRQUNMLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDcEIsSUFBSSxJQUFJLElBQUksQ0FBQztZQUFFLE9BQU07UUFDckIsSUFBSSxFQUFFLENBQUE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBQ0QsU0FBUztJQUNULFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7UUFDOUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUE7SUFDbkIsQ0FBQzs4R0FyRlUsb0JBQW9CO2tHQUFwQixvQkFBb0IsK0lDVGpDLDB0REE4QmM7OzJGRHJCRCxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCOzZFQU9sQixLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltYWdlVHlwZU9wdGlvbiB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JNb2RhbFJlZiB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmUtZmlsZS1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtcHJldmlldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVQcmV2aWV3Q29tcG9uZW50IHtcblxuICAvKirmlofku7blrr3luqYgKi9cbiAgQElucHV0KCkgd2lkdGg6IGFueSA9ICcxMDBweCdcbiAgLyrmlofku7bpk77mjqUgKi9cbiAgQElucHV0KCkgc3JjOiBhbnkgPSAnJ1xuICAvKirmmK/lkKbmlK/mjIHlpKflm77pooTop4ggKi9cbiAgQElucHV0KCkgcHJldmlldzogYW55ID0gdHJ1ZTtcbiAgLyoq5paH5Lu257G75Z6LICovXG4gIEBJbnB1dCgpIHR5cGU6IGFueSA9ICcnXG4gIC8qKuaWh+S7tuWQjeensCAqL1xuICBASW5wdXQoKSBuYW1lOiBhbnkgPSAnJ1xuXG4gIC8qKuaYr+WQpuaYr+aWh+S7tiAqL1xuICBpc0ltYWdlID0gdHJ1ZVxuICAvKirmmK/lkKbmmK/op4bpopEgKi9cbiAgaXNBdWRpbyA9IGZhbHNlXG4gIC8qKuaYr+WQpuaYr+mfs+mikSAqL1xuICBpc1ZpZGVvID0gZmFsc2VcbiAgLyoq5paH5Lu257G75Z6L5Y+K5Zu+5qCHICovXG4gIF9JbWFnZVR5cGVPcHRpb24gPSBJbWFnZVR5cGVPcHRpb25cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbFxuICApIHsgfVxuICBcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vQ2FsbGVkIGFmdGVyIG5nT25Jbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIG9yIGRpcmVjdGl2ZSdzIGNvbnRlbnQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCcgdG8gdGhlIGNsYXNzLlxuICAgIGlmICghdGhpcy50eXBlKSB7XG4gICAgICB0aGlzLnR5cGUgPSB0aGlzLm5hbWUuaW5jbHVkZXMoJy43eicpID8gJzd6JyA6ICcnXG4gICAgfVxuICAgIHRoaXMuaXNJbWFnZSA9IHRoaXMudHlwZS5pbmNsdWRlcygnaW1hZ2UvJylcbiAgICB0aGlzLmlzQXVkaW8gPSB0aGlzLnR5cGUuaW5jbHVkZXMoJ2F1ZGlvLycpXG4gICAgdGhpcy5pc1ZpZGVvID0gdGhpcy50eXBlLmluY2x1ZGVzKCd2aWRlby8nKVxuICB9XG5cbiAgLyoq6aKE6KeI5Zu+54mHICovXG4gIHByZXZpZXdJbWFnZSgpIHtcblxuICB9XG5cbiAgLyoq5qih5oCB5qGG5a6e5L6LICovXG4gIG1vZGFsUmVmITogTmdiTW9kYWxSZWY7XG5cbiAgLyoq5pS+5aSn5YCN5pWwICovXG4gIHpvb206IG51bWJlciA9IDEwXG4gIC8qKuaXi+i9rCAqL1xuICByb3RhdGU6IG51bWJlciA9IDBcblxuXG4gIC8qKuaJk+W8gOmihOiniOW8ueeqlyAqL1xuICBPcGVuUHJldmlld0ltYWdlKGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4pIHtcblxuICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKGNvbnRlbnQsIHtcbiAgICAgIGZ1bGxzY3JlZW46IHRydWUsXG4gICAgICBtb2RhbERpYWxvZ0NsYXNzOiAnZGlnbml0ZS1wcmV2aWV3JyxcbiAgICB9KTtcbiAgICB0aGlzLm1vZGFsUmVmLnJlc3VsdC50aGVuKFxuICAgICAgKHJlc3VsdCkgPT4ge1xuICAgICAgfSxcbiAgICAgIChyZWFzb24pID0+IHtcbiAgICAgICAgdGhpcy56b29tID0gMTBcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuICAvKirmlL7lpKflm77lg48gKi9cbiAgem9vbUluKCkge1xuICAgIGxldCB6b29tID0gdGhpcy56b29tXG4gICAgaWYgKHpvb20gPT0gMjApIHJldHVyblxuICAgIHpvb20rK1xuICAgIHRoaXMuem9vbSA9IHpvb21cbiAgfVxuICAvKirnvKnlsI/lm77lg48gKi9cbiAgem9vbU91dCgpIHtcbiAgICBsZXQgem9vbSA9IHRoaXMuem9vbVxuICAgIGlmICh6b29tID09IDMpIHJldHVyblxuICAgIHpvb20tLVxuICAgIHRoaXMuem9vbSA9IHpvb21cbiAgfVxuICAvKirlj7Pml4vovawgKi9cbiAgUm90YXRlUmlnaHQoKSB7XG4gICAgaWYgKHRoaXMucm90YXRlID09IDM2MCkgcmV0dXJuIHRoaXMucm90YXRlID0gMFxuICAgIHRoaXMucm90YXRlICs9IDkwXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbWFnZV9ib3hcIiBbc3R5bGVdPVwie3dpZHRoOndpZHRofVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbWdfYm94XCIgKm5nSWY9XCJpc0ltYWdlXCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJzcmNcIiAgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbl9ib3hcIiAqbmdJZj1cInByZXZpZXdcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXllIFwiIChjbGljay5zdG9wKT1cIk9wZW5QcmV2aWV3SW1hZ2UoY29udGVudClcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxhIFtocmVmXT1cInNyY1wiIFtkb3dubG9hZF09XCJuYW1lXCIgdGFyZ2V0PlxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZpbGUtYXVkaW8tbyBmcy0xXCIgKm5nSWY9XCJpc0F1ZGlvXCI+PC9pPlxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZpbGUtdmlkZW8tbyBmcy0xXCIgKm5nSWY9XCJpc1ZpZGVvXCI+PC9pPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShpc0ltYWdlfHxpc0F1ZGlvfHxpc1ZpZGVvKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfSW1hZ2VUeXBlT3B0aW9uOyBsZXQgaT1pbmRleFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZnMtMVwiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvblwiICpuZ0lmPVwiaXRlbS50eXBlPT09dHlwZVwiPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50IGxldC1tb2RhbD5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCB3LTEwMCBmcy0zXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cIm14LTIgZmEgIGZhIGZhLXJlcGVhdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwi5Y+z5peL6L2sXCIgcm9sZT1cImJ1dHRvblwiIChjbGljayk9XCJSb3RhdGVSaWdodCgpXCI+PC9pPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJteC0yIGZhICBmYS1zZWFyY2gtbWludXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIue8qeWwj1wiIHJvbGU9XCJidXR0b25cIiAoY2xpY2spPVwiem9vbU91dCgpXCI+PC9pPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJteC0yIGZhICBmYS1zZWFyY2gtcGx1c1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwi5pS+5aSnXCIgcm9sZT1cImJ1dHRvblwiIChjbGljayk9XCJ6b29tSW4oKVwiPjwvaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibXgtMiBmYSAgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoJ0Nyb3NzIGNsaWNrJylcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PiBcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxpbWcgd2lkdGg9XCI0MDBcIiBjbGFzcz1cIm1vZGFsLWJvZHktcHJldmlld1wiICBbc3JjXT1cInNyY1wiIFtzdHlsZS50cmFuc2Zvcm1dPVwiJ3NjYWxlKCcrem9vbS8xMCsnKSByb3RhdGUoJytyb3RhdGUrJ2RlZyknXCIgICA+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|