@arsedizioni/ars-utils 18.1.42 → 18.1.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/ui.application/ui/components/file-preview/file-preview.component.mjs +37 -39
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +38 -40
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/package.json +7 -7
- package/ui.application/ui/components/file-preview/file-preview.component.d.ts +11 -8
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
2
|
-
import { Component,
|
|
1
|
+
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { Component, ChangeDetectionStrategy, inject, signal } from '@angular/core';
|
|
3
3
|
import { MAT_DIALOG_DATA, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';
|
|
4
|
-
import { fromEvent, takeUntil, Subject } from 'rxjs';
|
|
4
|
+
import { fromEvent, takeUntil, Subject, debounceTime } from 'rxjs';
|
|
5
5
|
import { SafeUrlPipe } from '@arsedizioni/ars-utils/core';
|
|
6
6
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
7
|
import { MatButtonModule } from '@angular/material/button';
|
|
8
8
|
import { FlexModule } from '@ngbracket/ngx-layout/flex';
|
|
9
9
|
import { ExtendedModule } from '@ngbracket/ngx-layout/extended';
|
|
10
10
|
import { NgStyle } from '@angular/common';
|
|
11
|
+
import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@
|
|
13
|
-
import * as i2 from "@
|
|
14
|
-
import * as i3 from "@
|
|
15
|
-
import * as i4 from "@
|
|
16
|
-
import * as i5 from "@angular/material/button";
|
|
17
|
-
import * as i6 from "@angular/material/tooltip";
|
|
13
|
+
import * as i1 from "@ngbracket/ngx-layout/extended";
|
|
14
|
+
import * as i2 from "@ngbracket/ngx-layout/flex";
|
|
15
|
+
import * as i3 from "@angular/material/button";
|
|
16
|
+
import * as i4 from "@angular/material/tooltip";
|
|
18
17
|
export class FilePreviewComponent {
|
|
19
|
-
constructor(
|
|
20
|
-
this.
|
|
21
|
-
this
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
constructor() {
|
|
19
|
+
this.unsubscribe = new Subject();
|
|
20
|
+
this.httpClient = inject(HttpClient);
|
|
21
|
+
this.dialogService = inject(DialogService);
|
|
22
|
+
this.dialogData = inject(MAT_DIALOG_DATA);
|
|
23
|
+
this.url = signal(null);
|
|
24
|
+
this.height = signal(0);
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
if (this.dialogData) {
|
|
28
|
+
if (this.dialogData.embed) {
|
|
29
|
+
this.httpClient.get(this.dialogData.url, {
|
|
30
|
+
headers: this.dialogData.authToken
|
|
31
|
+
? new HttpHeaders().set("Authorization", this.dialogData.authToken)
|
|
30
32
|
: new HttpHeaders(),
|
|
31
33
|
responseType: 'blob'
|
|
32
34
|
}).subscribe((res) => {
|
|
33
|
-
this.url
|
|
35
|
+
this.url.set(URL.createObjectURL(res));
|
|
34
36
|
});
|
|
35
37
|
}
|
|
36
38
|
else {
|
|
37
|
-
this.url
|
|
39
|
+
this.url.set('https://view.officeapps.live.com/op/embed.aspx?src=' + encodeURIComponent(this.dialogData.url));
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
|
-
}
|
|
41
|
-
ngOnInit() {
|
|
42
42
|
// React to window size change
|
|
43
43
|
fromEvent(window, 'resize')
|
|
44
|
-
.pipe(takeUntil(this.
|
|
44
|
+
.pipe(takeUntil(this.unsubscribe), debounceTime(500))
|
|
45
45
|
.subscribe(() => {
|
|
46
46
|
// Update view
|
|
47
47
|
this.updateView();
|
|
@@ -49,9 +49,9 @@ export class FilePreviewComponent {
|
|
|
49
49
|
this.adjustView();
|
|
50
50
|
}
|
|
51
51
|
ngOnDestroy() {
|
|
52
|
-
this.
|
|
53
|
-
this.
|
|
54
|
-
this.url
|
|
52
|
+
this.unsubscribe.next();
|
|
53
|
+
this.unsubscribe.complete();
|
|
54
|
+
this.url.set(null);
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Adjust view
|
|
@@ -69,19 +69,19 @@ export class FilePreviewComponent {
|
|
|
69
69
|
let a = window.innerHeight;
|
|
70
70
|
if (!a || a === 0)
|
|
71
71
|
this.adjustView();
|
|
72
|
-
this.height
|
|
72
|
+
this.height.set(a - 62);
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
75
|
* Download manually
|
|
76
76
|
*/
|
|
77
77
|
download() {
|
|
78
|
-
window.open(this.url, '_blank');
|
|
78
|
+
window.open(this.url(), '_blank');
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* Troubles with pdf?
|
|
82
82
|
*/
|
|
83
83
|
troubles() {
|
|
84
|
-
this
|
|
84
|
+
this.dialogService.info("<p>Se non riesci a visualizzare l'anteprima dei file PDF probabilmente devi abilitare un'impostazione del tuo browser.</p>" +
|
|
85
85
|
"<b>Per Google Chrome</b><br>" +
|
|
86
86
|
"<p class='small' style='padding-left:10px'><i>impostazioni > privacy e sicurezza > impostazioni sito > documenti PDF</i></p>" +
|
|
87
87
|
"<b>Per Microsoft Chrome</b><br>" +
|
|
@@ -91,14 +91,12 @@ export class FilePreviewComponent {
|
|
|
91
91
|
"<b>Altri browser</b><br>" +
|
|
92
92
|
"<p class='small' style='padding-left:10px'>Fate riferimento alla documentazione specifica del vostro browser.</p>", "Problemi con lee anteprime dei file PDF?");
|
|
93
93
|
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FilePreviewComponent, deps: [
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FilePreviewComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div mat-dialog-content
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FilePreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FilePreviewComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div mat-dialog-content class=\"filepreview\" [ngStyle]=\"{'max-height.px': height()}\">\r\n <div class=\"content\">\r\n @if (!url) {\r\n <div class=\"loading\" [ngStyle]=\"{'height.px': height() - 42}\">Caricamento in corso...</div>\r\n }\r\n @if (url) {\r\n <iframe class=\"iframe\" onload=\"scrollTo(0,0)\" [src]=\"url() | safeUrl\"\r\n [ngStyle]=\"{'height.px': height() - 8}\">\r\n </iframe>\r\n }\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\" fxLayoutAlign=\"start\">\r\n <button mat-button color=\"primary\" (click)=\"troubles()\"\r\n matTooltip=\"Fai click se non riesci a visualizzare l'anteprima dei file PDF\">Problemi con i PDF?</button>\r\n </div>\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\">\r\n <button mat-button color=\"primary\" (click)=\"download()\">Scarica</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">Chiudi</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".filepreview{padding:0}.filepreview .content{height:100%;width:100%;background-color:var(--ars-filepreview-content-background-color, aliceblue)}.filepreview .content .loading{padding:20px}.filepreview .content .iframe{width:100%;border:0;overflow:hidden}@media (prefers-color-scheme: dark){.filepreview .content{background-color:var(--ars-filepreview-content-background-color, aliceblue)}}\n"], dependencies: [{ kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ExtendedModule }, { kind: "directive", type: i1.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "pipe", type: SafeUrlPipe, name: "safeUrl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
96
96
|
}
|
|
97
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FilePreviewComponent, decorators: [{
|
|
98
98
|
type: Component,
|
|
99
|
-
args: [{ standalone: true, imports: [MatDialogContent, NgStyle, ExtendedModule, MatDialogActions, FlexModule, MatButtonModule, MatTooltipModule,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
args: [MAT_DIALOG_DATA]
|
|
103
|
-
}] }] });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9jb21wb25lbnRzL2ZpbGUtcHJldmlldy9maWxlLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uL3VpL2NvbXBvbmVudHMvZmlsZS1wcmV2aWV3L2ZpbGUtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0csT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBVTFDLE1BQU0sT0FBTyxvQkFBb0I7SUFRL0IsWUFDVSxJQUFnQixFQUNoQixPQUFzQixFQUNMLEtBQVU7UUFGM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBUnhCLFNBQUksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVsRCxRQUFHLEdBQVEsSUFBSSxDQUFDO1FBQ2hCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFPakIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNYLEtBQUssQ0FBQyxHQUFHLEVBQ1Q7b0JBQ0UsT0FBTyxFQUNMLEtBQUssQ0FBQyxTQUFTO3dCQUNmLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQzt3QkFDekQsQ0FBQyxDQUFDLElBQUksV0FBVyxFQUFFO29CQUNyQixZQUFZLEVBQUUsTUFBTTtpQkFDckIsQ0FDRixDQUFDLFNBQVMsQ0FDVCxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNYLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDckMsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxxREFBcUQsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkcsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLDhCQUE4QjtRQUM5QixTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQzthQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMxQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsY0FBYztZQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBR0QsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRUQ7O01BRUU7SUFDRixVQUFVO1FBQ1IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDM0IsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsNEhBQTRIO1lBQzVILDhCQUE4QjtZQUM5Qiw4SEFBOEg7WUFDOUgsaUNBQWlDO1lBQ2pDLG1IQUFtSDtZQUNuSCxnQ0FBZ0M7WUFDaEMsOEZBQThGO1lBQzlGLDBCQUEwQjtZQUMxQixtSEFBbUgsRUFDbkgsMENBQTBDLENBQzNDLENBQUE7SUFDSCxDQUFDOzhHQTdGVSxvQkFBb0IseUVBV3JCLGVBQWU7a0dBWGQsb0JBQW9CLHdFQ25CakMsMmtDQXNCTSwwRERMUSxnQkFBZ0IseUdBQUUsT0FBTywwRUFBRSxjQUFjLG1pQkFBRyxnQkFBZ0IsMkhBQUUsVUFBVSx1NkVBQUUsZUFBZSwyTkFBRSxnQkFBZ0IsNlRBQUUsY0FBYyxnTEFBRSxXQUFXOzsyRkFFekksb0JBQW9CO2tCQU5oQyxTQUFTO2lDQUdNLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUcsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDOzswQkFhbEosTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ0NvbnRlbnQsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCB0YWtlVW50aWwsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2FmZVVybFBpcGUgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvZmxleCc7XHJcbmltcG9ydCB7IEV4dGVuZGVkTW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2V4dGVuZGVkJztcclxuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW01hdERpYWxvZ0NvbnRlbnQsIE5nU3R5bGUsIEV4dGVuZGVkTW9kdWxlLCAgTWF0RGlhbG9nQWN0aW9ucywgRmxleE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBNYXREaWFsb2dDbG9zZSwgU2FmZVVybFBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgcHJpdmF0ZSBfX2QkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgdXJsOiBhbnkgPSBudWxsO1xyXG4gIGhlaWdodDogbnVtYmVyID0gMDtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSAkZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIF9kYXRhOiBhbnkpIHtcclxuICAgIGlmIChfZGF0YSAmJiBfZGF0YS51cmwpIHtcclxuICAgICAgaWYgKCFfZGF0YS5lbWJlZCkge1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgICAgICBfZGF0YS51cmwsICAgICAgICBcclxuICAgICAgICAgIHsgXHJcbiAgICAgICAgICAgIGhlYWRlcnM6XHJcbiAgICAgICAgICAgICAgX2RhdGEuYXV0aFRva2VuXHJcbiAgICAgICAgICAgICAgPyBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXCJBdXRob3JpemF0aW9uXCIsIF9kYXRhLmF1dGhUb2tlbilcclxuICAgICAgICAgICAgICA6IG5ldyBIdHRwSGVhZGVycygpLCAgXHJcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChyZXMpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnVybCA9ICdodHRwczovL3ZpZXcub2ZmaWNlYXBwcy5saXZlLmNvbS9vcC9lbWJlZC5hc3B4P3NyYz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KF9kYXRhLnVybCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLy8gUmVhY3QgdG8gd2luZG93IHNpemUgY2hhbmdlXHJcbiAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX19kJCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIC8vIFVwZGF0ZSB2aWV3XHJcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5hZGp1c3RWaWV3KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9fZCQubmV4dCgpO1xyXG4gICAgdGhpcy5fX2QkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLnVybCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEFkanVzdCB2aWV3XHJcbiAgKi9cclxuICBhZGp1c3RWaWV3KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB2aWV3XHJcbiAgICovXHJcbiAgdXBkYXRlVmlldygpIHtcclxuICAgIC8vIFVwZGF0ZSByb3V0ZXIgaGVpZ2h0XHJcbiAgICBsZXQgYSA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIGlmICghYSB8fCBhID09PSAwKSB0aGlzLmFkanVzdFZpZXcoKTtcclxuICAgIHRoaXMuaGVpZ2h0ID0gYSAtIDYyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG93bmxvYWQgbWFudWFsbHlcclxuICAgKi9cclxuICBkb3dubG9hZCgpIHtcclxuICAgIHdpbmRvdy5vcGVuKHRoaXMudXJsLCAnX2JsYW5rJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcm91YmxlcyB3aXRoIHBkZj9cclxuICAgKi9cclxuICB0cm91YmxlcygpIHtcclxuICAgIHRoaXMuJGRpYWxvZy5pbmZvKFxyXG4gICAgICBcIjxwPlNlIG5vbiByaWVzY2kgYSB2aXN1YWxpenphcmUgbCdhbnRlcHJpbWEgZGVpIGZpbGUgUERGIHByb2JhYmlsbWVudGUgZGV2aSBhYmlsaXRhcmUgdW4naW1wb3N0YXppb25lIGRlbCB0dW8gYnJvd3Nlci48L3A+XCIgKyBcclxuICAgICAgXCI8Yj5QZXIgR29vZ2xlIENocm9tZTwvYj48YnI+XCIgK1xyXG4gICAgICBcIjxwIGNsYXNzPSdzbWFsbCcgc3R5bGU9J3BhZGRpbmctbGVmdDoxMHB4Jz48aT5pbXBvc3RhemlvbmkgPiBwcml2YWN5IGUgc2ljdXJlenphID4gaW1wb3N0YXppb25pIHNpdG8gPiBkb2N1bWVudGkgUERGPC9pPjwvcD5cIiArXHJcbiAgICAgIFwiPGI+UGVyIE1pY3Jvc29mdCBDaHJvbWU8L2I+PGJyPlwiICtcclxuICAgICAgXCI8cCBjbGFzcz0nc21hbGwnIHN0eWxlPSdwYWRkaW5nLWxlZnQ6MTBweCc+PGk+aW1wb3N0YXppb25pID4gY29va2llIGUgYXV0b3Jpenphemlvbmkgc2l0byA+IGRvY3VtZW50aSBQREY8L2k+PC9wPlwiICtcclxuICAgICAgXCI8Yj5QZXIgTW96aWxsYSBGaXJlZm94PC9iPjxicj5cIiArXHJcbiAgICAgIFwiPHAgY2xhc3M9J3NtYWxsJyBzdHlsZT0ncGFkZGluZy1sZWZ0OjEwcHgnPjxpPmltcG9zdGF6aW9uaSA+IGdlbmVyYWxlID4gYXBwbGljYXppb25pPC9pPjwvcD5cIiArIFxyXG4gICAgICBcIjxiPkFsdHJpIGJyb3dzZXI8L2I+PGJyPlwiICtcclxuICAgICAgXCI8cCBjbGFzcz0nc21hbGwnIHN0eWxlPSdwYWRkaW5nLWxlZnQ6MTBweCc+RmF0ZSByaWZlcmltZW50byBhbGxhIGRvY3VtZW50YXppb25lIHNwZWNpZmljYSBkZWwgdm9zdHJvIGJyb3dzZXIuPC9wPlwiLFxyXG4gICAgICBcIlByb2JsZW1pIGNvbiBsZWUgYW50ZXByaW1lIGRlaSBmaWxlIFBERj9cIlxyXG4gICAgKVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4iLCI8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBzdHlsZT1cInBhZGRpbmc6MFwiIFtuZ1N0eWxlXT1cInsnbWF4LWhlaWdodC5weCc6IGhlaWdodH1cIj5cclxuICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OjEwMCU7IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOmFsaWNlYmx1ZVwiPlxyXG4gICAgQGlmICghdXJsKSB7XHJcbjxkaXYgc3R5bGU9XCJwYWRkaW5nOiAyMHB4XCIgW25nU3R5bGVdPVwieydoZWlnaHQucHgnOiBoZWlnaHQgLSA0Mn1cIj5DYXJpY2FtZW50byBpbiBjb3Jzby4uLjwvZGl2PlxyXG59XHJcbiAgICBAaWYgKHVybCkge1xyXG48aWZyYW1lIG9ubG9hZD1cInNjcm9sbFRvKDAsMClcIiBzdHlsZT1cIndpZHRoOjEwMCU7IGJvcmRlcjogMDsgb3ZlcmZsb3c6IGhpZGRlbjtcIiBbc3JjXT1cInVybCB8IHNhZmVVcmxcIlxyXG4gICAgICBbbmdTdHlsZV09XCJ7J2hlaWdodC5weCc6IGhlaWdodCAtIDh9XCI+XHJcbiAgICA8L2lmcmFtZT5cclxufVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4RmlsbD5cclxuICAgIDxkaXYgZnhGbGV4PVwiNTBcIiBmeExheW91dEFsaWduPVwic3RhcnRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJ0cm91YmxlcygpXCIgbWF0VG9vbHRpcD1cIkZhaSBjbGljayBzZSBub24gcmllc2NpIGEgdmlzdWFsaXp6YXJlIGwnYW50ZXByaW1hIGRlaSBmaWxlIFBERlwiPlBST0JMRU1JIENPTiBJIFBERj88L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBmeEZsZXg9XCI1MFwiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJkb3dubG9hZCgpXCI+U0NBUklDQTwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNvbG9yPVwicHJpbWFyeVwiPkNISVVESTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
99
|
+
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatDialogContent, NgStyle, ExtendedModule, MatDialogActions, FlexModule, MatButtonModule, MatTooltipModule,
|
|
100
|
+
MatDialogClose, SafeUrlPipe], template: "<div mat-dialog-content class=\"filepreview\" [ngStyle]=\"{'max-height.px': height()}\">\r\n <div class=\"content\">\r\n @if (!url) {\r\n <div class=\"loading\" [ngStyle]=\"{'height.px': height() - 42}\">Caricamento in corso...</div>\r\n }\r\n @if (url) {\r\n <iframe class=\"iframe\" onload=\"scrollTo(0,0)\" [src]=\"url() | safeUrl\"\r\n [ngStyle]=\"{'height.px': height() - 8}\">\r\n </iframe>\r\n }\r\n </div>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"50\" fxLayoutAlign=\"start\">\r\n <button mat-button color=\"primary\" (click)=\"troubles()\"\r\n matTooltip=\"Fai click se non riesci a visualizzare l'anteprima dei file PDF\">Problemi con i PDF?</button>\r\n </div>\r\n <div fxFlex=\"50\" fxLayoutAlign=\"end\">\r\n <button mat-button color=\"primary\" (click)=\"download()\">Scarica</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">Chiudi</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".filepreview{padding:0}.filepreview .content{height:100%;width:100%;background-color:var(--ars-filepreview-content-background-color, aliceblue)}.filepreview .content .loading{padding:20px}.filepreview .content .iframe{width:100%;border:0;overflow:hidden}@media (prefers-color-scheme: dark){.filepreview .content{background-color:var(--ars-filepreview-content-background-color, aliceblue)}}\n"] }]
|
|
101
|
+
}] });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9jb21wb25lbnRzL2ZpbGUtcHJldmlldy9maWxlLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uL3VpL2NvbXBvbmVudHMvZmlsZS1wcmV2aWV3L2ZpbGUtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQXFCLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7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LENBQ3JCLDRIQUE0SDtZQUM1SCw4QkFBOEI7WUFDOUIsOEhBQThIO1lBQzlILGlDQUFpQztZQUNqQyxtSEFBbUg7WUFDbkgsZ0NBQWdDO1lBQ2hDLDhGQUE4RjtZQUM5RiwwQkFBMEI7WUFDMUIsbUhBQW1ILEVBQ25ILDBDQUEwQyxDQUMzQyxDQUFBO0lBQ0gsQ0FBQzs4R0ExRlUsb0JBQW9CO2tHQUFwQixvQkFBb0Isd0VDM0JqQyw0aENBdUJNLGljRENRLGdCQUFnQix5R0FBRSxPQUFPLDBFQUFFLGNBQWMsbWlCQUFHLGdCQUFnQiwySEFBRSxVQUFVLHU2RUFBRSxlQUFlLDJOQUFFLGdCQUFnQiw2VEFDbkgsY0FBYyxnTEFBRSxXQUFXOzsyRkFFcEIsb0JBQW9CO2tCQVJoQyxTQUFTO2lDQUdNLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUcsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0I7d0JBQ25ILGNBQWMsRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIHRha2VVbnRpbCwgU3ViamVjdCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNhZmVVcmxQaXBlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2ZsZXgnO1xyXG5pbXBvcnQgeyBFeHRlbmRlZE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9leHRlbmRlZCc7XHJcbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVQcmV2aWV3RGlhbG9nRGF0YSB7XHJcbiAgdXJsPzogc3RyaW5nIHwgbnVsbDtcclxuICBlbWJlZD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGF1dGhUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbTWF0RGlhbG9nQ29udGVudCwgTmdTdHlsZSwgRXh0ZW5kZWRNb2R1bGUsICBNYXREaWFsb2dBY3Rpb25zLCBGbGV4TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIFxyXG4gICAgICBNYXREaWFsb2dDbG9zZSwgU2FmZVVybFBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xyXG4gIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChEaWFsb2dTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgZGlhbG9nRGF0YSA6IEZpbGVQcmV2aWV3RGlhbG9nRGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpOyAgXHJcbiAgcHJvdGVjdGVkIHVybCA9IHNpZ25hbChudWxsKTtcclxuICBwcm90ZWN0ZWQgaGVpZ2h0ID0gc2lnbmFsPG51bWJlcj4oMCk7XHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmRpYWxvZ0RhdGEpIHtcclxuICAgICAgaWYgKHRoaXMuZGlhbG9nRGF0YS5lbWJlZCkge1xyXG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQoXHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGEudXJsLCAgICAgICAgXHJcbiAgICAgICAgICB7IFxyXG4gICAgICAgICAgICBoZWFkZXJzOlxyXG4gICAgICAgICAgICAgIHRoaXMuZGlhbG9nRGF0YS5hdXRoVG9rZW5cclxuICAgICAgICAgICAgICA/IG5ldyBIdHRwSGVhZGVycygpLnNldChcIkF1dGhvcml6YXRpb25cIiwgdGhpcy5kaWFsb2dEYXRhLmF1dGhUb2tlbilcclxuICAgICAgICAgICAgICA6IG5ldyBIdHRwSGVhZGVycygpLCAgXHJcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXJsLnNldChVUkwuY3JlYXRlT2JqZWN0VVJMKHJlcykpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy51cmwuc2V0KCdodHRwczovL3ZpZXcub2ZmaWNlYXBwcy5saXZlLmNvbS9vcC9lbWJlZC5hc3B4P3NyYz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuZGlhbG9nRGF0YS51cmwpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlYWN0IHRvIHdpbmRvdyBzaXplIGNoYW5nZVxyXG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSwgZGVib3VuY2VUaW1lKDUwMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIC8vIFVwZGF0ZSB2aWV3XHJcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5hZGp1c3RWaWV3KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICAgIHRoaXMudXJsLnNldChudWxsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogQWRqdXN0IHZpZXdcclxuICAqL1xyXG4gIGFkanVzdFZpZXcoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHZpZXdcclxuICAgKi9cclxuICB1cGRhdGVWaWV3KCkge1xyXG4gICAgLy8gVXBkYXRlIHJvdXRlciBoZWlnaHRcclxuICAgIGxldCBhID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgaWYgKCFhIHx8IGEgPT09IDApIHRoaXMuYWRqdXN0VmlldygpO1xyXG4gICAgdGhpcy5oZWlnaHQuc2V0KGEgLSA2Mik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb3dubG9hZCBtYW51YWxseVxyXG4gICAqL1xyXG4gIGRvd25sb2FkKCkge1xyXG4gICAgd2luZG93Lm9wZW4odGhpcy51cmwoKSwgJ19ibGFuaycpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJvdWJsZXMgd2l0aCBwZGY/XHJcbiAgICovXHJcbiAgdHJvdWJsZXMoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuaW5mbyhcclxuICAgICAgXCI8cD5TZSBub24gcmllc2NpIGEgdmlzdWFsaXp6YXJlIGwnYW50ZXByaW1hIGRlaSBmaWxlIFBERiBwcm9iYWJpbG1lbnRlIGRldmkgYWJpbGl0YXJlIHVuJ2ltcG9zdGF6aW9uZSBkZWwgdHVvIGJyb3dzZXIuPC9wPlwiICsgXHJcbiAgICAgIFwiPGI+UGVyIEdvb2dsZSBDaHJvbWU8L2I+PGJyPlwiICtcclxuICAgICAgXCI8cCBjbGFzcz0nc21hbGwnIHN0eWxlPSdwYWRkaW5nLWxlZnQ6MTBweCc+PGk+aW1wb3N0YXppb25pID4gcHJpdmFjeSBlIHNpY3VyZXp6YSA+IGltcG9zdGF6aW9uaSBzaXRvID4gZG9jdW1lbnRpIFBERjwvaT48L3A+XCIgK1xyXG4gICAgICBcIjxiPlBlciBNaWNyb3NvZnQgQ2hyb21lPC9iPjxicj5cIiArXHJcbiAgICAgIFwiPHAgY2xhc3M9J3NtYWxsJyBzdHlsZT0ncGFkZGluZy1sZWZ0OjEwcHgnPjxpPmltcG9zdGF6aW9uaSA+IGNvb2tpZSBlIGF1dG9yaXp6YXppb25pIHNpdG8gPiBkb2N1bWVudGkgUERGPC9pPjwvcD5cIiArXHJcbiAgICAgIFwiPGI+UGVyIE1vemlsbGEgRmlyZWZveDwvYj48YnI+XCIgK1xyXG4gICAgICBcIjxwIGNsYXNzPSdzbWFsbCcgc3R5bGU9J3BhZGRpbmctbGVmdDoxMHB4Jz48aT5pbXBvc3RhemlvbmkgPiBnZW5lcmFsZSA+IGFwcGxpY2F6aW9uaTwvaT48L3A+XCIgKyBcclxuICAgICAgXCI8Yj5BbHRyaSBicm93c2VyPC9iPjxicj5cIiArXHJcbiAgICAgIFwiPHAgY2xhc3M9J3NtYWxsJyBzdHlsZT0ncGFkZGluZy1sZWZ0OjEwcHgnPkZhdGUgcmlmZXJpbWVudG8gYWxsYSBkb2N1bWVudGF6aW9uZSBzcGVjaWZpY2EgZGVsIHZvc3RybyBicm93c2VyLjwvcD5cIixcclxuICAgICAgXCJQcm9ibGVtaSBjb24gbGVlIGFudGVwcmltZSBkZWkgZmlsZSBQREY/XCJcclxuICAgIClcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuIiwiPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJmaWxlcHJldmlld1wiIFtuZ1N0eWxlXT1cInsnbWF4LWhlaWdodC5weCc6IGhlaWdodCgpfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICBAaWYgKCF1cmwpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nXCIgW25nU3R5bGVdPVwieydoZWlnaHQucHgnOiBoZWlnaHQoKSAtIDQyfVwiPkNhcmljYW1lbnRvIGluIGNvcnNvLi4uPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAaWYgKHVybCkge1xyXG4gICAgPGlmcmFtZSBjbGFzcz1cImlmcmFtZVwiIG9ubG9hZD1cInNjcm9sbFRvKDAsMClcIiAgW3NyY109XCJ1cmwoKSB8IHNhZmVVcmxcIlxyXG4gICAgICBbbmdTdHlsZV09XCJ7J2hlaWdodC5weCc6IGhlaWdodCgpIC0gOH1cIj5cclxuICAgIDwvaWZyYW1lPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4RmlsbD5cclxuICAgIDxkaXYgZnhGbGV4PVwiNTBcIiBmeExheW91dEFsaWduPVwic3RhcnRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJ0cm91YmxlcygpXCJcclxuICAgICAgICBtYXRUb29sdGlwPVwiRmFpIGNsaWNrIHNlIG5vbiByaWVzY2kgYSB2aXN1YWxpenphcmUgbCdhbnRlcHJpbWEgZGVpIGZpbGUgUERGXCI+UHJvYmxlbWkgY29uIGkgUERGPzwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIjUwXCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImRvd25sb2FkKClcIj5TY2FyaWNhPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgY29sb3I9XCJwcmltYXJ5XCI+Q2hpdWRpPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|