@elderbyte/ngx-starter 15.10.1 → 15.10.3
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/esm2020/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
- package/esm2020/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +31 -3
- package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +28 -12
- package/esm2020/lib/components/files/listing/file-listing-rx.mjs +21 -2
- package/fesm2015/elderbyte-ngx-starter.mjs +77 -16
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +77 -16
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.d.ts +1 -1
- package/lib/components/files/drag-n-drop/global-drag-drop.service.d.ts +13 -0
- package/lib/components/files/elder-file-drop-zone.directive.d.ts +12 -4
- package/lib/components/files/listing/file-listing-rx.d.ts +1 -0
- package/package.json +1 -1
package/esm2020/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs
CHANGED
|
@@ -16,7 +16,7 @@ export class ElderDropZoneComponent {
|
|
|
16
16
|
* Fields *
|
|
17
17
|
* *
|
|
18
18
|
**************************************************************************/
|
|
19
|
-
this.
|
|
19
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
20
20
|
this.filesDropped = new EventEmitter();
|
|
21
21
|
this.dragOver = new EventEmitter();
|
|
22
22
|
this.dragEnd = new EventEmitter();
|
|
@@ -25,7 +25,7 @@ export class ElderDropZoneComponent {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
ElderDropZoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderDropZoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
ElderDropZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderDropZoneComponent, selector: "elder-drop-zone", inputs: { icon: "icon", prompt: "prompt" }, outputs: { filesDropped: "filesDropped", dragOver: "dragOver", dragEnd: "dragEnd" }, ngImport: i0, template: "<div class=\"full p-lg\"\n>\n <div class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n >\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{icon}}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{prompt | translate}}</span>\n </div>\n </div>\n </div>\n</div>\n\n\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2.ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: ["dragOverClass"], outputs: ["dragOver", "dragEnd", "
|
|
28
|
+
ElderDropZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderDropZoneComponent, selector: "elder-drop-zone", inputs: { icon: "icon", prompt: "prompt" }, outputs: { filesDropped: "filesDropped", dragOver: "dragOver", dragEnd: "dragEnd" }, ngImport: i0, template: "<div class=\"full p-lg\"\n>\n <div class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n >\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{icon}}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{prompt | translate}}</span>\n </div>\n </div>\n </div>\n</div>\n\n\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2.ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: ["dragOverClass"], outputs: ["dragEnter", "dragOver", "dragEnd", "dragEnterFiles", "dropFiles", "elderFileDropZoneChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderDropZoneComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{ selector: 'elder-drop-zone', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"full p-lg\"\n>\n <div class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n >\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{icon}}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{prompt | translate}}</span>\n </div>\n </div>\n </div>\n</div>\n\n\n" }]
|
|
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
40
40
|
}], prompt: [{
|
|
41
41
|
type: Input
|
|
42
42
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZHJvcC16b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZXMvZHJhZy1uLWRyb3AvZWxkZXItZHJvcC16b25lL2VsZGVyLWRyb3Atem9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzL2RyYWctbi1kcm9wL2VsZGVyLWRyb3Atem9uZS9lbGRlci1kcm9wLXpvbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxzQkFBc0I7SUF5QmpDOzs7O2dGQUk0RTtJQUU1RTtRQTdCQTs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUd0RCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFHL0MsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFHekMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFHakQsU0FBSSxHQUFXLGFBQWEsQ0FBQztRQUc3QixXQUFNLEdBQVcsa0JBQWtCLENBQUE7SUFRMUIsQ0FBQzs7bUhBL0JOLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHdMQ1ZuQyw0bkJBb0JBOzJGRFZhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTswRUFhL0IsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxRQUFRO3NCQUR2QixNQUFNO2dCQUlTLE9BQU87c0JBRHRCLE1BQU07Z0JBSUEsSUFBSTtzQkFEVixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtGaWxlRW50cnl9IGZyb20gJy4uLy4uL2xpc3RpbmcvZmlsZS1lbnRyeSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRyb3Atem9uZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1kcm9wLXpvbmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1kcm9wLXpvbmUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEcm9wWm9uZUNvbXBvbmVudCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZmlsZXNEcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlRW50cnlbXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGRyYWdPdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBkcmFnRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnRXZlbnQ+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZyA9ICd1cGxvYWRfZmlsZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHByb21wdDogc3RyaW5nID0gJ0Ryb3AgRmlsZXMgaGVyZS4nXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbn1cbiIsIjxkaXYgY2xhc3M9XCJmdWxsIHAtbGdcIlxuPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmdWxsIGVsZGVyLWRyb3Atem9uZVwiXG4gICAgICAgZWxkZXJGaWxlRHJvcFpvbmVcbiAgICAgICAoZHJvcEZpbGVzKT1cImZpbGVzRHJvcHBlZC5lbWl0KCRldmVudClcIlxuICAgICAgIChkcmFnT3Zlcik9XCJkcmFnT3Zlci5lbWl0KCRldmVudClcIlxuICAgICAgIChkcmFnRW5kKT1cImRyYWdFbmQuZW1pdCgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZsZXhcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwhLS0gRGVmYXVsdCBjb250ZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZmxleCBwbGFjZS1jZW50ZXItY2VudGVyIGdhcC1zbSBlbGRlci1kZWZhdWx0LWNvbnRlbnRcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZWxkZXItZHJvcC16b25lLWljb25cIj57e2ljb259fTwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWxkZXItZHJvcC16b25lLXByb21wdFwiPnt7cHJvbXB0IHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuXG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { fromEvent } from 'rxjs';
|
|
3
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class GlobalDragDropService {
|
|
5
6
|
/***************************************************************************
|
|
@@ -8,24 +9,42 @@ export class GlobalDragDropService {
|
|
|
8
9
|
* *
|
|
9
10
|
**************************************************************************/
|
|
10
11
|
constructor() {
|
|
12
|
+
/***************************************************************************
|
|
13
|
+
* *
|
|
14
|
+
* Fields *
|
|
15
|
+
* *
|
|
16
|
+
**************************************************************************/
|
|
17
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
18
|
+
this._onDragStart$ = fromEvent(window, 'dragstart');
|
|
11
19
|
this._onDragOver$ = fromEvent(window, 'dragover');
|
|
20
|
+
this._onDragEnter$ = fromEvent(window, 'dragenter');
|
|
12
21
|
this._onDragLeave$ = fromEvent(window, 'dragleave');
|
|
13
22
|
this._onDrop$ = fromEvent(window, 'drop');
|
|
23
|
+
this._onDragEnd$ = fromEvent(window, 'dragend');
|
|
14
24
|
}
|
|
15
25
|
/***************************************************************************
|
|
16
26
|
* *
|
|
17
27
|
* Properties *
|
|
18
28
|
* *
|
|
19
29
|
**************************************************************************/
|
|
30
|
+
get dragStart$() {
|
|
31
|
+
return this._onDragStart$;
|
|
32
|
+
}
|
|
20
33
|
get dragOver$() {
|
|
21
34
|
return this._onDragOver$;
|
|
22
35
|
}
|
|
23
36
|
get dragLeave$() {
|
|
24
37
|
return this._onDragLeave$;
|
|
25
38
|
}
|
|
39
|
+
get dragEnter$() {
|
|
40
|
+
return this._onDragEnter$;
|
|
41
|
+
}
|
|
26
42
|
get drop$() {
|
|
27
43
|
return this._onDrop$;
|
|
28
44
|
}
|
|
45
|
+
get dragEnd$() {
|
|
46
|
+
return this._onDragEnd$;
|
|
47
|
+
}
|
|
29
48
|
/***************************************************************************
|
|
30
49
|
* *
|
|
31
50
|
* Public API *
|
|
@@ -39,11 +58,20 @@ export class GlobalDragDropService {
|
|
|
39
58
|
preventDefaultFileLoading() {
|
|
40
59
|
if (!this.preventDefaultsSub) {
|
|
41
60
|
this.preventDefaultsSub = {
|
|
42
|
-
preventDragOver: this.dragOver$.subscribe({ next: e =>
|
|
43
|
-
preventDrop: this.drop$.subscribe({ next: e =>
|
|
61
|
+
preventDragOver: this.dragOver$.subscribe({ next: e => this.preventDefaultBrowserAction(e) }),
|
|
62
|
+
preventDrop: this.drop$.subscribe({ next: e => this.preventDefaultBrowserAction(e) })
|
|
44
63
|
};
|
|
45
64
|
}
|
|
46
65
|
}
|
|
66
|
+
/***************************************************************************
|
|
67
|
+
* *
|
|
68
|
+
* Private methods *
|
|
69
|
+
* *
|
|
70
|
+
**************************************************************************/
|
|
71
|
+
preventDefaultBrowserAction(e) {
|
|
72
|
+
e.preventDefault();
|
|
73
|
+
this.log.warn('Prevented default Browser Action on DragEvent ', e);
|
|
74
|
+
}
|
|
47
75
|
}
|
|
48
76
|
GlobalDragDropService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GlobalDragDropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
77
|
GlobalDragDropService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GlobalDragDropService, providedIn: 'root' });
|
|
@@ -53,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
53
81
|
providedIn: 'root'
|
|
54
82
|
}]
|
|
55
83
|
}], ctorParameters: function () { return []; } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWRyYWctZHJvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9kcmFnLW4tZHJvcC9nbG9iYWwtZHJhZy1kcm9wLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBVW5ELE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDOzs7O2dGQUk0RTtJQUU1RTtRQXZCQTs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQWtCcEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQVksTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFZLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBWSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQVksTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFZLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBWSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7OztPQUlHO0lBQ0kseUJBQXlCO1FBQzlCLElBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHO2dCQUN4QixlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3ZDLEVBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2xEO2dCQUNELFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDL0IsRUFBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDbEQ7YUFDRixDQUFBO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLDJCQUEyQixDQUFDLENBQVk7UUFDOUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7O2tIQWpHVSxxQkFBcUI7c0hBQXJCLHFCQUFxQixjQUZwQixNQUFNOzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb21FdmVudCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuXG5pbnRlcmZhY2UgUHJldmVudERlZmF1bHRTdWJzY3JpcHRpb24ge1xuICBwcmV2ZW50RHJhZ092ZXI6IFN1YnNjcmlwdGlvblxuICBwcmV2ZW50RHJvcDogU3Vic2NyaXB0aW9uXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdsb2JhbERyYWdEcm9wU2VydmljZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uRHJhZ1N0YXJ0JDogT2JzZXJ2YWJsZTxEcmFnRXZlbnQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9vbkRyYWdPdmVyJDogT2JzZXJ2YWJsZTxEcmFnRXZlbnQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9vbkRyYWdMZWF2ZSQ6IE9ic2VydmFibGU8RHJhZ0V2ZW50PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb25EcmFnRW50ZXIkOiBPYnNlcnZhYmxlPERyYWdFdmVudD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX29uRHJvcCQ6IE9ic2VydmFibGU8RHJhZ0V2ZW50PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb25EcmFnRW5kJDogT2JzZXJ2YWJsZTxEcmFnRXZlbnQ+O1xuXG4gIHByaXZhdGUgcHJldmVudERlZmF1bHRzU3ViOiBQcmV2ZW50RGVmYXVsdFN1YnNjcmlwdGlvbjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9vbkRyYWdTdGFydCQgPSBmcm9tRXZlbnQ8RHJhZ0V2ZW50Pih3aW5kb3csICdkcmFnc3RhcnQnKTtcbiAgICB0aGlzLl9vbkRyYWdPdmVyJCA9IGZyb21FdmVudDxEcmFnRXZlbnQ+KHdpbmRvdywgJ2RyYWdvdmVyJyk7XG4gICAgdGhpcy5fb25EcmFnRW50ZXIkID0gZnJvbUV2ZW50PERyYWdFdmVudD4od2luZG93LCAnZHJhZ2VudGVyJyk7XG4gICAgdGhpcy5fb25EcmFnTGVhdmUkID0gZnJvbUV2ZW50PERyYWdFdmVudD4od2luZG93LCAnZHJhZ2xlYXZlJyk7XG4gICAgdGhpcy5fb25Ecm9wJCA9IGZyb21FdmVudDxEcmFnRXZlbnQ+KHdpbmRvdywgJ2Ryb3AnKTtcbiAgICB0aGlzLl9vbkRyYWdFbmQkID0gZnJvbUV2ZW50PERyYWdFdmVudD4od2luZG93LCAnZHJhZ2VuZCcpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkcmFnU3RhcnQkKCk6IE9ic2VydmFibGU8RHJhZ0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX29uRHJhZ1N0YXJ0JDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZHJhZ092ZXIkKCk6IE9ic2VydmFibGU8RHJhZ0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX29uRHJhZ092ZXIkO1xuICB9XG5cbiAgcHVibGljIGdldCBkcmFnTGVhdmUkKCk6IE9ic2VydmFibGU8RHJhZ0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX29uRHJhZ0xlYXZlJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZHJhZ0VudGVyJCgpOiBPYnNlcnZhYmxlPERyYWdFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9vbkRyYWdFbnRlciQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRyb3AkKCk6IE9ic2VydmFibGU8RHJhZ0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX29uRHJvcCQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRyYWdFbmQkKCk6IE9ic2VydmFibGU8RHJhZ0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX29uRHJhZ0VuZCQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogUHJldmVudHMgdGhlIGJyb3dzZXIgZnJvbSBsb2FkaW5nIGRyb3BwZWQgZmlsZXMuIElmIHRoZSB1c2VyIGFjY2lkZW50YWxseVxuICAgKiBtaXNzZWQgYSBkcm9wIHpvbmUgYW5kIGRyb3BzIGZpbGVzIGFueXdoZXJlIGluIHRoZSBhY3RpdmUgYXBwLCB0aGUgYnJvd3NlciB3b3VsZFxuICAgKiBsb2FkIHRoZSBmaWxlIGFuZCBsb29zZSB0aGUgY3VycmVudCBhcHAgY29udGV4dC5cbiAgICovXG4gIHB1YmxpYyBwcmV2ZW50RGVmYXVsdEZpbGVMb2FkaW5nKCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLnByZXZlbnREZWZhdWx0c1N1Yil7XG4gICAgICB0aGlzLnByZXZlbnREZWZhdWx0c1N1YiA9IHtcbiAgICAgICAgcHJldmVudERyYWdPdmVyOiB0aGlzLmRyYWdPdmVyJC5zdWJzY3JpYmUoXG4gICAgICAgICAge25leHQ6IGUgPT4gdGhpcy5wcmV2ZW50RGVmYXVsdEJyb3dzZXJBY3Rpb24oZSkgfVxuICAgICAgICApLFxuICAgICAgICBwcmV2ZW50RHJvcDogdGhpcy5kcm9wJC5zdWJzY3JpYmUoXG4gICAgICAgICAge25leHQ6IGUgPT4gdGhpcy5wcmV2ZW50RGVmYXVsdEJyb3dzZXJBY3Rpb24oZSkgfVxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBwcmV2ZW50RGVmYXVsdEJyb3dzZXJBY3Rpb24oZTogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMubG9nLndhcm4oJ1ByZXZlbnRlZCBkZWZhdWx0IEJyb3dzZXIgQWN0aW9uIG9uIERyYWdFdmVudCAnLCBlKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -20,8 +20,15 @@ export class ElderFileDropZoneDirective {
|
|
|
20
20
|
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
21
21
|
this.dropFilesEnabled = false;
|
|
22
22
|
this._dropFiles = new EventEmitter();
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
23
|
+
this.dragEnterFilesEnabled = false;
|
|
24
|
+
this._dragEnterFiles = new EventEmitter();
|
|
25
|
+
/**
|
|
26
|
+
* Fired once when drag zone is entered.
|
|
27
|
+
*/
|
|
28
|
+
this.dragEnter = new EventEmitter();
|
|
29
|
+
/**
|
|
30
|
+
* Fired continuously inside drag-zone
|
|
31
|
+
*/
|
|
25
32
|
this.dragOver = new EventEmitter();
|
|
26
33
|
this.dragEnd = new EventEmitter();
|
|
27
34
|
this.dragOverClass = 'is-dragover';
|
|
@@ -31,9 +38,9 @@ export class ElderFileDropZoneDirective {
|
|
|
31
38
|
* Properties *
|
|
32
39
|
* *
|
|
33
40
|
**************************************************************************/
|
|
34
|
-
get
|
|
35
|
-
this.
|
|
36
|
-
return this.
|
|
41
|
+
get dragEnterFiles() {
|
|
42
|
+
this.dragEnterFilesEnabled = true;
|
|
43
|
+
return this._dragEnterFiles;
|
|
37
44
|
}
|
|
38
45
|
get dropFiles() {
|
|
39
46
|
this.dropFilesEnabled = true;
|
|
@@ -47,13 +54,17 @@ export class ElderFileDropZoneDirective {
|
|
|
47
54
|
* Public API *
|
|
48
55
|
* *
|
|
49
56
|
**************************************************************************/
|
|
57
|
+
onDragEnter(evt) {
|
|
58
|
+
evt.preventDefault(); // Prevent default browser action
|
|
59
|
+
this.dragEnter.emit(evt);
|
|
60
|
+
if (this.dragEnterFilesEnabled) {
|
|
61
|
+
this.collectFilesAsync(evt, files => this.dragEnterFiles.emit(files));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
50
64
|
onDragOver(evt) {
|
|
51
65
|
evt.preventDefault(); // Prevent default browser action
|
|
52
66
|
this.renderer.addClass(this.hostRef.nativeElement, this.dragOverClass);
|
|
53
67
|
this.dragOver.emit(evt);
|
|
54
|
-
if (this.dragOverFilesEnabled) {
|
|
55
|
-
this.collectFilesAsync(evt, files => this.dragOverFiles.emit(files));
|
|
56
|
-
}
|
|
57
68
|
}
|
|
58
69
|
onDragEnd(evt) {
|
|
59
70
|
evt.preventDefault(); // Prevent default browser action
|
|
@@ -94,24 +105,29 @@ export class ElderFileDropZoneDirective {
|
|
|
94
105
|
}
|
|
95
106
|
}
|
|
96
107
|
ElderFileDropZoneDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderFileDropZoneDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
97
|
-
ElderFileDropZoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: { dragOverClass: "dragOverClass" }, outputs: { dragOver: "dragOver", dragEnd: "dragEnd",
|
|
108
|
+
ElderFileDropZoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: { dragOverClass: "dragOverClass" }, outputs: { dragEnter: "dragEnter", dragOver: "dragOver", dragEnd: "dragEnd", dragEnterFiles: "dragEnterFiles", dropFiles: "dropFiles", elderFileDropZoneChange: "elderFileDropZoneChange" }, host: { listeners: { "dragenter": "onDragEnter($event)", "dragover": "onDragOver($event)", "dragend": "onDragEnd($event)", "dragleave": "onDragEnd($event)", "drop": "onDrop($event)" } }, ngImport: i0 });
|
|
98
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderFileDropZoneDirective, decorators: [{
|
|
99
110
|
type: Directive,
|
|
100
111
|
args: [{
|
|
101
112
|
selector: '[elderFileDropZone]'
|
|
102
113
|
}]
|
|
103
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: {
|
|
114
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { dragEnter: [{
|
|
115
|
+
type: Output
|
|
116
|
+
}], dragOver: [{
|
|
104
117
|
type: Output
|
|
105
118
|
}], dragEnd: [{
|
|
106
119
|
type: Output
|
|
107
120
|
}], dragOverClass: [{
|
|
108
121
|
type: Input
|
|
109
|
-
}],
|
|
122
|
+
}], dragEnterFiles: [{
|
|
110
123
|
type: Output
|
|
111
124
|
}], dropFiles: [{
|
|
112
125
|
type: Output
|
|
113
126
|
}], elderFileDropZoneChange: [{
|
|
114
127
|
type: Output
|
|
128
|
+
}], onDragEnter: [{
|
|
129
|
+
type: HostListener,
|
|
130
|
+
args: ['dragenter', ['$event']]
|
|
115
131
|
}], onDragOver: [{
|
|
116
132
|
type: HostListener,
|
|
117
133
|
args: ['dragover', ['$event']]
|
|
@@ -125,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
125
141
|
type: HostListener,
|
|
126
142
|
args: ['drop', ['$event']]
|
|
127
143
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS1kcm9wLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9lbGRlci1maWxlLWRyb3Atem9uZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNkIsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBS3hELE1BQU0sT0FBTywwQkFBMEI7SUEwQnJDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLE9BQW1CLEVBQ25CLFFBQW1CLEVBQ25CLE1BQWM7UUFGZCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWpDeEI7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakUscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRXRELHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUNwQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFJbEQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFHekMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFHakQsa0JBQWEsR0FBRyxhQUFhLENBQUM7SUFhckMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUNXLGFB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QUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUhBN0hVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7OElBbUJpQixRQUFRO3NCQUR2QixNQUFNO2dCQUlTLE9BQU87c0JBRHRCLE1BQU07Z0JBSUEsYUFBYTtzQkFEbkIsS0FBSztnQkF1QkssYUFBYTtzQkFEdkIsTUFBTTtnQkFPSSxTQUFTO3NCQURuQixNQUFNO2dCQU9JLHVCQUF1QjtzQkFEakMsTUFBTTtnQkFZQSxVQUFVO3NCQURoQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFhN0IsU0FBUztzQkFGZixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ2xDLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVE5QixNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0ZpbGVFbnRyeX0gZnJvbSAnLi9saXN0aW5nL2ZpbGUtZW50cnknO1xuaW1wb3J0IHtGaWxlTGlzdGluZ1J4fSBmcm9tICcuL2xpc3RpbmcvZmlsZS1saXN0aW5nLXJ4JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyRmlsZURyb3Bab25lXSdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJGaWxlRHJvcFpvbmVEaXJlY3RpdmUge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIGRyb3BGaWxlc0VuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZHJvcEZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlRW50cnlbXT4oKTtcblxuICBwcml2YXRlIGRyYWdPdmVyRmlsZXNFbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdPdmVyRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVFbnRyeVtdPigpO1xuXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBkcmFnT3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8RHJhZ0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZHJhZ0VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8RHJhZ0V2ZW50PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkcmFnT3ZlckNsYXNzID0gJ2lzLWRyYWdvdmVyJztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBkcmFnT3ZlckZpbGVzKCk6IEV2ZW50RW1pdHRlcjxGaWxlRW50cnlbXT4ge1xuICAgIHRoaXMuZHJhZ092ZXJGaWxlc0VuYWJsZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLl9kcmFnT3ZlckZpbGVzO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgZHJvcEZpbGVzKCk6IEV2ZW50RW1pdHRlcjxGaWxlRW50cnlbXT4ge1xuICAgIHRoaXMuZHJvcEZpbGVzRW5hYmxlZCA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuX2Ryb3BGaWxlcztcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGVsZGVyRmlsZURyb3Bab25lQ2hhbmdlKCk6IEV2ZW50RW1pdHRlcjxGaWxlRW50cnlbXT4ge1xuICAgIHJldHVybiB0aGlzLmRyb3BGaWxlcztcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZ0OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCBkZWZhdWx0IGJyb3dzZXIgYWN0aW9uXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5kcmFnT3ZlckNsYXNzKTtcbiAgICB0aGlzLmRyYWdPdmVyLmVtaXQoZXZ0KTtcblxuICAgIGlmICh0aGlzLmRyYWdPdmVyRmlsZXNFbmFibGVkKSB7XG4gICAgICB0aGlzLmNvbGxlY3RGaWxlc0FzeW5jKGV2dCwgZmlsZXMgPT4gdGhpcy5kcmFnT3ZlckZpbGVzLmVtaXQoZmlsZXMpKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnZW5kJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ0VuZChldnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50IGRlZmF1bHQgYnJvd3NlciBhY3Rpb25cbiAgICB0aGlzLmhhbmRsZURyYWdFbmQoZXZ0KTtcbiAgICB0aGlzLmRyYWdFbmQuZW1pdChldnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyb3AoZXZ0OiBEcmFnRXZlbnQpOiB2b2lkIHtcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdEcm9wIGV2ZW50IScsIGV2dCk7XG5cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5oYW5kbGVEcmFnRW5kKGV2dCk7IC8vIFRPRE8gRG8gdGhpcyBsYXRlclxuXG4gICAgaWYgKHRoaXMuZHJvcEZpbGVzRW5hYmxlZCkge1xuICAgICAgdGhpcy5jb2xsZWN0RmlsZXNBc3luYyhldnQsIGZpbGVzID0+IHRoaXMuX2Ryb3BGaWxlcy5lbWl0KGZpbGVzKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBoYW5kbGVEcmFnRW5kKGV2dDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5kcmFnT3ZlckNsYXNzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGVjdEZpbGVzQXN5bmMoZXZlbnQ6IERyYWdFdmVudCwgZmlsZXNGbjogKChlbnRyaWVzOiBGaWxlRW50cnlbXSkgPT4gdm9pZCkpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5pdGVtcztcbiAgICAgICAgRmlsZUxpc3RpbmdSeC5JTlNUQU5DRS50b0ZpbGVMaXN0KGl0ZW1zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogZmlsZXMgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IGZpbGVzRm4oZmlsZXMpKSxcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBsaXN0IEZpbGVzIGZyb20gRGF0YVRyYW5zZmVySXRlbUxpc3QnLCBlcnIpXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBoYW5kbGUgRHJhZ0V2ZW50IScsIGVycm9yKTtcbiAgICAgICAgLy8gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuZXJyb3IuZW1pdCgnRm9sZGVyIHVwbG9hZCBpcyB1bnN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXInKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS1kcm9wLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9lbGRlci1maWxlLWRyb3Atem9uZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNkIsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBS3hELE1BQU0sT0FBTywwQkFBMEI7SUFtQ3JDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLE9BQW1CLEVBQ25CLFFBQW1CLEVBQ25CLE1BQWM7UUFGZCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTFDeEI7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakUscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRXRELDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUNyQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFbkU7O1dBRUc7UUFFYSxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUUxRDs7V0FFRztRQUVhLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBSXpDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBR2pELGtC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Q0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsRUFBRSxHQUFHLENBQUM7aUJBQ3ZGLENBQ0YsQ0FBQzthQUNIO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELDBGQUEwRjthQUMzRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUhBM0lVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7OElBcUJpQixTQUFTO3NCQUR4QixNQUFNO2dCQU9TLFFBQVE7c0JBRHZCLE1BQU07Z0JBS1MsT0FBTztzQkFEdEIsTUFBTTtnQkFJQSxhQUFhO3NCQURuQixLQUFLO2dCQXVCSyxjQUFjO3NCQUR4QixNQUFNO2dCQU9JLFNBQVM7c0JBRG5CLE1BQU07Z0JBT0ksdUJBQXVCO3NCQURqQyxNQUFNO2dCQVlBLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVU5QixVQUFVO3NCQURoQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTN0IsU0FBUztzQkFGZixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ2xDLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVE5QixNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0ZpbGVFbnRyeX0gZnJvbSAnLi9saXN0aW5nL2ZpbGUtZW50cnknO1xuaW1wb3J0IHtGaWxlTGlzdGluZ1J4fSBmcm9tICcuL2xpc3RpbmcvZmlsZS1saXN0aW5nLXJ4JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyRmlsZURyb3Bab25lXSdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJGaWxlRHJvcFpvbmVEaXJlY3RpdmUge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIGRyb3BGaWxlc0VuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZHJvcEZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlRW50cnlbXT4oKTtcblxuICBwcml2YXRlIGRyYWdFbnRlckZpbGVzRW5hYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kcmFnRW50ZXJGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUVudHJ5W10+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIG9uY2Ugd2hlbiBkcmFnIHpvbmUgaXMgZW50ZXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZHJhZ0VudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIGNvbnRpbnVvdXNseSBpbnNpZGUgZHJhZy16b25lXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGRyYWdPdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnRXZlbnQ+KCk7XG5cblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGRyYWdFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZHJhZ092ZXJDbGFzcyA9ICdpcy1kcmFnb3Zlcic7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBob3N0UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgZHJhZ0VudGVyRmlsZXMoKTogRXZlbnRFbWl0dGVyPEZpbGVFbnRyeVtdPiB7XG4gICAgdGhpcy5kcmFnRW50ZXJGaWxlc0VuYWJsZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLl9kcmFnRW50ZXJGaWxlcztcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGRyb3BGaWxlcygpOiBFdmVudEVtaXR0ZXI8RmlsZUVudHJ5W10+IHtcbiAgICB0aGlzLmRyb3BGaWxlc0VuYWJsZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLl9kcm9wRmlsZXM7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBlbGRlckZpbGVEcm9wWm9uZUNoYW5nZSgpOiBFdmVudEVtaXR0ZXI8RmlsZUVudHJ5W10+IHtcbiAgICByZXR1cm4gdGhpcy5kcm9wRmlsZXM7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnRW50ZXIoZXZ0OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCBkZWZhdWx0IGJyb3dzZXIgYWN0aW9uXG4gICAgdGhpcy5kcmFnRW50ZXIuZW1pdChldnQpO1xuICAgIGlmICh0aGlzLmRyYWdFbnRlckZpbGVzRW5hYmxlZCkge1xuICAgICAgdGhpcy5jb2xsZWN0RmlsZXNBc3luYyhldnQsIGZpbGVzID0+IHRoaXMuZHJhZ0VudGVyRmlsZXMuZW1pdChmaWxlcykpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZ0OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCBkZWZhdWx0IGJyb3dzZXIgYWN0aW9uXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5kcmFnT3ZlckNsYXNzKTtcbiAgICB0aGlzLmRyYWdPdmVyLmVtaXQoZXZ0KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbmQnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnRW5kKGV2dDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZGVmYXVsdCBicm93c2VyIGFjdGlvblxuICAgIHRoaXMuaGFuZGxlRHJhZ0VuZChldnQpO1xuICAgIHRoaXMuZHJhZ0VuZC5lbWl0KGV2dCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJvcChldnQ6IERyYWdFdmVudCk6IHZvaWQge1xuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0Ryb3AgZXZlbnQhJywgZXZ0KTtcblxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmhhbmRsZURyYWdFbmQoZXZ0KTsgLy8gVE9ETyBEbyB0aGlzIGxhdGVyXG5cbiAgICBpZiAodGhpcy5kcm9wRmlsZXNFbmFibGVkKSB7XG4gICAgICB0aGlzLmNvbGxlY3RGaWxlc0FzeW5jKGV2dCwgZmlsZXMgPT4gdGhpcy5fZHJvcEZpbGVzLmVtaXQoZmlsZXMpKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGhhbmRsZURyYWdFbmQoZXZ0OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmRyYWdPdmVyQ2xhc3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0RmlsZXNBc3luYyhldmVudDogRHJhZ0V2ZW50LCBmaWxlc0ZuOiAoKGVudHJpZXM6IEZpbGVFbnRyeVtdKSA9PiB2b2lkKSk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gZXZlbnQuZGF0YVRyYW5zZmVyLml0ZW1zO1xuICAgICAgICBGaWxlTGlzdGluZ1J4LklOU1RBTkNFLnRvRmlsZUxpc3QoaXRlbXMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiBmaWxlcyA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gZmlsZXNGbihmaWxlcykpLFxuICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIGxpc3QgRmlsZXMgZnJvbSBEYXRhVHJhbnNmZXJJdGVtTGlzdCcsIGVycilcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIGhhbmRsZSBEcmFnRXZlbnQhJywgZXJyb3IpO1xuICAgICAgICAvLyB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5lcnJvci5lbWl0KCdGb2xkZXIgdXBsb2FkIGlzIHVuc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3NlcicpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { EMPTY, mergeMap, Observable, of, zip } from 'rxjs';
|
|
2
2
|
import { FileEntry } from './file-entry';
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
4
5
|
export class FileListingRx {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
8
|
+
}
|
|
5
9
|
/***************************************************************************
|
|
6
10
|
* *
|
|
7
11
|
* Public API *
|
|
@@ -16,7 +20,22 @@ export class FileListingRx {
|
|
|
16
20
|
obs.push(this.listFilesRecursive(entry));
|
|
17
21
|
}
|
|
18
22
|
else {
|
|
19
|
-
|
|
23
|
+
const itemAsFile = transferItem.getAsFile();
|
|
24
|
+
if (itemAsFile) {
|
|
25
|
+
obs.push(of([FileEntry.ofFile(itemAsFile)]));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
if (transferItem.kind == 'file') {
|
|
29
|
+
obs.push(of([
|
|
30
|
+
FileEntry.ofFile(new File([], '', {
|
|
31
|
+
type: transferItem.type
|
|
32
|
+
}))
|
|
33
|
+
]));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.log.warn('Could not handle DataTransferItem!', transferItem);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
20
39
|
}
|
|
21
40
|
}
|
|
22
41
|
return zip(obs).pipe(map(files => files.flat()));
|
|
@@ -82,4 +101,4 @@ export class FileListingRx {
|
|
|
82
101
|
}
|
|
83
102
|
}
|
|
84
103
|
FileListingRx.INSTANCE = new FileListingRx();
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saXN0aW5nLXJ4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9saXN0aW5nL2ZpbGUtbGlzdGluZy1yeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFjLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxNQUFNLE9BQU8sYUFBYTtJQUl4Qjs7OztnRkFJNEU7SUFFckUsVUFBVSxDQUFDLGdCQUFzQztRQUN0RCxNQUFNLEdBQUcsR0FBOEIsRUFBRSxDQUFDO1FBQzFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDOUMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMxQztpQkFBTTtnQkFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUQ7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDbEIs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QUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ1AsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTdHc0Isc0JBQVEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFTVBUWSwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpYmVyLCB6aXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWxlRW50cnl9IGZyb20gJy4vZmlsZS1lbnRyeSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgRmlsZUxpc3RpbmdSeCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTlNUQU5DRSA9IG5ldyBGaWxlTGlzdGluZ1J4KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHRvRmlsZUxpc3QodHJhbnNmZXJJdGVtTGlzdDogRGF0YVRyYW5zZmVySXRlbUxpc3QpOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgY29uc3Qgb2JzOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPltdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0cmFuc2Zlckl0ZW1MaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB0cmFuc2Zlckl0ZW0gPSB0cmFuc2Zlckl0ZW1MaXN0W2ldO1xuICAgICAgY29uc3QgZW50cnkgPSB0cmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpO1xuICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgIG9icy5wdXNoKHRoaXMubGlzdEZpbGVzUmVjdXJzaXZlKGVudHJ5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnMucHVzaChvZihbRmlsZUVudHJ5Lm9mRmlsZSh0cmFuc2Zlckl0ZW0uZ2V0QXNGaWxlKCkpXSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gemlwKG9icykucGlwZShcbiAgICAgIG1hcChmaWxlcyA9PiBmaWxlcy5mbGF0KCkpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbGlzdEZpbGVzUmVjdXJzaXZlKFxuICAgIGVudHJ5OiBGaWxlU3lzdGVtRW50cnlcbiAgKTogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RGaWxlc1JlY3Vyc2l2ZUFzeW5jKGVudHJ5LCBudWxsKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgbGlzdEZpbGVzUmVjdXJzaXZlQXN5bmMoXG4gICAgZW50cnk6IEZpbGVTeXN0ZW1FbnRyeSxcbiAgICBwYXJlbnQ6IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeVxuICApOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgaWYgKGVudHJ5LmlzRGlyZWN0b3J5KSB7XG4gICAgICBjb25zdCBkaXJlY3RvcnlFbnRyeSA9IGVudHJ5IGFzIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTtcbiAgICAgIHJldHVybiB0aGlzLnJlYWRFbnRyaWVzKGRpcmVjdG9yeUVudHJ5KS5waXBlKFxuICAgICAgICBtZXJnZU1hcChlbnRyaWVzID0+IHppcChcbiAgICAgICAgICBlbnRyaWVzLm1hcChlbnRyeSA9PiB0aGlzLmxpc3RGaWxlc1JlY3Vyc2l2ZUFzeW5jKGVudHJ5LCBkaXJlY3RvcnlFbnRyeSkpXG4gICAgICAgICkpLFxuICAgICAgICBtYXAoZmlsZXMgPT4gZmlsZXMuZmxhdCgpKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChlbnRyeS5pc0ZpbGUpIHtcbiAgICAgIGNvbnN0IGZpbGVFbnRyeSA9IGVudHJ5IGFzIEZpbGVTeXN0ZW1GaWxlRW50cnk7XG4gICAgICByZXR1cm4gdGhpcy5vYnNlcnZhYmxlRmlsZShmaWxlRW50cnksIHBhcmVudCkucGlwZShcbiAgICAgICAgbWFwKGZpbGUgPT4gW2ZpbGVdKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2YWJsZUZpbGUoXG4gICAgZmlsZUVudHJ5OiBGaWxlU3lzdGVtRmlsZUVudHJ5LFxuICAgIHBhcmVudDogRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IHwgbnVsbFxuICApOiBPYnNlcnZhYmxlPEZpbGVFbnRyeT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxGaWxlRW50cnk+KFxuICAgICAgb2JzZXJ2ZXIgPT4ge1xuICAgICAgICBmaWxlRW50cnkuZmlsZShmaWxlID0+IHtcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KEZpbGVFbnRyeS5yZWxhdGl2ZUZpbGUoZmlsZSwgdGhpcy50cmltU3RhcmluZ1NsYXNoKHBhcmVudD8uZnVsbFBhdGgpKSk7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnIpO1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRyaW1TdGFyaW5nU2xhc2gocGF0aDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkRW50cmllcyhcbiAgICBkaXJlY3RvcnlFbnRyeTogRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5XG4gICk6IE9ic2VydmFibGU8RmlsZVN5c3RlbUVudHJ5W10+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8RmlsZVN5c3RlbUVudHJ5W10+KFxuICAgICAgb2JzZXJ2ZXIgPT4ge1xuICAgICAgICB0aGlzLmNvbnN1bWVSZWFkZXJUb0NvbXBsZXRpb24ob2JzZXJ2ZXIsIGRpcmVjdG9yeUVudHJ5LmNyZWF0ZVJlYWRlcigpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdW1lUmVhZGVyVG9Db21wbGV0aW9uKFxuICAgIG9ic2VydmVyOiBTdWJzY3JpYmVyPEZpbGVTeXN0ZW1FbnRyeVtdPixcbiAgICBkaXJlY3RvcnlSZWFkZXI6IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXJcbiAgKTogdm9pZCB7XG4gICAgZGlyZWN0b3J5UmVhZGVyLnJlYWRFbnRyaWVzKGVudHJpZXMgPT4ge1xuICAgICAgaWYgKGVudHJpZXMgJiYgZW50cmllcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9ic2VydmVyLm5leHQoZW50cmllcyk7XG4gICAgICAgIHRoaXMuY29uc3VtZVJlYWRlclRvQ29tcGxldGlvbihvYnNlcnZlciwgZGlyZWN0b3J5UmVhZGVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfSwgZXJyID0+IHtcbiAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saXN0aW5nLXJ4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9saXN0aW5nL2ZpbGUtbGlzdGluZy1yeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFjLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFJbUIsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQThIeEUsQ0FBQztJQTVIQzs7OztnRkFJNEU7SUFFckUsVUFBVSxDQUFDLGdCQUFzQztRQUN0RCxNQUFNLEdBQUcsR0FBOEIsRUFBRSxDQUFDO1FBQzFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDOUMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMxQztpQkFBTTtnQkFDTCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMs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SSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFdBQVcsQ0FDakIsY0FBd0M7UUFFeEMsT0FBTyxJQUFJLFVBQVUsQ0FDbkIsUUFBUSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHlCQUF5QixDQUMvQixRQUF1QyxFQUN2QyxlQUEwQztRQUUxQyxlQUFlLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQzNEO2lCQUFNO2dCQUNMLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNQLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE5SHNCLHNCQUFRLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RU1QVFksIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaWJlciwgemlwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsZUVudHJ5fSBmcm9tICcuL2ZpbGUtZW50cnknO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuXG5leHBvcnQgY2xhc3MgRmlsZUxpc3RpbmdSeCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTlNUQU5DRSA9IG5ldyBGaWxlTGlzdGluZ1J4KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0b0ZpbGVMaXN0KHRyYW5zZmVySXRlbUxpc3Q6IERhdGFUcmFuc2Zlckl0ZW1MaXN0KTogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT4ge1xuICAgIGNvbnN0IG9iczogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT5bXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHJhbnNmZXJJdGVtTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdHJhbnNmZXJJdGVtID0gdHJhbnNmZXJJdGVtTGlzdFtpXTtcbiAgICAgIGNvbnN0IGVudHJ5ID0gdHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKTtcbiAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICBvYnMucHVzaCh0aGlzLmxpc3RGaWxlc1JlY3Vyc2l2ZShlbnRyeSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaXRlbUFzRmlsZSA9IHRyYW5zZmVySXRlbS5nZXRBc0ZpbGUoKTtcbiAgICAgICAgaWYgKGl0ZW1Bc0ZpbGUpIHtcbiAgICAgICAgICBvYnMucHVzaChvZihbRmlsZUVudHJ5Lm9mRmlsZShpdGVtQXNGaWxlKV0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHJhbnNmZXJJdGVtLmtpbmQgPT0gJ2ZpbGUnKSB7XG4gICAgICAgICAgICBvYnMucHVzaChvZihbXG4gICAgICAgICAgICAgIEZpbGVFbnRyeS5vZkZpbGUoXG4gICAgICAgICAgICAgICAgbmV3IEZpbGUoW10sICcnLCB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiB0cmFuc2Zlckl0ZW0udHlwZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0pKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2cud2FybignQ291bGQgbm90IGhhbmRsZSBEYXRhVHJhbnNmZXJJdGVtIScsIHRyYW5zZmVySXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB6aXAob2JzKS5waXBlKFxuICAgICAgbWFwKGZpbGVzID0+IGZpbGVzLmZsYXQoKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0RmlsZXNSZWN1cnNpdmUoXG4gICAgZW50cnk6IEZpbGVTeXN0ZW1FbnRyeVxuICApOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubGlzdEZpbGVzUmVjdXJzaXZlQXN5bmMoZW50cnksIG51bGwpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBsaXN0RmlsZXNSZWN1cnNpdmVBc3luYyhcbiAgICBlbnRyeTogRmlsZVN5c3RlbUVudHJ5LFxuICAgIHBhcmVudDogRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5XG4gICk6IE9ic2VydmFibGU8RmlsZUVudHJ5W10+IHtcbiAgICBpZiAoZW50cnkuaXNEaXJlY3RvcnkpIHtcbiAgICAgIGNvbnN0IGRpcmVjdG9yeUVudHJ5ID0gZW50cnkgYXMgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5O1xuICAgICAgcmV0dXJuIHRoaXMucmVhZEVudHJpZXMoZGlyZWN0b3J5RW50cnkpLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKGVudHJpZXMgPT4gemlwKFxuICAgICAgICAgIGVudHJpZXMubWFwKGVudHJ5ID0+IHRoaXMubGlzdEZpbGVzUmVjdXJzaXZlQXN5bmMoZW50cnksIGRpcmVjdG9yeUVudHJ5KSlcbiAgICAgICAgKSksXG4gICAgICAgIG1hcChmaWxlcyA9PiBmaWxlcy5mbGF0KCkpLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGVudHJ5LmlzRmlsZSkge1xuICAgICAgY29uc3QgZmlsZUVudHJ5ID0gZW50cnkgYXMgRmlsZVN5c3RlbUZpbGVFbnRyeTtcbiAgICAgIHJldHVybiB0aGlzLm9ic2VydmFibGVGaWxlKGZpbGVFbnRyeSwgcGFyZW50KS5waXBlKFxuICAgICAgICBtYXAoZmlsZSA9PiBbZmlsZV0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZhYmxlRmlsZShcbiAgICBmaWxlRW50cnk6IEZpbGVTeXN0ZW1GaWxlRW50cnksXG4gICAgcGFyZW50OiBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkgfCBudWxsXG4gICk6IE9ic2VydmFibGU8RmlsZUVudHJ5PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPEZpbGVFbnRyeT4oXG4gICAgICBvYnNlcnZlciA9PiB7XG4gICAgICAgIGZpbGVFbnRyeS5maWxlKGZpbGUgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQoRmlsZUVudHJ5LnJlbGF0aXZlRmlsZShmaWxlLCB0aGlzLnRyaW1TdGFyaW5nU2xhc2gocGFyZW50Py5mdWxsUGF0aCkpKTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpbVN0YXJpbmdTbGFzaChwYXRoOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAocGF0aCkge1xuICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cblxuICBwcml2YXRlIHJlYWRFbnRyaWVzKFxuICAgIGRpcmVjdG9yeUVudHJ5OiBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnlcbiAgKTogT2JzZXJ2YWJsZTxGaWxlU3lzdGVtRW50cnlbXT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxGaWxlU3lzdGVtRW50cnlbXT4oXG4gICAgICBvYnNlcnZlciA9PiB7XG4gICAgICAgIHRoaXMuY29uc3VtZVJlYWRlclRvQ29tcGxldGlvbihvYnNlcnZlciwgZGlyZWN0b3J5RW50cnkuY3JlYXRlUmVhZGVyKCkpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN1bWVSZWFkZXJUb0NvbXBsZXRpb24oXG4gICAgb2JzZXJ2ZXI6IFN1YnNjcmliZXI8RmlsZVN5c3RlbUVudHJ5W10+LFxuICAgIGRpcmVjdG9yeVJlYWRlcjogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlclxuICApOiB2b2lkIHtcbiAgICBkaXJlY3RvcnlSZWFkZXIucmVhZEVudHJpZXMoZW50cmllcyA9PiB7XG4gICAgICBpZiAoZW50cmllcyAmJiBlbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChlbnRyaWVzKTtcbiAgICAgICAgdGhpcy5jb25zdW1lUmVhZGVyVG9Db21wbGV0aW9uKG9ic2VydmVyLCBkaXJlY3RvcnlSZWFkZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9LCBlcnIgPT4ge1xuICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
|
|
@@ -9946,6 +9946,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
9946
9946
|
}] } });
|
|
9947
9947
|
|
|
9948
9948
|
class FileListingRx {
|
|
9949
|
+
constructor() {
|
|
9950
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
9951
|
+
}
|
|
9949
9952
|
/***************************************************************************
|
|
9950
9953
|
* *
|
|
9951
9954
|
* Public API *
|
|
@@ -9960,7 +9963,22 @@ class FileListingRx {
|
|
|
9960
9963
|
obs.push(this.listFilesRecursive(entry));
|
|
9961
9964
|
}
|
|
9962
9965
|
else {
|
|
9963
|
-
|
|
9966
|
+
const itemAsFile = transferItem.getAsFile();
|
|
9967
|
+
if (itemAsFile) {
|
|
9968
|
+
obs.push(of([FileEntry.ofFile(itemAsFile)]));
|
|
9969
|
+
}
|
|
9970
|
+
else {
|
|
9971
|
+
if (transferItem.kind == 'file') {
|
|
9972
|
+
obs.push(of([
|
|
9973
|
+
FileEntry.ofFile(new File([], '', {
|
|
9974
|
+
type: transferItem.type
|
|
9975
|
+
}))
|
|
9976
|
+
]));
|
|
9977
|
+
}
|
|
9978
|
+
else {
|
|
9979
|
+
this.log.warn('Could not handle DataTransferItem!', transferItem);
|
|
9980
|
+
}
|
|
9981
|
+
}
|
|
9964
9982
|
}
|
|
9965
9983
|
}
|
|
9966
9984
|
return zip(obs).pipe(map(files => files.flat()));
|
|
@@ -10045,8 +10063,15 @@ class ElderFileDropZoneDirective {
|
|
|
10045
10063
|
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
10046
10064
|
this.dropFilesEnabled = false;
|
|
10047
10065
|
this._dropFiles = new EventEmitter();
|
|
10048
|
-
this.
|
|
10049
|
-
this.
|
|
10066
|
+
this.dragEnterFilesEnabled = false;
|
|
10067
|
+
this._dragEnterFiles = new EventEmitter();
|
|
10068
|
+
/**
|
|
10069
|
+
* Fired once when drag zone is entered.
|
|
10070
|
+
*/
|
|
10071
|
+
this.dragEnter = new EventEmitter();
|
|
10072
|
+
/**
|
|
10073
|
+
* Fired continuously inside drag-zone
|
|
10074
|
+
*/
|
|
10050
10075
|
this.dragOver = new EventEmitter();
|
|
10051
10076
|
this.dragEnd = new EventEmitter();
|
|
10052
10077
|
this.dragOverClass = 'is-dragover';
|
|
@@ -10056,9 +10081,9 @@ class ElderFileDropZoneDirective {
|
|
|
10056
10081
|
* Properties *
|
|
10057
10082
|
* *
|
|
10058
10083
|
**************************************************************************/
|
|
10059
|
-
get
|
|
10060
|
-
this.
|
|
10061
|
-
return this.
|
|
10084
|
+
get dragEnterFiles() {
|
|
10085
|
+
this.dragEnterFilesEnabled = true;
|
|
10086
|
+
return this._dragEnterFiles;
|
|
10062
10087
|
}
|
|
10063
10088
|
get dropFiles() {
|
|
10064
10089
|
this.dropFilesEnabled = true;
|
|
@@ -10072,13 +10097,17 @@ class ElderFileDropZoneDirective {
|
|
|
10072
10097
|
* Public API *
|
|
10073
10098
|
* *
|
|
10074
10099
|
**************************************************************************/
|
|
10100
|
+
onDragEnter(evt) {
|
|
10101
|
+
evt.preventDefault(); // Prevent default browser action
|
|
10102
|
+
this.dragEnter.emit(evt);
|
|
10103
|
+
if (this.dragEnterFilesEnabled) {
|
|
10104
|
+
this.collectFilesAsync(evt, files => this.dragEnterFiles.emit(files));
|
|
10105
|
+
}
|
|
10106
|
+
}
|
|
10075
10107
|
onDragOver(evt) {
|
|
10076
10108
|
evt.preventDefault(); // Prevent default browser action
|
|
10077
10109
|
this.renderer.addClass(this.hostRef.nativeElement, this.dragOverClass);
|
|
10078
10110
|
this.dragOver.emit(evt);
|
|
10079
|
-
if (this.dragOverFilesEnabled) {
|
|
10080
|
-
this.collectFilesAsync(evt, files => this.dragOverFiles.emit(files));
|
|
10081
|
-
}
|
|
10082
10111
|
}
|
|
10083
10112
|
onDragEnd(evt) {
|
|
10084
10113
|
evt.preventDefault(); // Prevent default browser action
|
|
@@ -10119,24 +10148,29 @@ class ElderFileDropZoneDirective {
|
|
|
10119
10148
|
}
|
|
10120
10149
|
}
|
|
10121
10150
|
ElderFileDropZoneDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderFileDropZoneDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10122
|
-
ElderFileDropZoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: { dragOverClass: "dragOverClass" }, outputs: { dragOver: "dragOver", dragEnd: "dragEnd",
|
|
10151
|
+
ElderFileDropZoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: { dragOverClass: "dragOverClass" }, outputs: { dragEnter: "dragEnter", dragOver: "dragOver", dragEnd: "dragEnd", dragEnterFiles: "dragEnterFiles", dropFiles: "dropFiles", elderFileDropZoneChange: "elderFileDropZoneChange" }, host: { listeners: { "dragenter": "onDragEnter($event)", "dragover": "onDragOver($event)", "dragend": "onDragEnd($event)", "dragleave": "onDragEnd($event)", "drop": "onDrop($event)" } }, ngImport: i0 });
|
|
10123
10152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderFileDropZoneDirective, decorators: [{
|
|
10124
10153
|
type: Directive,
|
|
10125
10154
|
args: [{
|
|
10126
10155
|
selector: '[elderFileDropZone]'
|
|
10127
10156
|
}]
|
|
10128
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: {
|
|
10157
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { dragEnter: [{
|
|
10158
|
+
type: Output
|
|
10159
|
+
}], dragOver: [{
|
|
10129
10160
|
type: Output
|
|
10130
10161
|
}], dragEnd: [{
|
|
10131
10162
|
type: Output
|
|
10132
10163
|
}], dragOverClass: [{
|
|
10133
10164
|
type: Input
|
|
10134
|
-
}],
|
|
10165
|
+
}], dragEnterFiles: [{
|
|
10135
10166
|
type: Output
|
|
10136
10167
|
}], dropFiles: [{
|
|
10137
10168
|
type: Output
|
|
10138
10169
|
}], elderFileDropZoneChange: [{
|
|
10139
10170
|
type: Output
|
|
10171
|
+
}], onDragEnter: [{
|
|
10172
|
+
type: HostListener,
|
|
10173
|
+
args: ['dragenter', ['$event']]
|
|
10140
10174
|
}], onDragOver: [{
|
|
10141
10175
|
type: HostListener,
|
|
10142
10176
|
args: ['dragover', ['$event']]
|
|
@@ -10714,7 +10748,7 @@ class ElderDropZoneComponent {
|
|
|
10714
10748
|
* Fields *
|
|
10715
10749
|
* *
|
|
10716
10750
|
**************************************************************************/
|
|
10717
|
-
this.
|
|
10751
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
10718
10752
|
this.filesDropped = new EventEmitter();
|
|
10719
10753
|
this.dragOver = new EventEmitter();
|
|
10720
10754
|
this.dragEnd = new EventEmitter();
|
|
@@ -10723,7 +10757,7 @@ class ElderDropZoneComponent {
|
|
|
10723
10757
|
}
|
|
10724
10758
|
}
|
|
10725
10759
|
ElderDropZoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderDropZoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10726
|
-
ElderDropZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderDropZoneComponent, selector: "elder-drop-zone", inputs: { icon: "icon", prompt: "prompt" }, outputs: { filesDropped: "filesDropped", dragOver: "dragOver", dragEnd: "dragEnd" }, ngImport: i0, template: "<div class=\"full p-lg\"\n>\n <div class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n >\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{icon}}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{prompt | translate}}</span>\n </div>\n </div>\n </div>\n</div>\n\n\n", styles: [""], dependencies: [{ kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: ["dragOverClass"], outputs: ["dragOver", "dragEnd", "
|
|
10760
|
+
ElderDropZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderDropZoneComponent, selector: "elder-drop-zone", inputs: { icon: "icon", prompt: "prompt" }, outputs: { filesDropped: "filesDropped", dragOver: "dragOver", dragEnd: "dragEnd" }, ngImport: i0, template: "<div class=\"full p-lg\"\n>\n <div class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n >\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{icon}}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{prompt | translate}}</span>\n </div>\n </div>\n </div>\n</div>\n\n\n", styles: [""], dependencies: [{ kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: ["dragOverClass"], outputs: ["dragEnter", "dragOver", "dragEnd", "dragEnterFiles", "dropFiles", "elderFileDropZoneChange"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10727
10761
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderDropZoneComponent, decorators: [{
|
|
10728
10762
|
type: Component,
|
|
10729
10763
|
args: [{ selector: 'elder-drop-zone', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"full p-lg\"\n>\n <div class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n >\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{icon}}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{prompt | translate}}</span>\n </div>\n </div>\n </div>\n</div>\n\n\n" }]
|
|
@@ -10746,24 +10780,42 @@ class GlobalDragDropService {
|
|
|
10746
10780
|
* *
|
|
10747
10781
|
**************************************************************************/
|
|
10748
10782
|
constructor() {
|
|
10783
|
+
/***************************************************************************
|
|
10784
|
+
* *
|
|
10785
|
+
* Fields *
|
|
10786
|
+
* *
|
|
10787
|
+
**************************************************************************/
|
|
10788
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
10789
|
+
this._onDragStart$ = fromEvent(window, 'dragstart');
|
|
10749
10790
|
this._onDragOver$ = fromEvent(window, 'dragover');
|
|
10791
|
+
this._onDragEnter$ = fromEvent(window, 'dragenter');
|
|
10750
10792
|
this._onDragLeave$ = fromEvent(window, 'dragleave');
|
|
10751
10793
|
this._onDrop$ = fromEvent(window, 'drop');
|
|
10794
|
+
this._onDragEnd$ = fromEvent(window, 'dragend');
|
|
10752
10795
|
}
|
|
10753
10796
|
/***************************************************************************
|
|
10754
10797
|
* *
|
|
10755
10798
|
* Properties *
|
|
10756
10799
|
* *
|
|
10757
10800
|
**************************************************************************/
|
|
10801
|
+
get dragStart$() {
|
|
10802
|
+
return this._onDragStart$;
|
|
10803
|
+
}
|
|
10758
10804
|
get dragOver$() {
|
|
10759
10805
|
return this._onDragOver$;
|
|
10760
10806
|
}
|
|
10761
10807
|
get dragLeave$() {
|
|
10762
10808
|
return this._onDragLeave$;
|
|
10763
10809
|
}
|
|
10810
|
+
get dragEnter$() {
|
|
10811
|
+
return this._onDragEnter$;
|
|
10812
|
+
}
|
|
10764
10813
|
get drop$() {
|
|
10765
10814
|
return this._onDrop$;
|
|
10766
10815
|
}
|
|
10816
|
+
get dragEnd$() {
|
|
10817
|
+
return this._onDragEnd$;
|
|
10818
|
+
}
|
|
10767
10819
|
/***************************************************************************
|
|
10768
10820
|
* *
|
|
10769
10821
|
* Public API *
|
|
@@ -10777,11 +10829,20 @@ class GlobalDragDropService {
|
|
|
10777
10829
|
preventDefaultFileLoading() {
|
|
10778
10830
|
if (!this.preventDefaultsSub) {
|
|
10779
10831
|
this.preventDefaultsSub = {
|
|
10780
|
-
preventDragOver: this.dragOver$.subscribe({ next: e =>
|
|
10781
|
-
preventDrop: this.drop$.subscribe({ next: e =>
|
|
10832
|
+
preventDragOver: this.dragOver$.subscribe({ next: e => this.preventDefaultBrowserAction(e) }),
|
|
10833
|
+
preventDrop: this.drop$.subscribe({ next: e => this.preventDefaultBrowserAction(e) })
|
|
10782
10834
|
};
|
|
10783
10835
|
}
|
|
10784
10836
|
}
|
|
10837
|
+
/***************************************************************************
|
|
10838
|
+
* *
|
|
10839
|
+
* Private methods *
|
|
10840
|
+
* *
|
|
10841
|
+
**************************************************************************/
|
|
10842
|
+
preventDefaultBrowserAction(e) {
|
|
10843
|
+
e.preventDefault();
|
|
10844
|
+
this.log.warn('Prevented default Browser Action on DragEvent ', e);
|
|
10845
|
+
}
|
|
10785
10846
|
}
|
|
10786
10847
|
GlobalDragDropService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GlobalDragDropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10787
10848
|
GlobalDragDropService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GlobalDragDropService, providedIn: 'root' });
|