@elderbyte/ngx-starter 15.7.0 → 15.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/common/http/upload/file-upload-client.mjs +1 -1
- package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +2 -2
- package/esm2020/lib/components/files/elder-file-select.directive.mjs +36 -13
- package/esm2020/lib/components/files/elder-file.module.mjs +1 -2
- package/esm2020/lib/components/files/file-select/file-select.component.mjs +2 -2
- package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +8 -14
- package/esm2020/lib/components/files/listing/file-entry.mjs +58 -12
- package/esm2020/lib/components/files/listing/file-listing-rx.mjs +10 -2
- package/fesm2015/elderbyte-ngx-starter.mjs +127 -99
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +127 -99
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/http/upload/file-upload-client.d.ts +2 -2
- package/lib/components/files/elder-file-select.directive.d.ts +13 -4
- package/lib/components/files/elder-file.module.d.ts +0 -1
- package/lib/components/files/file-select/file-select.component.d.ts +5 -3
- package/lib/components/files/file-upload/file-upload.component.d.ts +3 -9
- package/lib/components/files/listing/file-entry.d.ts +37 -8
- package/lib/components/files/listing/file-listing-rx.d.ts +1 -0
- package/package.json +1 -1
- package/esm2020/lib/components/files/file-proxy.mjs +0 -41
- package/lib/components/files/file-proxy.d.ts +0 -21
|
@@ -39,4 +39,4 @@ export class FileUploadClient {
|
|
|
39
39
|
return this.dataTransferFactory.buildFileFormDataUpload(this.requestMethod, this.endpointUrl, file);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2h0dHAvdXBsb2FkL2ZpbGUtdXBsb2FkLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQVN0RSxNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCOzs7O2dGQUk0RTtJQUU1RSxZQUNVLElBQWdCLEVBQ2hCLGVBQXlDLEVBQzlCLFdBQW1CLEVBQzlCLGFBQXVDO1FBSHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUUvQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFdBQVcsQ0FBQyxLQUFhO1FBRTlCLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO1FBRXRELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkIseUNBQXlDO1lBQ3pDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUzQyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sVUFBVSxDQUFDLElBQVU7UUFDMUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FDakMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxvQkFBb0IsQ0FBQyxJQUFVO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2Zlcn0gZnJvbSAnLi4vdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyJztcbmltcG9ydCB7RGF0YVRyYW5zZmVyRmFjdG9yeX0gZnJvbSAnLi4vdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1mYWN0b3J5JztcbmltcG9ydCB7RWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIElGaWxlVXBsb2FkQ2xpZW50IHtcbiAgdXBsb2FkRmlsZXMoZmlsZXM6IEZpbGVbXSk6IE1hcDxGaWxlLCBIdHRwRGF0YVRyYW5zZmVyPjtcbiAgdXBsb2FkRmlsZShmaWxlOiBGaWxlKTogSHR0cERhdGFUcmFuc2Zlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDbGllbnQgaW1wbGVtZW50cyBJRmlsZVVwbG9hZENsaWVudCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhVHJhbnNmZXJGYWN0b3J5OiBEYXRhVHJhbnNmZXJGYWN0b3J5O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHRyYW5zZmVyTWFuYWdlcjogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBlbmRwb2ludFVybDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVxdWVzdE1ldGhvZDogJ1BPU1QnIHwgJ1BVVCcgfCAnUEFUQ0gnXG4gICkge1xuICAgIHRoaXMuZGF0YVRyYW5zZmVyRmFjdG9yeSA9IG5ldyBEYXRhVHJhbnNmZXJGYWN0b3J5KGh0dHApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHVwbG9hZEZpbGVzKGZpbGVzOiBGaWxlW10pOiBNYXA8RmlsZSwgSHR0cERhdGFUcmFuc2Zlcj4ge1xuXG4gICAgY29uc3QgYWxsUHJvZ3Jlc3MgPSBuZXcgTWFwPEZpbGUsIEh0dHBEYXRhVHJhbnNmZXI+KCk7XG5cbiAgICBmaWxlcy5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgLy8gY3JlYXRlIGEgbmV3IHVwbG9hZCBqb2IgZm9yIGV2ZXJ5IGZpbGVcbiAgICAgIGFsbFByb2dyZXNzLnNldChmaWxlLCB0aGlzLmNyZWF0ZVVwbG9hZFRyYW5zZmVyKGZpbGUpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyYW5zZmVycyA9IEFycmF5LmZyb20oYWxsUHJvZ3Jlc3MudmFsdWVzKCkpO1xuXG4gICAgdGhpcy50cmFuc2Zlck1hbmFnZXIuZW5xdWV1ZUFsbCh0cmFuc2ZlcnMpO1xuXG4gICAgcmV0dXJuIGFsbFByb2dyZXNzO1xuICB9XG5cbiAgcHVibGljIHVwbG9hZEZpbGUoZmlsZTogRmlsZSk6IEh0dHBEYXRhVHJhbnNmZXIge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZmVyTWFuYWdlci5lbnF1ZXVlKFxuICAgICAgdGhpcy5jcmVhdGVVcGxvYWRUcmFuc2ZlcihmaWxlKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNyZWF0ZVVwbG9hZFRyYW5zZmVyKGZpbGU6IEZpbGUpOiBIdHRwRGF0YVRyYW5zZmVyIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhVHJhbnNmZXJGYWN0b3J5LmJ1aWxkRmlsZUZvcm1EYXRhVXBsb2FkKHRoaXMucmVxdWVzdE1ldGhvZCwgdGhpcy5lbmRwb2ludFVybCwgZmlsZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -77,7 +77,7 @@ export class ElderFileDropZoneDirective {
|
|
|
77
77
|
obs.push(FileListingRx.INSTANCE.listFilesRecursive(entry));
|
|
78
78
|
}
|
|
79
79
|
else {
|
|
80
|
-
obs.push(of([
|
|
80
|
+
obs.push(of([FileEntry.ofFile(transferItem.getAsFile())]));
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
return zip(obs).pipe(map(files => files.flat()));
|
|
@@ -107,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
107
107
|
type: HostListener,
|
|
108
108
|
args: ['drop', ['$event']]
|
|
109
109
|
}] } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS1kcm9wLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9lbGRlci1maWxlLWRyb3Atem9uZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNkIsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQ08sRUFBRSxFQUNkLEdBQUcsRUFDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQVF4RCxNQUFNLE9BQU8sMEJBQTBCO0lBZ0JyQzs7OztnRkFJNEU7SUFFNUUsWUFDVSxPQUFtQixFQUNuQixRQUFtQixFQUNuQixNQUFjO1FBRmQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUF2QnhCOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3pELDRCQUF1QixHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFHbkUsa0JBQWEsR0FBRyxhQUFhLENBQUM7SUFhckMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUdyRSxVQUFVLENBQUMsR0FBYztRQUM5QixHQUFHLENBQUMsY0FB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QTBCOzJHQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzs4SUFZaUIsdUJBQXVCO3NCQUR0QyxNQUFNO2dCQUlBLGFBQWE7c0JBRG5CLEtBQUs7Z0JBdUJDLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVE3QixTQUFTO3NCQUZmLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDbEMsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTzlCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsIG9mLFxuICB6aXBcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGaWxlRW50cnl9IGZyb20gJy4vbGlzdGluZy9maWxlLWVudHJ5JztcbmltcG9ydCB7RmlsZUxpc3RpbmdSeH0gZnJvbSAnLi9saXN0aW5nL2ZpbGUtbGlzdGluZy1yeCc7XG5cblxuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlckZpbGVEcm9wWm9uZV0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRmlsZURyb3Bab25lRGlyZWN0aXZlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBlbGRlckZpbGVEcm9wWm9uZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUVudHJ5W10+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRyYWdPdmVyQ2xhc3MgPSAnaXMtZHJhZ292ZXInO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaG9zdFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZ0OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCBkZWZhdWx0IGJyb3dzZXIgYWN0aW9uXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5kcmFnT3ZlckNsYXNzKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbmQnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnRW5kKGV2dDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZGVmYXVsdCBicm93c2VyIGFjdGlvblxuICAgIHRoaXMuZHJhZ0VuZChldnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyb3AoZXZ0OiBEcmFnRXZlbnQpOiB2b2lkIHtcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdEcm9wIGV2ZW50IScsIGV2dCk7XG5cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5kcmFnRW5kKGV2dCk7IC8vIFRPRE8gRG8gdGhpcyBsYXRlclxuXG4gICAgdGhpcy5jb2xsZWN0RmlsZXNBc3luYyhldnQpO1xuICAgIC8vIHRoaXMubG9nZ2VyLmRlYnVnKCdVc2VyIGRyb3BwZWQgJyArIGZpbGVzLnNpemUgKyAnZmlsZXMhJywgZmlsZXMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBkcmFnRW5kKGV2dDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5kcmFnT3ZlckNsYXNzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGVjdEZpbGVzQXN5bmMoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gZXZlbnQuZGF0YVRyYW5zZmVyLml0ZW1zO1xuICAgICAgICB0aGlzLnRvRmlsZUxpc3QoaXRlbXMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiBmaWxlcyA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy5lbGRlckZpbGVEcm9wWm9uZUNoYW5nZS5lbWl0KGZpbGVzKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBsaXN0IEZpbGVzIGZyb20gRGF0YVRyYW5zZmVySXRlbUxpc3QnLCBlcnIpXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBoYW5kbGUgRHJhZ0V2ZW50IScsIGVycm9yKTtcbiAgICAgICAgLy8gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuZXJyb3IuZW1pdCgnRm9sZGVyIHVwbG9hZCBpcyB1bnN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXInKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHRvRmlsZUxpc3QodHJhbnNmZXJJdGVtTGlzdDogRGF0YVRyYW5zZmVySXRlbUxpc3QpOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgY29uc3Qgb2JzOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPltdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0cmFuc2Zlckl0ZW1MaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB0cmFuc2Zlckl0ZW0gPSB0cmFuc2Zlckl0ZW1MaXN0W2ldO1xuICAgICAgY29uc3QgZW50cnkgPSB0cmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpO1xuICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgIG9icy5wdXNoKEZpbGVMaXN0aW5nUnguSU5TVEFOQ0UubGlzdEZpbGVzUmVjdXJzaXZlKGVudHJ5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnMucHVzaChvZihbbmV3IEZpbGVFbnRyeSh0cmFuc2Zlckl0ZW0uZ2V0QXNGaWxlKCksIG51bGwpXSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gemlwKG9icykucGlwZShcbiAgICAgIG1hcChmaWxlcyA9PiBmaWxlcy5mbGF0KCkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS1kcm9wLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9lbGRlci1maWxlLWRyb3Atem9uZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNkIsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQ08sRUFBRSxFQUNkLEdBQUcsRUFDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQUt4RCxNQUFNLE9BQU8sMEJBQTBCO0lBZ0JyQzs7OztnRkFJNEU7SUFFNUUsWUFDVSxPQUFtQixFQUNuQixRQUFtQixFQUNuQixNQUFjO1FBRmQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUF2QnhCOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3pELDRCQUF1QixHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFHbkUsa0JBQWEsR0FBRyxhQUFhLENBQUM7SUFhckMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUdyRSxVQUFVLENBQUMsR0FBYztRQUM5QixHQUFHLENBQUMsY0FB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R0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7OElBWWlCLHVCQUF1QjtzQkFEdEMsTUFBTTtnQkFJQSxhQUFhO3NCQURuQixLQUFLO2dCQXVCQyxVQUFVO3NCQURoQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRN0IsU0FBUztzQkFGZixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ2xDLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU85QixNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLCBvZixcbiAgemlwXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsZUVudHJ5fSBmcm9tICcuL2xpc3RpbmcvZmlsZS1lbnRyeSc7XG5pbXBvcnQge0ZpbGVMaXN0aW5nUnh9IGZyb20gJy4vbGlzdGluZy9maWxlLWxpc3RpbmctcngnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJGaWxlRHJvcFpvbmVdJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckZpbGVEcm9wWm9uZURpcmVjdGl2ZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZWxkZXJGaWxlRHJvcFpvbmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVFbnRyeVtdPigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkcmFnT3ZlckNsYXNzID0gJ2lzLWRyYWdvdmVyJztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyYWdPdmVyKGV2dDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZGVmYXVsdCBicm93c2VyIGFjdGlvblxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZHJhZ092ZXJDbGFzcyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnZW5kJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ0VuZChldnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50IGRlZmF1bHQgYnJvd3NlciBhY3Rpb25cbiAgICB0aGlzLmRyYWdFbmQoZXZ0KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Ecm9wKGV2dDogRHJhZ0V2ZW50KTogdm9pZCB7XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRHJvcCBldmVudCEnLCBldnQpO1xuXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZHJhZ0VuZChldnQpOyAvLyBUT0RPIERvIHRoaXMgbGF0ZXJcblxuICAgIHRoaXMuY29sbGVjdEZpbGVzQXN5bmMoZXZ0KTtcbiAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygnVXNlciBkcm9wcGVkICcgKyBmaWxlcy5zaXplICsgJ2ZpbGVzIScsIGZpbGVzKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgZHJhZ0VuZChldnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZHJhZ092ZXJDbGFzcyk7XG4gIH1cblxuICBwcml2YXRlIGNvbGxlY3RGaWxlc0FzeW5jKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5pdGVtcztcbiAgICAgICAgdGhpcy50b0ZpbGVMaXN0KGl0ZW1zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogZmlsZXMgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+XG4gICAgICAgICAgICAgIHRoaXMuZWxkZXJGaWxlRHJvcFpvbmVDaGFuZ2UuZW1pdChmaWxlcylcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBlcnJvcjogZXJyID0+IHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gbGlzdCBGaWxlcyBmcm9tIERhdGFUcmFuc2Zlckl0ZW1MaXN0JywgZXJyKVxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gaGFuZGxlIERyYWdFdmVudCEnLCBlcnJvcik7XG4gICAgICAgIC8vIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmVycm9yLmVtaXQoJ0ZvbGRlciB1cGxvYWQgaXMgdW5zdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyJykpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0b0ZpbGVMaXN0KHRyYW5zZmVySXRlbUxpc3Q6IERhdGFUcmFuc2Zlckl0ZW1MaXN0KTogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT4ge1xuICAgIGNvbnN0IG9iczogT2JzZXJ2YWJsZTxGaWxlRW50cnlbXT5bXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHJhbnNmZXJJdGVtTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdHJhbnNmZXJJdGVtID0gdHJhbnNmZXJJdGVtTGlzdFtpXTtcbiAgICAgIGNvbnN0IGVudHJ5ID0gdHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKTtcbiAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICBvYnMucHVzaChGaWxlTGlzdGluZ1J4LklOU1RBTkNFLmxpc3RGaWxlc1JlY3Vyc2l2ZShlbnRyeSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JzLnB1c2gob2YoW0ZpbGVFbnRyeS5vZkZpbGUodHJhbnNmZXJJdGVtLmdldEFzRmlsZSgpKV0pKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHppcChvYnMpLnBpcGUoXG4gICAgICBtYXAoZmlsZXMgPT4gZmlsZXMuZmxhdCgpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
2
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
|
+
import { FileEntry } from './listing/file-entry';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
export class ElderFileSelectDirective {
|
|
5
7
|
/***************************************************************************
|
|
@@ -42,11 +44,23 @@ export class ElderFileSelectDirective {
|
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
46
|
set elderFileSelectMultiple(value) {
|
|
45
|
-
this._multiple = value;
|
|
47
|
+
this._multiple = coerceBooleanProperty(value);
|
|
46
48
|
if (this._fileInput) {
|
|
47
49
|
this.renderer.setProperty(this._fileInput, 'multiple', value);
|
|
48
50
|
}
|
|
49
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Allow the user to select a directory. All files that are recursively contained are selected.
|
|
54
|
+
* However, the user will no longer be able to select individual files if this is enabled.
|
|
55
|
+
* @param value
|
|
56
|
+
*/
|
|
57
|
+
set elderFileSelectDirectory(value) {
|
|
58
|
+
this._directory = coerceBooleanProperty(value);
|
|
59
|
+
if (this._fileInput) {
|
|
60
|
+
this.renderer.setAttribute(this._fileInput, 'webkitdirectory', 'true');
|
|
61
|
+
this.renderer.setAttribute(this._fileInput, 'directory', 'true');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
50
64
|
/***************************************************************************
|
|
51
65
|
* *
|
|
52
66
|
* Public API *
|
|
@@ -82,6 +96,10 @@ export class ElderFileSelectDirective {
|
|
|
82
96
|
if (this._multiple) {
|
|
83
97
|
this.renderer.setProperty(this._fileInput, 'multiple', this._multiple);
|
|
84
98
|
}
|
|
99
|
+
if (this._directory) {
|
|
100
|
+
this.renderer.setAttribute(this._fileInput, 'webkitdirectory', 'true');
|
|
101
|
+
this.renderer.setAttribute(this._fileInput, 'directory', 'true');
|
|
102
|
+
}
|
|
85
103
|
this._unlisten = this.renderer.listen(this._fileInput, 'change', event => this.fileInputChanged(event));
|
|
86
104
|
}
|
|
87
105
|
removeFileSelect() {
|
|
@@ -96,33 +114,36 @@ export class ElderFileSelectDirective {
|
|
|
96
114
|
}
|
|
97
115
|
fileInputChanged(event) {
|
|
98
116
|
const fileList = this._fileInput.files;
|
|
99
|
-
this.
|
|
117
|
+
const files = this.toFileEntries(fileList);
|
|
118
|
+
this.logger.debug('fileInputChanged, files:', files);
|
|
119
|
+
this.emitFileList(files);
|
|
100
120
|
this.clearFileList();
|
|
101
121
|
}
|
|
102
122
|
clearFileList() {
|
|
103
123
|
// not nice but works
|
|
104
124
|
this._fileInput.value = null;
|
|
105
125
|
}
|
|
106
|
-
emitFileList(
|
|
107
|
-
if (
|
|
108
|
-
this.elderFileSelectChange.next(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
126
|
+
emitFileList(files) {
|
|
127
|
+
if (files.length > 0) {
|
|
128
|
+
this.elderFileSelectChange.next(files);
|
|
129
|
+
this.elderSingleFileSelectChange.emit(files[0].file);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.logger.warn('User did not select any File or the Folder was empty.');
|
|
112
133
|
}
|
|
113
134
|
}
|
|
114
|
-
|
|
115
|
-
const files =
|
|
135
|
+
toFileEntries(fileList) {
|
|
136
|
+
const files = [];
|
|
116
137
|
for (const key in fileList) {
|
|
117
138
|
if (!isNaN(parseInt(key, 0))) {
|
|
118
|
-
files.
|
|
139
|
+
files.push(FileEntry.ofFile(fileList[key]));
|
|
119
140
|
}
|
|
120
141
|
}
|
|
121
142
|
return files;
|
|
122
143
|
}
|
|
123
144
|
}
|
|
124
145
|
ElderFileSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderFileSelectDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
125
|
-
ElderFileSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ElderFileSelectDirective, selector: "[elderFileSelect]", inputs: { elderFileSelect: "elderFileSelect", elderFileSelectMultiple: "elderFileSelectMultiple" }, outputs: { elderFileSelectChange: "elderFileSelectChange", elderSingleFileSelectChange: "elderSingleFileSelectChange" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
|
|
146
|
+
ElderFileSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ElderFileSelectDirective, selector: "[elderFileSelect]", inputs: { elderFileSelect: "elderFileSelect", elderFileSelectMultiple: "elderFileSelectMultiple", elderFileSelectDirectory: "elderFileSelectDirectory" }, outputs: { elderFileSelectChange: "elderFileSelectChange", elderSingleFileSelectChange: "elderSingleFileSelectChange" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
|
|
126
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderFileSelectDirective, decorators: [{
|
|
127
148
|
type: Directive,
|
|
128
149
|
args: [{
|
|
@@ -136,8 +157,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
136
157
|
type: Input
|
|
137
158
|
}], elderFileSelectMultiple: [{
|
|
138
159
|
type: Input
|
|
160
|
+
}], elderFileSelectDirectory: [{
|
|
161
|
+
type: Input
|
|
139
162
|
}], onClick: [{
|
|
140
163
|
type: HostListener,
|
|
141
164
|
args: ['click', ['$event']]
|
|
142
165
|
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9lbGRlci1maWxlLXNlbGVjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQUtuRCxNQUFNLE9BQU8sd0JBQXdCO0lBc0JuQzs7OztnRkFJNEU7SUFFNUUsWUFDVSxFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUE1QjdCOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBTXpELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFHdEQsZ0NBQTJCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQWV2RSxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQ1csZUFBZSxDQUFDLEtBQWE7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElB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QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUNyQixDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtnQkFDakMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FDbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQWtCO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFRLENBQUM7UUFFOUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzVCLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDMUI7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7cUhBcktVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7eUhBZWlCLHFCQUFxQjtzQkFEcEMsTUFBTTtnQkFJUywyQkFBMkI7c0JBRDFDLE1BQU07Z0JBdUNJLGVBQWU7c0JBRHpCLEtBQUs7Z0JBU0ssdUJBQXVCO3NCQURqQyxLQUFLO2dCQWVDLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlckZpbGVTZWxlY3RdJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckZpbGVTZWxlY3REaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX2ZpbGVJbnB1dDogSFRNTElucHV0RWxlbWVudDtcbiAgcHJpdmF0ZSBfdW5saXN0ZW46ICgpID0+IHZvaWQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBlbGRlckZpbGVTZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNldDxGaWxlPj4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVsZGVyU2luZ2xlRmlsZVNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZT4oKTtcblxuICBwcml2YXRlIF9tdWx0aXBsZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfYWNjZXB0OiBzdHJpbmc7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGaWxlU2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVGaWxlU2VsZWN0KCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVsZGVyRmlsZVNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYWNjZXB0ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX2ZpbGVJbnB1dCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9maWxlSW5wdXQsICdhY2NlcHQnLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbGRlckZpbGVTZWxlY3RNdWx0aXBsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX211bHRpcGxlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX2ZpbGVJbnB1dCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9maWxlSW5wdXQsICdtdWx0aXBsZScsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5GaWxlU2VsZWN0RGlhbG9nKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkZpbGVTZWxlY3REaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsZUlucHV0LmNsaWNrKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogPGlucHV0IHR5cGU9XCJmaWxlXCJcbiAgICogICAgIGhpZGRlbiAjZmlsZUlucHV0XG4gICAqICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgKiAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgKiAgICAgKGNoYW5nZSk9XCJmaWxlSW5wdXRDaGFuZ2VkKClcIlxuICAgKiAvPlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVGaWxlU2VsZWN0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5fZmlsZUlucHV0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuX2ZpbGVJbnB1dCwgJ2hpZGRlbicsICd0cnVlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZmlsZUlucHV0LCAndHlwZScsICdmaWxlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuX2ZpbGVJbnB1dCk7XG5cbiAgICBpZiAodGhpcy5fYWNjZXB0KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2ZpbGVJbnB1dCwgJ2FjY2VwdCcsIHRoaXMuX2FjY2VwdCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9tdWx0aXBsZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9maWxlSW5wdXQsICdtdWx0aXBsZScsIHRoaXMuX211bHRpcGxlKTtcbiAgICB9XG5cbiAgICB0aGlzLl91bmxpc3RlbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuICAgICAgdGhpcy5fZmlsZUlucHV0LFxuICAgICAgJ2NoYW5nZScsXG4gICAgICBldmVudCA9PiB0aGlzLmZpbGVJbnB1dENoYW5nZWQoZXZlbnQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRmlsZVNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdW5saXN0ZW4pIHtcbiAgICAgIHRoaXMuX3VubGlzdGVuKCk7XG4gICAgICB0aGlzLl91bmxpc3RlbiA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLl9maWxlSW5wdXQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLl9maWxlSW5wdXQpO1xuICAgICAgdGhpcy5fZmlsZUlucHV0ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbGVJbnB1dENoYW5nZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGVMaXN0ID0gdGhpcy5fZmlsZUlucHV0LmZpbGVzO1xuICAgIHRoaXMuZW1pdEZpbGVMaXN0KGZpbGVMaXN0KTtcbiAgICB0aGlzLmNsZWFyRmlsZUxpc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJGaWxlTGlzdCgpIHtcbiAgICAvLyBub3QgbmljZSBidXQgd29ya3NcbiAgICB0aGlzLl9maWxlSW5wdXQudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmlsZUxpc3QoZmlsZUxpc3Q6IEZpbGVMaXN0KTogdm9pZCB7XG4gICAgaWYgKGZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcblxuICAgICAgdGhpcy5lbGRlckZpbGVTZWxlY3RDaGFuZ2UubmV4dChcbiAgICAgICAgdGhpcy50b1NldChmaWxlTGlzdClcbiAgICAgICk7XG4gICAgICBpZiAoIXRoaXMuZWxkZXJGaWxlU2VsZWN0TXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5lbGRlclNpbmdsZUZpbGVTZWxlY3RDaGFuZ2UuZW1pdChcbiAgICAgICAgICBmaWxlTGlzdC5pdGVtKDApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b1NldChmaWxlTGlzdDogRmlsZUxpc3QpOiBTZXQ8RmlsZT4ge1xuICAgIGNvbnN0IGZpbGVzID0gbmV3IFNldDxGaWxlPigpO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmlsZUxpc3QpIHtcbiAgICAgIGlmICghaXNOYU4ocGFyc2VJbnQoa2V5LCAwKSkpIHtcbiAgICAgICAgZmlsZXMuYWRkKGZpbGVMaXN0W2tleV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxufVxuIl19
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9lbGRlci1maWxlLXNlbGVjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFLL0MsTUFBTSxPQUFPLHdCQUF3QjtJQXVCbkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UsRUFBYyxFQUNkLFFBQW1CO1FBRG5CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBN0I3Qjs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU16RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBR3hELGdDQUEyQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFnQnZFLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxlQUFlLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMs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QUFDO0lBRU8sYUFBYSxDQUFDLFFBQWtCO1FBQ3RDLE1BQU0sS0FBSyxHQUFnQixFQUFFLENBQUM7UUFDOUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzVCLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdDO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O3FIQXRMVSx3QkFBd0I7eUdBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCO3lIQWVpQixxQkFBcUI7c0JBRHBDLE1BQU07Z0JBSVMsMkJBQTJCO3NCQUQxQyxNQUFNO2dCQXdDSSxlQUFlO3NCQUR6QixLQUFLO2dCQVNLLHVCQUF1QjtzQkFEakMsS0FBSztnQkFjSyx3QkFBd0I7c0JBRGxDLEtBQUs7Z0JBZ0JDLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtGaWxlRW50cnl9IGZyb20gJy4vbGlzdGluZy9maWxlLWVudHJ5JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyRmlsZVNlbGVjdF0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRmlsZVNlbGVjdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfZmlsZUlucHV0OiBIVE1MSW5wdXRFbGVtZW50O1xuICBwcml2YXRlIF91bmxpc3RlbjogKCkgPT4gdm9pZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVsZGVyRmlsZVNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUVudHJ5W10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBlbGRlclNpbmdsZUZpbGVTZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGU+KCk7XG5cbiAgcHJpdmF0ZSBfbXVsdGlwbGU6IGJvb2xlYW47XG4gIHByaXZhdGUgX2RpcmVjdG9yeTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfYWNjZXB0OiBzdHJpbmc7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGaWxlU2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVGaWxlU2VsZWN0KCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVsZGVyRmlsZVNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYWNjZXB0ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX2ZpbGVJbnB1dCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9maWxlSW5wdXQsICdhY2NlcHQnLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbGRlckZpbGVTZWxlY3RNdWx0aXBsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fbXVsdGlwbGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLl9maWxlSW5wdXQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZmlsZUlucHV0LCAnbXVsdGlwbGUnLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93IHRoZSB1c2VyIHRvIHNlbGVjdCBhIGRpcmVjdG9yeS4gQWxsIGZpbGVzIHRoYXQgYXJlIHJlY3Vyc2l2ZWx5IGNvbnRhaW5lZCBhcmUgc2VsZWN0ZWQuXG4gICAqIEhvd2V2ZXIsIHRoZSB1c2VyIHdpbGwgbm8gbG9uZ2VyIGJlIGFibGUgdG8gc2VsZWN0IGluZGl2aWR1YWwgZmlsZXMgaWYgdGhpcyBpcyBlbmFibGVkLlxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZWxkZXJGaWxlU2VsZWN0RGlyZWN0b3J5KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kaXJlY3RvcnkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLl9maWxlSW5wdXQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuX2ZpbGVJbnB1dCwgJ3dlYmtpdGRpcmVjdG9yeScsICd0cnVlJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9maWxlSW5wdXQsICdkaXJlY3RvcnknLCAndHJ1ZScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub3BlbkZpbGVTZWxlY3REaWFsb2coKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRmlsZVNlbGVjdERpYWxvZygpOiB2b2lkIHtcbiAgICB0aGlzLl9maWxlSW5wdXQuY2xpY2soKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiA8aW5wdXQgdHlwZT1cImZpbGVcIlxuICAgKiAgICAgaGlkZGVuICNmaWxlSW5wdXRcbiAgICogICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAqICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAqICAgICAoY2hhbmdlKT1cImZpbGVJbnB1dENoYW5nZWQoKVwiXG4gICAqIC8+XG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUZpbGVTZWxlY3QoKTogdm9pZCB7XG5cbiAgICB0aGlzLl9maWxlSW5wdXQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZmlsZUlucHV0LCAnaGlkZGVuJywgJ3RydWUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9maWxlSW5wdXQsICd0eXBlJywgJ2ZpbGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5fZmlsZUlucHV0KTtcblxuICAgIGlmICh0aGlzLl9hY2NlcHQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZmlsZUlucHV0LCAnYWNjZXB0JywgdGhpcy5fYWNjZXB0KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX211bHRpcGxlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2ZpbGVJbnB1dCwgJ211bHRpcGxlJywgdGhpcy5fbXVsdGlwbGUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZGlyZWN0b3J5KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9maWxlSW5wdXQsICd3ZWJraXRkaXJlY3RvcnknLCAndHJ1ZScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZmlsZUlucHV0LCAnZGlyZWN0b3J5JywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICB0aGlzLl91bmxpc3RlbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuICAgICAgdGhpcy5fZmlsZUlucHV0LFxuICAgICAgJ2NoYW5nZScsXG4gICAgICBldmVudCA9PiB0aGlzLmZpbGVJbnB1dENoYW5nZWQoZXZlbnQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRmlsZVNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdW5saXN0ZW4pIHtcbiAgICAgIHRoaXMuX3VubGlzdGVuKCk7XG4gICAgICB0aGlzLl91bmxpc3RlbiA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLl9maWxlSW5wdXQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLl9maWxlSW5wdXQpO1xuICAgICAgdGhpcy5fZmlsZUlucHV0ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbGVJbnB1dENoYW5nZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGVMaXN0ID0gdGhpcy5fZmlsZUlucHV0LmZpbGVzO1xuICAgIGNvbnN0IGZpbGVzID0gdGhpcy50b0ZpbGVFbnRyaWVzKGZpbGVMaXN0KTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZmlsZUlucHV0Q2hhbmdlZCwgZmlsZXM6JywgZmlsZXMpO1xuICAgIHRoaXMuZW1pdEZpbGVMaXN0KGZpbGVzKTtcbiAgICB0aGlzLmNsZWFyRmlsZUxpc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJGaWxlTGlzdCgpIHtcbiAgICAvLyBub3QgbmljZSBidXQgd29ya3NcbiAgICB0aGlzLl9maWxlSW5wdXQudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmlsZUxpc3QoZmlsZXM6IEZpbGVFbnRyeVtdKTogdm9pZCB7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZWxkZXJGaWxlU2VsZWN0Q2hhbmdlLm5leHQoZmlsZXMpO1xuICAgICAgdGhpcy5lbGRlclNpbmdsZUZpbGVTZWxlY3RDaGFuZ2UuZW1pdChcbiAgICAgICAgZmlsZXNbMF0uZmlsZVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIud2FybignVXNlciBkaWQgbm90IHNlbGVjdCBhbnkgRmlsZSBvciB0aGUgRm9sZGVyIHdhcyBlbXB0eS4nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvRmlsZUVudHJpZXMoZmlsZUxpc3Q6IEZpbGVMaXN0KTogRmlsZUVudHJ5W10ge1xuICAgIGNvbnN0IGZpbGVzOiBGaWxlRW50cnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IGluIGZpbGVMaXN0KSB7XG4gICAgICBpZiAoIWlzTmFOKHBhcnNlSW50KGtleSwgMCkpKSB7XG4gICAgICAgIGZpbGVzLnB1c2goRmlsZUVudHJ5Lm9mRmlsZShmaWxlTGlzdFtrZXldKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWxlcztcbiAgfVxuXG59XG4iXX0=
|
|
@@ -17,7 +17,6 @@ export { ElderFileSelectDirective } from './elder-file-select.directive';
|
|
|
17
17
|
export { ElderFileDropZoneDirective } from './elder-file-drop-zone.directive';
|
|
18
18
|
export { ElderBlobViewerComponent } from './blob-viewer/elder-blob-viewer.component';
|
|
19
19
|
export * from './blob-url';
|
|
20
|
-
export * from './file-proxy';
|
|
21
20
|
export * from './listing/file-entry';
|
|
22
21
|
export * from './listing/file-listing-rx';
|
|
23
22
|
export class ElderFileModule {
|
|
@@ -67,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
67
66
|
]
|
|
68
67
|
}]
|
|
69
68
|
}] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzL2VsZGVyLWZpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDOztBQUVuRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUE2QjFDLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBZHhCLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQix3QkFBd0IsYUFmeEIsWUFBWTtRQUVaLGFBQWE7UUFFYixlQUFlLEVBQUUsYUFBYTtRQUU5QixvQkFBb0I7UUFFcEIsZ0JBQWdCLGFBVWhCLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQix3QkFBd0I7NkdBR2YsZUFBZSxZQXpCeEIsWUFBWTtRQUVaLGFBQWE7UUFFYixlQUFlLEVBQUUsYUFBYTtRQUU5QixvQkFBb0I7UUFFcEIsZ0JBQWdCOzJGQWlCUCxlQUFlO2tCQTNCM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFFWixhQUFhO3dCQUViLGVBQWUsRUFBRSxhQUFhO3dCQUU5QixvQkFBb0I7d0JBRXBCLGdCQUFnQjtxQkFDakI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQix3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxkZXJGaWxlU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2ZpbGUtc2VsZWN0L2ZpbGUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdExpc3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7RWxkZXJQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZXMvZWxkZXItcGlwZXMubW9kdWxlJztcbmltcG9ydCB7RWxkZXJGaWxlVXBsb2FkQ29tcG9uZW50fSBmcm9tICcuL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyRmlsZVNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1maWxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckZpbGVEcm9wWm9uZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1maWxlLWRyb3Atem9uZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckJsb2JWaWV3ZXJDb21wb25lbnR9IGZyb20gJy4vYmxvYi12aWV3ZXIvZWxkZXItYmxvYi12aWV3ZXIuY29tcG9uZW50JztcblxuZXhwb3J0IHtFbGRlckZpbGVTZWxlY3RDb21wb25lbnR9IGZyb20gJy4vZmlsZS1zZWxlY3QvZmlsZS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7RWxkZXJGaWxlVXBsb2FkQ29tcG9uZW50fSBmcm9tICcuL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQge0VsZGVyRmlsZVNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1maWxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckZpbGVEcm9wWm9uZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1maWxlLWRyb3Atem9uZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckJsb2JWaWV3ZXJDb21wb25lbnR9IGZyb20gJy4vYmxvYi12aWV3ZXIvZWxkZXItYmxvYi12aWV3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmxvYi11cmwnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0aW5nL2ZpbGUtZW50cnknO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0aW5nL2ZpbGUtbGlzdGluZy1yeCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG5cbiAgICBNYXRMaXN0TW9kdWxlLFxuXG4gICAgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLFxuXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG5cbiAgICBFbGRlclBpcGVzTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVsZGVyRmlsZVNlbGVjdENvbXBvbmVudCxcbiAgICBFbGRlckZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgRWxkZXJGaWxlU2VsZWN0RGlyZWN0aXZlLFxuICAgIEVsZGVyRmlsZURyb3Bab25lRGlyZWN0aXZlLFxuICAgIEVsZGVyQmxvYlZpZXdlckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJGaWxlU2VsZWN0Q29tcG9uZW50LFxuICAgIEVsZGVyRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICBFbGRlckZpbGVTZWxlY3REaXJlY3RpdmUsXG4gICAgRWxkZXJGaWxlRHJvcFpvbmVEaXJlY3RpdmUsXG4gICAgRWxkZXJCbG9iVmlld2VyQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJGaWxlTW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -37,7 +37,7 @@ export class ElderFileSelectComponent {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
ElderFileSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderFileSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
ElderFileSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ElderFileSelectComponent, selector: "elder-file-select", inputs: { multiple: "multiple", accept: "accept", icon: "icon", color: "color" }, outputs: { filesChange: "filesChange" }, ngImport: i0, template: "\n\n<button mat-icon-button type=\"button\"\n [elderFileSelect]=\"accept\"\n [elderFileSelectMultiple]=\"multiple\"\n (elderFileSelectChange)=\"fileInputChanged($event)\"\n>\n <mat-icon [color]=\"color\">{{icon}}</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.ElderFileSelectDirective, selector: "[elderFileSelect]", inputs: ["elderFileSelect", "elderFileSelectMultiple"], outputs: ["elderFileSelectChange", "elderSingleFileSelectChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
40
|
+
ElderFileSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ElderFileSelectComponent, selector: "elder-file-select", inputs: { multiple: "multiple", accept: "accept", icon: "icon", color: "color" }, outputs: { filesChange: "filesChange" }, ngImport: i0, template: "\n\n<button mat-icon-button type=\"button\"\n [elderFileSelect]=\"accept\"\n [elderFileSelectMultiple]=\"multiple\"\n (elderFileSelectChange)=\"fileInputChanged($event)\"\n>\n <mat-icon [color]=\"color\">{{icon}}</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.ElderFileSelectDirective, selector: "[elderFileSelect]", inputs: ["elderFileSelect", "elderFileSelectMultiple", "elderFileSelectDirectory"], outputs: ["elderFileSelectChange", "elderSingleFileSelectChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderFileSelectComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{ selector: 'elder-file-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<button mat-icon-button type=\"button\"\n [elderFileSelect]=\"accept\"\n [elderFileSelectMultiple]=\"multiple\"\n (elderFileSelectChange)=\"fileInputChanged($event)\"\n>\n <mat-icon [color]=\"color\">{{icon}}</mat-icon>\n</button>\n" }]
|
|
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
52
52
|
}], filesChange: [{
|
|
53
53
|
type: Output
|
|
54
54
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9maWxlLXNlbGVjdC9maWxlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzL2ZpbGUtc2VsZWN0L2ZpbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVXRHLE1BQU0sT0FBTyx3QkFBd0I7SUF1Qm5DOzs7O2dGQUk0RTtJQUU1RTtRQTNCQTs7OztvRkFJNEU7UUFHckUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixXQUFNLEdBQVcsU0FBUyxDQUFDO1FBRzNCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFNSixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFTOUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO0lBRWYsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxnQkFBZ0IsQ0FBQyxLQUFrQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOztxSEFsRFUsd0JBQXdCO3lHQUF4Qix3QkFBd0Isb0xDVnJDLG9RQVNBOzJGRENhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTswRUFXeEMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlVLFdBQVc7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RmlsZUVudHJ5fSBmcm9tICcuLi9saXN0aW5nL2ZpbGUtZW50cnknO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1maWxlLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRmlsZVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFjY2VwdDogc3RyaW5nID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uID0gJ2FkZCc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBmaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUVudHJ5W10+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaWxlSW5wdXRDaGFuZ2VkKGZpbGVzOiBGaWxlRW50cnlbXSk6IHZvaWQge1xuICAgIHRoaXMuZmlsZXNDaGFuZ2UubmV4dChmaWxlcyk7XG4gIH1cblxufVxuIiwiXG5cbjxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbZWxkZXJGaWxlU2VsZWN0XT1cImFjY2VwdFwiXG4gICAgICAgIFtlbGRlckZpbGVTZWxlY3RNdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgIChlbGRlckZpbGVTZWxlY3RDaGFuZ2UpPVwiZmlsZUlucHV0Q2hhbmdlZCgkZXZlbnQpXCJcbj5cbiAgPG1hdC1pY29uIFtjb2xvcl09XCJjb2xvclwiPnt7aWNvbn19PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { forkJoin } from 'rxjs';
|
|
3
|
+
import { FileEntry } from '../listing/file-entry';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
5
6
|
import * as i2 from "@angular/material/list";
|
|
@@ -21,17 +22,10 @@ export class ElderFileUploadComponent {
|
|
|
21
22
|
* Fields *
|
|
22
23
|
* *
|
|
23
24
|
**************************************************************************/
|
|
24
|
-
this.files =
|
|
25
|
+
this.files = [];
|
|
25
26
|
this.multiple = false;
|
|
26
27
|
this.accept = undefined;
|
|
27
28
|
}
|
|
28
|
-
/***************************************************************************
|
|
29
|
-
* *
|
|
30
|
-
* Life Cycle *
|
|
31
|
-
* *
|
|
32
|
-
**************************************************************************/
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
}
|
|
35
29
|
/***************************************************************************
|
|
36
30
|
* *
|
|
37
31
|
* Public API *
|
|
@@ -51,16 +45,16 @@ export class ElderFileUploadComponent {
|
|
|
51
45
|
* Private methods *
|
|
52
46
|
* *
|
|
53
47
|
**************************************************************************/
|
|
54
|
-
uploadAllFiles(
|
|
55
|
-
this.uploadProgress = this.uploadClient.uploadFiles(
|
|
56
|
-
return forkJoin(this.uploadProgress.values());
|
|
48
|
+
uploadAllFiles(entries) {
|
|
49
|
+
this.uploadProgress = this.uploadClient.uploadFiles(FileEntry.toFileArray(entries));
|
|
50
|
+
return forkJoin(Array.from(this.uploadProgress.values()));
|
|
57
51
|
}
|
|
58
52
|
}
|
|
59
53
|
ElderFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
ElderFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ElderFileUploadComponent, selector: "elder-file-upload", inputs: { files: "files", multiple: "multiple", accept: "accept", uploadClient: "uploadClient" }, ngImport: i0, template: "\n\n<div class=\"layout-col\">\n\n <div class=\"layout-row gap-md\">\n\n <button mat-icon-button type=\"button\" color=\"primary\"\n *ngIf=\"uploadClient\" (click)=\"startUpload($event)\" [disabled]=\"files.
|
|
54
|
+
ElderFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ElderFileUploadComponent, selector: "elder-file-upload", inputs: { files: "files", multiple: "multiple", accept: "accept", uploadClient: "uploadClient" }, ngImport: i0, template: "\n\n<div class=\"layout-col\">\n\n <div class=\"layout-row gap-md\">\n\n <button mat-icon-button type=\"button\" color=\"primary\"\n *ngIf=\"uploadClient\" (click)=\"startUpload($event)\" [disabled]=\"files.length === 0\">\n <mat-icon>cloud_upload</mat-icon>\n </button>\n\n <elder-file-select\n [multiple]=\"multiple\"\n [accept]=\"accept\"\n (filesChange)=\"files = $event\"\n ></elder-file-select>\n\n </div>\n\n <mat-list>\n <h2 mat-subheader>Selected Files ({{files.length}})</h2>\n <mat-list-item *ngFor=\"let fileEntry of files\">\n <mat-icon mat-list-icon>attach_file</mat-icon>\n <h4 mat-line>{{fileEntry.relativePath}}</h4>\n <p mat-line> {{fileEntry.file.size | bytes}} - {{fileEntry.file.lastModified | timeAgo}}</p>\n\n <mat-progress-bar *ngIf=\"(transferOf(fileEntry.file)?.state$ | async) as state\"\n [color]=\"(state.hasFailed ? 'warn' : undefined)\"\n mode=\"determinate\"\n [value]=\"state.progress.percentDone\">\n </mat-progress-bar>\n\n </mat-list-item>\n </mat-list>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6.ElderFileSelectComponent, selector: "elder-file-select", inputs: ["multiple", "accept", "icon", "color"], outputs: ["filesChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.BytesPipe, name: "bytes" }, { kind: "pipe", type: i8.TimeAgoPipe, name: "timeAgo" }] });
|
|
61
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderFileUploadComponent, decorators: [{
|
|
62
56
|
type: Component,
|
|
63
|
-
args: [{ selector: 'elder-file-upload', template: "\n\n<div class=\"layout-col\">\n\n <div class=\"layout-row gap-md\">\n\n <button mat-icon-button type=\"button\" color=\"primary\"\n *ngIf=\"uploadClient\" (click)=\"startUpload($event)\" [disabled]=\"files.
|
|
57
|
+
args: [{ selector: 'elder-file-upload', template: "\n\n<div class=\"layout-col\">\n\n <div class=\"layout-row gap-md\">\n\n <button mat-icon-button type=\"button\" color=\"primary\"\n *ngIf=\"uploadClient\" (click)=\"startUpload($event)\" [disabled]=\"files.length === 0\">\n <mat-icon>cloud_upload</mat-icon>\n </button>\n\n <elder-file-select\n [multiple]=\"multiple\"\n [accept]=\"accept\"\n (filesChange)=\"files = $event\"\n ></elder-file-select>\n\n </div>\n\n <mat-list>\n <h2 mat-subheader>Selected Files ({{files.length}})</h2>\n <mat-list-item *ngFor=\"let fileEntry of files\">\n <mat-icon mat-list-icon>attach_file</mat-icon>\n <h4 mat-line>{{fileEntry.relativePath}}</h4>\n <p mat-line> {{fileEntry.file.size | bytes}} - {{fileEntry.file.lastModified | timeAgo}}</p>\n\n <mat-progress-bar *ngIf=\"(transferOf(fileEntry.file)?.state$ | async) as state\"\n [color]=\"(state.hasFailed ? 'warn' : undefined)\"\n mode=\"determinate\"\n [value]=\"state.progress.percentDone\">\n </mat-progress-bar>\n\n </mat-list-item>\n </mat-list>\n\n</div>\n" }]
|
|
64
58
|
}], ctorParameters: function () { return []; }, propDecorators: { files: [{
|
|
65
59
|
type: Input
|
|
66
60
|
}], multiple: [{
|
|
@@ -70,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
70
64
|
}], uploadClient: [{
|
|
71
65
|
type: Input
|
|
72
66
|
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFHMUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBT2hELE1BQU0sT0FBTyx3QkFBd0I7SUF1Qm5DOzs7O2dGQUk0RTtJQUU1RTtRQTFCQTs7OztvRkFJNEU7UUFHckUsVUFBSyxHQUFnQixFQUFFLENBQUM7UUFLeEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixXQUFNLEdBQVcsU0FBUyxDQUFDO0lBWWxDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsV0FBVyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQVU7UUFDMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGNBQWMsQ0FBQyxPQUFvQjtRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUNqRCxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUMvQixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQ3pDLENBQUM7SUFDSixDQUFDOztxSEE5RFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsMkpDWHJDLHFwQ0FvQ0E7MkZEekJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBY3RCLEtBQUs7c0JBRFgsS0FBSztnQkFNQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2ZvcmtKb2luLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SUZpbGVVcGxvYWRDbGllbnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3VwbG9hZC9maWxlLXVwbG9hZC1jbGllbnQnO1xuaW1wb3J0IHtIdHRwRGF0YVRyYW5zZmVyfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHR0cC90cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXInO1xuaW1wb3J0IHtGaWxlRW50cnl9IGZyb20gJy4uL2xpc3RpbmcvZmlsZS1lbnRyeSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckZpbGVVcGxvYWRDb21wb25lbnQge1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIGZpbGVzOiBGaWxlRW50cnlbXSA9IFtdO1xuICBwdWJsaWMgdXBsb2FkUHJvZ3Jlc3M6IE1hcDxGaWxlLCBIdHRwRGF0YVRyYW5zZmVyPjtcbiAgcHVibGljIHRvdGFsUHJvZ3Jlc3M6IE9ic2VydmFibGU8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWNjZXB0OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHVwbG9hZENsaWVudDogSUZpbGVVcGxvYWRDbGllbnQ7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhcnRVcGxvYWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudG90YWxQcm9ncmVzcyA9IHRoaXMudXBsb2FkQWxsRmlsZXModGhpcy5maWxlcyk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmZXJPZihmaWxlOiBGaWxlKTogSHR0cERhdGFUcmFuc2ZlciB7XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiB0aGlzLnVwbG9hZFByb2dyZXNzLmdldChmaWxlKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgdXBsb2FkQWxsRmlsZXMoZW50cmllczogRmlsZUVudHJ5W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSB0aGlzLnVwbG9hZENsaWVudC51cGxvYWRGaWxlcyhcbiAgICAgIEZpbGVFbnRyeS50b0ZpbGVBcnJheShlbnRyaWVzKVxuICAgICk7XG4gICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLnVwbG9hZFByb2dyZXNzLnZhbHVlcygpKVxuICAgICk7XG4gIH1cblxufVxuIiwiXG5cbjxkaXYgY2xhc3M9XCJsYXlvdXQtY29sXCI+XG5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgZ2FwLW1kXCI+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICpuZ0lmPVwidXBsb2FkQ2xpZW50XCIgIChjbGljayk9XCJzdGFydFVwbG9hZCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImZpbGVzLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgPG1hdC1pY29uPmNsb3VkX3VwbG9hZDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZWxkZXItZmlsZS1zZWxlY3RcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICAoZmlsZXNDaGFuZ2UpPVwiZmlsZXMgPSAkZXZlbnRcIlxuICAgID48L2VsZGVyLWZpbGUtc2VsZWN0PlxuXG4gIDwvZGl2PlxuXG4gIDxtYXQtbGlzdD5cbiAgICA8aDIgbWF0LXN1YmhlYWRlcj5TZWxlY3RlZCBGaWxlcyAoe3tmaWxlcy5sZW5ndGh9fSk8L2gyPlxuICAgIDxtYXQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBmaWxlRW50cnkgb2YgZmlsZXNcIj5cbiAgICAgIDxtYXQtaWNvbiBtYXQtbGlzdC1pY29uPmF0dGFjaF9maWxlPC9tYXQtaWNvbj5cbiAgICAgIDxoNCBtYXQtbGluZT57e2ZpbGVFbnRyeS5yZWxhdGl2ZVBhdGh9fTwvaDQ+XG4gICAgICA8cCBtYXQtbGluZT4ge3tmaWxlRW50cnkuZmlsZS5zaXplIHwgYnl0ZXN9fSAgLSB7e2ZpbGVFbnRyeS5maWxlLmxhc3RNb2RpZmllZCB8IHRpbWVBZ299fTwvcD5cblxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCIodHJhbnNmZXJPZihmaWxlRW50cnkuZmlsZSk/LnN0YXRlJCB8IGFzeW5jKSBhcyBzdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiKHN0YXRlLmhhc0ZhaWxlZCA/ICd3YXJuJyA6IHVuZGVmaW5lZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT1cImRldGVybWluYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzdGF0ZS5wcm9ncmVzcy5wZXJjZW50RG9uZVwiPlxuICAgICAgPC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICA8L21hdC1saXN0PlxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,30 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Represents a file and the relative path where the user has selected it.
|
|
3
|
+
* This is useful if the user has selected a folder and files
|
|
4
|
+
* are listed recursively.
|
|
5
|
+
*/
|
|
6
|
+
export class FileEntry {
|
|
7
|
+
/***************************************************************************
|
|
8
|
+
* *
|
|
9
|
+
* Constructor *
|
|
10
|
+
* *
|
|
11
|
+
**************************************************************************/
|
|
3
12
|
constructor(file,
|
|
4
13
|
/**
|
|
5
14
|
* Contains the relative path from the selected folder
|
|
6
15
|
* to this file. Only relevant if the user has selected a folder.
|
|
7
16
|
*/
|
|
8
17
|
relativeParent) {
|
|
9
|
-
|
|
18
|
+
this.file = file;
|
|
10
19
|
this.relativeParent = relativeParent;
|
|
20
|
+
this.relativePath = FileEntry.buildRelativePath(relativeParent, file);
|
|
11
21
|
}
|
|
12
22
|
/**
|
|
13
|
-
*
|
|
23
|
+
* Creates a file Entry without an explicit relative parent.
|
|
24
|
+
*
|
|
25
|
+
* However, depending how the file was selected, some browsers
|
|
26
|
+
* encode the relative parent path in the property 'webkitRelativePath'
|
|
27
|
+
* which is also supported by this method.
|
|
14
28
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
29
|
+
static ofFile(file) {
|
|
30
|
+
let relativeParent = null;
|
|
31
|
+
if (file.webkitRelativePath) {
|
|
32
|
+
if (file.webkitRelativePath.endsWith(file.name)) {
|
|
33
|
+
var nameStart = file.webkitRelativePath.length - file.name.length;
|
|
34
|
+
relativeParent = file.webkitRelativePath.substring(0, nameStart);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
relativeParent = file.webkitRelativePath;
|
|
38
|
+
}
|
|
18
39
|
}
|
|
19
|
-
|
|
20
|
-
|
|
40
|
+
return FileEntry.relativeFile(file, relativeParent);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Creates a file Entry with a relative parent path
|
|
44
|
+
*/
|
|
45
|
+
static relativeFile(file, relativeParent) {
|
|
46
|
+
if (relativeParent && relativeParent.endsWith('/')) {
|
|
47
|
+
relativeParent = relativeParent.substring(0, relativeParent.length - 1);
|
|
21
48
|
}
|
|
49
|
+
return new FileEntry(file, relativeParent);
|
|
22
50
|
}
|
|
51
|
+
static toFileMap(entries) {
|
|
52
|
+
const map = new Map();
|
|
53
|
+
entries.forEach(e => map.set(e.file, e));
|
|
54
|
+
return map;
|
|
55
|
+
}
|
|
56
|
+
static toFileArray(entries) {
|
|
57
|
+
return entries.map(e => e.file);
|
|
58
|
+
}
|
|
59
|
+
/***************************************************************************
|
|
60
|
+
* *
|
|
61
|
+
* Private methods *
|
|
62
|
+
* *
|
|
63
|
+
**************************************************************************/
|
|
23
64
|
/**
|
|
24
65
|
* Returns a string which specifies the file's path relative to the directory selected by the user.
|
|
25
66
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
67
|
+
static buildRelativePath(relativeParent, file) {
|
|
68
|
+
if (relativeParent != null) {
|
|
69
|
+
return relativeParent + '/' + file.name;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
return file.name;
|
|
73
|
+
}
|
|
28
74
|
}
|
|
29
75
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1lbnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZXMvbGlzdGluZy9maWxlLWVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQTJEcEI7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ2tCLElBQVU7SUFDMUI7OztPQUdHO0lBQ2EsY0FBNkI7UUFMN0IsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUtWLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBRTdDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBeEVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBVTtRQUU3QixJQUFJLGNBQWMsR0FBVyxJQUFJLENBQUM7UUFFbEMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDL0MsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDbEUsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2xFO2lCQUFNO2dCQUNMLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7YUFDMUM7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FDM0IsSUFBSSxFQUNKLGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFVLEVBQUUsY0FBNkI7UUFDbEUsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsRCxjQUFjLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN6RTtRQUNELE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQW9CO1FBQzFDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQW9CO1FBQzVDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBOEJEOzs7O2dGQUk0RTtJQUU1RTs7T0FFRztJQUNLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxjQUFzQixFQUFFLElBQVU7UUFDakUsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFO1lBQzFCLE9BQU8sY0FBYyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3pDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgYSBmaWxlIGFuZCB0aGUgcmVsYXRpdmUgcGF0aCB3aGVyZSB0aGUgdXNlciBoYXMgc2VsZWN0ZWQgaXQuXG4gKiBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgdXNlciBoYXMgc2VsZWN0ZWQgYSBmb2xkZXIgYW5kIGZpbGVzXG4gKiBhcmUgbGlzdGVkIHJlY3Vyc2l2ZWx5LlxuICovXG5leHBvcnQgY2xhc3MgRmlsZUVudHJ5IHtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZpbGUgRW50cnkgd2l0aG91dCBhbiBleHBsaWNpdCByZWxhdGl2ZSBwYXJlbnQuXG4gICAqXG4gICAqIEhvd2V2ZXIsIGRlcGVuZGluZyBob3cgdGhlIGZpbGUgd2FzIHNlbGVjdGVkLCBzb21lIGJyb3dzZXJzXG4gICAqIGVuY29kZSB0aGUgcmVsYXRpdmUgcGFyZW50IHBhdGggaW4gdGhlIHByb3BlcnR5ICd3ZWJraXRSZWxhdGl2ZVBhdGgnXG4gICAqIHdoaWNoIGlzIGFsc28gc3VwcG9ydGVkIGJ5IHRoaXMgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZkZpbGUoZmlsZTogRmlsZSk6IEZpbGVFbnRyeSB7XG5cbiAgICBsZXQgcmVsYXRpdmVQYXJlbnQ6IHN0cmluZyA9IG51bGw7XG5cbiAgICBpZiAoZmlsZS53ZWJraXRSZWxhdGl2ZVBhdGgpIHtcbiAgICAgIGlmIChmaWxlLndlYmtpdFJlbGF0aXZlUGF0aC5lbmRzV2l0aChmaWxlLm5hbWUpKSB7XG4gICAgICAgIHZhciBuYW1lU3RhcnQgPSBmaWxlLndlYmtpdFJlbGF0aXZlUGF0aC5sZW5ndGggLSBmaWxlLm5hbWUubGVuZ3RoO1xuICAgICAgICByZWxhdGl2ZVBhcmVudCA9IGZpbGUud2Via2l0UmVsYXRpdmVQYXRoLnN1YnN0cmluZygwLCBuYW1lU3RhcnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVsYXRpdmVQYXJlbnQgPSBmaWxlLndlYmtpdFJlbGF0aXZlUGF0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRmlsZUVudHJ5LnJlbGF0aXZlRmlsZShcbiAgICAgIGZpbGUsXG4gICAgICByZWxhdGl2ZVBhcmVudFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZpbGUgRW50cnkgd2l0aCBhIHJlbGF0aXZlIHBhcmVudCBwYXRoXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlbGF0aXZlRmlsZShmaWxlOiBGaWxlLCByZWxhdGl2ZVBhcmVudDogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmIChyZWxhdGl2ZVBhcmVudCAmJiByZWxhdGl2ZVBhcmVudC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICByZWxhdGl2ZVBhcmVudCA9IHJlbGF0aXZlUGFyZW50LnN1YnN0cmluZygwLCByZWxhdGl2ZVBhcmVudC5sZW5ndGggLSAxKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBGaWxlRW50cnkoZmlsZSwgcmVsYXRpdmVQYXJlbnQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b0ZpbGVNYXAoZW50cmllczogRmlsZUVudHJ5W10pOiBNYXA8RmlsZSwgRmlsZUVudHJ5PiB7XG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxGaWxlLCBGaWxlRW50cnk+KCk7XG4gICAgZW50cmllcy5mb3JFYWNoKGUgPT4gbWFwLnNldChlLmZpbGUsIGUpKTtcbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b0ZpbGVBcnJheShlbnRyaWVzOiBGaWxlRW50cnlbXSk6IEZpbGVbXSB7XG4gICAgcmV0dXJuIGVudHJpZXMubWFwKGUgPT4gZS5maWxlKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHdoaWNoIHNwZWNpZmllcyB0aGUgZmlsZSdzIHBhdGggcmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSBzZWxlY3RlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZWxhdGl2ZVBhdGg6IHN0cmluZztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBmaWxlOiBGaWxlLFxuICAgIC8qKlxuICAgICAqIENvbnRhaW5zIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gdGhlIHNlbGVjdGVkIGZvbGRlclxuICAgICAqIHRvIHRoaXMgZmlsZS4gT25seSByZWxldmFudCBpZiB0aGUgdXNlciBoYXMgc2VsZWN0ZWQgYSBmb2xkZXIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbGF0aXZlUGFyZW50OiBzdHJpbmcgfCBudWxsXG4gICkge1xuICAgIHRoaXMucmVsYXRpdmVQYXRoID0gRmlsZUVudHJ5LmJ1aWxkUmVsYXRpdmVQYXRoKHJlbGF0aXZlUGFyZW50LCBmaWxlKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHdoaWNoIHNwZWNpZmllcyB0aGUgZmlsZSdzIHBhdGggcmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSBzZWxlY3RlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGJ1aWxkUmVsYXRpdmVQYXRoKHJlbGF0aXZlUGFyZW50OiBzdHJpbmcsIGZpbGU6IEZpbGUpOiBzdHJpbmcge1xuICAgIGlmIChyZWxhdGl2ZVBhcmVudCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcmVsYXRpdmVQYXJlbnQgKyAnLycgKyBmaWxlLm5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmaWxlLm5hbWU7XG4gICAgfVxuICB9XG59XG4iXX0=
|