@sapphire-ion/framework 0.30.6 → 0.30.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/default/default-view/abstract-view.mjs +8 -4
- package/esm2022/lib/components/default/default-view/view.mjs +1 -1
- package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +6 -4
- package/fesm2022/sapphire-ion-framework.mjs +24 -19
- package/fesm2022/sapphire-ion-framework.mjs.map +1 -1
- package/lib/components/default/default-view/abstract-view.d.ts +2 -0
- package/lib/components/inputs/input-file/input-file.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
1
|
+
import { Component, ViewChild } from "@angular/core";
|
|
2
|
+
import { DefaultViewComponent } from "./default-view.component";
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
/** Componente padrão para a invocação do DefaultView */
|
|
4
5
|
export class AbstractView {
|
|
@@ -9,10 +10,13 @@ export class AbstractView {
|
|
|
9
10
|
return [{ provide: AbstractView, useExisting: component }];
|
|
10
11
|
}
|
|
11
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractView, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AbstractView, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AbstractView, selector: "ng-component", viewQueries: [{ propertyName: "DefaultView", first: true, predicate: (DefaultViewComponent), descendants: true }], ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
13
14
|
}
|
|
14
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractView, decorators: [{
|
|
15
16
|
type: Component,
|
|
16
17
|
args: [{ template: '' }]
|
|
17
|
-
}]
|
|
18
|
-
|
|
18
|
+
}], propDecorators: { DefaultView: [{
|
|
19
|
+
type: ViewChild,
|
|
20
|
+
args: [(DefaultViewComponent)]
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdmlldy9hYnN0cmFjdC12aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVoRSx3REFBd0Q7QUFFeEQsTUFBTSxPQUFnQixZQUFZO0lBT2hDLFFBQVE7UUFDTixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUdNLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUztRQUNqQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQzVELENBQUM7K0dBZG1CLFlBQVk7bUdBQVosWUFBWSxpR0FXckIsQ0FBQSxvQkFBeUIsQ0FBQSxnREFaZixFQUFFOzs0RkFDSCxZQUFZO2tCQURqQyxTQUFTOytCQUFhLEVBQUU7OEJBWXNCLFdBQVc7c0JBQXZELFNBQVM7dUJBQUMsQ0FBQSxvQkFBeUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2dlbmVyaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEZWZhdWx0Vmlld0NvbXBvbmVudCB9IGZyb20gXCIuL2RlZmF1bHQtdmlldy5jb21wb25lbnRcIjtcclxuXHJcbi8qKiBDb21wb25lbnRlIHBhZHLDo28gcGFyYSBhIGludm9jYcOnw6NvIGRvIERlZmF1bHRWaWV3ICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycsIHN0eWxlczogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VmlldzxUIGV4dGVuZHMgSHR0cFNlcnZpY2U+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgc2VydmljZSAgICAgICA6IFQ7XHJcbiAgcHVibGljIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZTtcclxuICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlO1xyXG4gIFxyXG4gIHB1YmxpYyBpZDogbnVtYmVyO1xyXG4gIFxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pZCA9IHRoaXMuZ2VuZXJpY1NlcnZpY2UuR2V0SWQodGhpcy5hY3RpdmF0ZWRSb3V0ZSwgMCk7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKERlZmF1bHRWaWV3Q29tcG9uZW50PGFueT4pIHB1YmxpYyBEZWZhdWx0VmlldzogRGVmYXVsdFZpZXdDb21wb25lbnQ8YW55PjtcclxuICBwdWJsaWMgc3RhdGljIEdldFByb3ZpZGVyKGNvbXBvbmVudCk6IGFueVtde1xyXG4gICAgcmV0dXJuIFt7IHByb3ZpZGU6IEFic3RyYWN0VmlldywgdXNlRXhpc3Rpbmc6IGNvbXBvbmVudCB9XVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -167,4 +167,4 @@ function instanceOfViewWillCreateForm(object) {
|
|
|
167
167
|
function instanceOfViewDidCreateForm(object) {
|
|
168
168
|
return 'OnViewDidCreateForm' in object;
|
|
169
169
|
}
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdmlldy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJakQsT0FBTyxFQUFFLGNBQWMsRUFBSSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUsxRSxNQUFNLE9BQWdCLElBQUk7SUFpQnhCO1FBaEJBLGlDQUFpQztRQUN4QixPQUFFLEdBQXlCLElBQUksQ0FBQztRQUNoQyxZQUFPLEdBQWMsS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFXMUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQVNsQzs7WUFFSTtRQUNLLG1CQUFjLEdBQWlCLEVBQUUsQ0FBQztRQUMzQixpQkFBWSxHQUFrQixXQUFXLENBQUE7UUFnRXpELHFEQUFxRDtRQUNyQyxnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBM0U3RSxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtR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b3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIHZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5pbXBvcnQgeyBIdHRwU2VydmljZSAgICAgIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3dlYi9odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2VBdGl2byB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy93ZWIvaHR0cC5hdGl2by5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlICAgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvZ2VuZXJpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJsZUZpZWxkRm9ybUJ1aWxkZXIgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGQtZm9ybS1idWlsZGVyXCI7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tIFwiQGlvbmljL2FuZ3VsYXJcIjtcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIGxhc3RWYWx1ZUZyb20gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBIZWFkZXJWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vaGVhZGVyLXZpZXcvaGVhZGVyLXZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGRcIjtcclxuaW1wb3J0IHsgUm91dGVEYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NsYXNzZXMvcm91dGVzL3JvdXRlLWRhdGFcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycsIHN0eWxlczogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZpZXc8VCBleHRlbmRzIEh0dHBTZXJ2aWNlIHwgSHR0cFNlcnZpY2VBdGl2bz4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBJZCBkbyBkYWRvIGEgc2VyIGNhcnJlZ2FkbyAqL1xyXG4gIEBJbnB1dCgpIGlkICAgICAgIDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgbG9hZGluZyAgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3VibWl0dGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqIFByb2dyZXNzbyBkZSBzYWx2YW1lbnRvICovXHJcbiAgQElucHV0KCkgcHJvZ3Jlc3MgOiBudW1iZXI7XHJcbiAgLyoqIFNlcnZpY2UgYSBzZXIgdXRsaXphZG8gbmEgdmlldyAqL1xyXG4gIEBJbnB1dCgpIHNlcnZpY2UgIDogVDtcclxuICBcclxuICBwcm90ZWN0ZWQgZ2VuZXJpY1NlcnZpY2U6IEdlbmVyaWNTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XHJcbiAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcbiAgcHJvdGVjdGVkIGZiOiBGb3JtQnVpbGRlcjtcclxuXHJcbiAgcHJvdGVjdGVkIG5lc3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcigpe1xyXG4gICAgdGhpcy5nZW5lcmljU2VydmljZSA9IGluamVjdChHZW5lcmljU2VydmljZSlcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpXHJcbiAgICB0aGlzLmVsZW1lbnRSZWYgICAgID0gaW5qZWN0KEVsZW1lbnRSZWYpXHJcbiAgICB0aGlzLmZiICAgICAgICAgICAgID0gaW5qZWN0KEZvcm1CdWlsZGVyKVxyXG4gIH1cclxuXHJcbiAgLyoqIExpc3RhIGRlIFRhYmxlRmllbGRzIGEgc2VyZW0gaW52b2NhZG9zIGRlIGFjb3JkbyBjb20gc3VhIGNvbmZpZ3VyYcOnw6NvLlxyXG4gICAqIEF1dG9tYXRpY2FtZW50ZSBwcmVlbmNoaWRvIGNvbSBzZXJ2aWNlLmxzdFRhYmxlRmllbGRzVmlldyBvdSBzZXJ2aWNlLmxzdFRhYmxlRmllbGRzIHF1YW5kbyBuw6NvIGluZm9ybWFkb1xyXG4gICAgKi9cclxuICBASW5wdXQoKSBsc3RUYWJsZUZpZWxkczogVGFibGVGaWVsZFtdID0gW107XHJcbiAgQElucHV0KCkgcHVibGljIHJlZGlyZWN0UGF0aDogc3RyaW5nIHwgbnVsbCA9IFwiL3ZpZXcvOmlkXCJcclxuICBcclxuICBcclxuICBAVmlld0NoaWxkKCcud3JhcHBlcicpIFdyYXBwZXI6IEhUTUxFbGVtZW50O1xyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgaWYodGhpcy5sc3RUYWJsZUZpZWxkcy5sZW5ndGggPT0gMCl7XHJcbiAgICAgIGlmKHRoaXMuc2VydmljZS5sc3RUYWJsZUZpZWxkc1ZpZXcubGVuZ3RoICE9IDApe1xyXG4gICAgICAgIHRoaXMubHN0VGFibGVGaWVsZHMgPSB0aGlzLnNlcnZpY2UubHN0VGFibGVGaWVsZHNWaWV3O1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmxzdFRhYmxlRmllbGRzID0gdGhpcy5zZXJ2aWNlLmxzdFRhYmxlRmllbGRzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5pZCA9PSBudWxsKXtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMuZ2VuZXJpY1NlcnZpY2UuR2V0SWQodGhpcy5hY3RpdmF0ZWRSb3V0ZSwgMCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKCF0aGlzLnNlcnZpY2UpeyBjb25zb2xlLndhcm4oXCJbIFZpZXcgc2VydmljZSBpcyBub3QgdmFsaWQhIF1cIik7IH1cclxuICAgIGlmIChpbnN0YW5jZU9mVmlld1dpbGxDcmVhdGVGb3JtKHRoaXMpKSB7IHRoaXMuT25WaWV3V2lsbENyZWF0ZUZvcm0oKSB9XHJcbiAgICBhd2FpdCB0aGlzLkNyZWF0ZUZvcm0oKTtcclxuICAgIGlmIChpbnN0YW5jZU9mVmlld0RpZENyZWF0ZUZvcm0odGhpcykpIHsgdGhpcy5PblZpZXdEaWRDcmVhdGVGb3JtKCkgfVxyXG4gIFxyXG4gICAgaWYodGhpcy5lbGVtZW50UmVmICYmIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICYmIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpe1xyXG4gICAgICB0aGlzLm5lc3RlZCA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnRhZ05hbWUgYXMgc3RyaW5nKS50b1VwcGVyQ2FzZSgpICE9IFwiSU9OLUNPTlRFTlRcIjtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm5lc3RlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5SZWZyZXNoKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBSZWZyZXNoKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRyeXtcclxuICAgICAgYXdhaXQgdGhpcy5Mb2FkKCk7XHJcbiAgICB9ZmluYWxseXsgfVxyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhc3luYyBMb2FkKCk6IFByb21pc2U8dm9pZD57XHJcbiAgICBpZih0aGlzLmlkID09IDApeyByZXR1cm47IH1cclxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5HZXQodGhpcy5pZCkpO1xyXG4gICAgdGhpcy5mcm0ucGF0Y2hWYWx1ZShyZXMpO1xyXG4gIH1cclxuXHJcbiAgZnJtOiBGb3JtR3JvdXA7XHJcbiAgYXN5bmMgQ3JlYXRlRm9ybSgpIHtcclxuICAgIHRoaXMuZnJtID0gVGFibGVGaWVsZEZvcm1CdWlsZGVyLmNyZWF0ZSh0aGlzLmxzdFRhYmxlRmllbGRzLCB0aGlzLmZiKTtcclxuICAgIGF3YWl0IHRoaXMuTG9hZElkQ29tcGFyaXNvbigpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgTG9hZElkQ29tcGFyaXNvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRyeXtcclxuICAgICAgY29uc3QgZGF0YTogUm91dGVEYXRhID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hY3RpdmF0ZWRSb3V0ZS5kYXRhKSBhcyBSb3V0ZURhdGE7XHJcbiAgICAgIGlmKCFkYXRhKXsgcmV0dXJuOyB9XHJcbiAgICAgIGNvbnN0IGlkICAgPSB0aGlzLmdlbmVyaWNTZXJ2aWNlLkdldElkKHRoaXMuYWN0aXZhdGVkUm91dGUsIGRhdGEuaWRQcmVsb2FkZXJDb25maWd1cmF0aW9uLnJvdXRlRGVwdGgpO1xyXG4gICAgICBcclxuICAgICAgaWYoIWlkKXsgcmV0dXJuOyB9XHJcblxyXG4gICAgICB0aGlzLmZybS5jb250cm9sc1tkYXRhLmlkUHJlbG9hZGVyQ29uZmlndXJhdGlvbi5wcm9wZXJ0eU5hbWVdLnNldFZhbHVlKGlkKTtcclxuICAgICAgdGhpcy5sc3RUYWJsZUZpZWxkcy5maW5kKHAgPT4gcC5pbmRleCA9PSBkYXRhLmlkUHJlbG9hZGVyQ29uZmlndXJhdGlvbi5wcm9wZXJ0eU5hbWUpLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1jYXRjaHsgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEVtaXRlIG8gaWQgZGEgZW50aWRhZGUgc2FsdmEgYXBvcyBvIHNhbHZhbWVudG8gKi9cclxuICBAT3V0cHV0KCdTYXZlJykgU2F2ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgYXN5bmMgU2F2ZSgpIHtcclxuICAgIGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLlNhdmUodGhpcy5mcm0sIHRoaXMpKTtcclxuICAgIHRoaXMuU2F2ZUVtaXR0ZXIuZW1pdCh0aGlzLmlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgQmFja1JvdXRlKCl7XHJcbiAgICBjb25zdCBmdWxsUm91dGUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKVxyXG5cclxuICAgIGNvbnN0IGxpID0gZnVsbFJvdXRlW2Z1bGxSb3V0ZS5sZW5ndGggLSAxXTtcclxuICAgIHZhciBvZmZzZXQgPSAxO1xyXG4gICAgaWYoTnVtYmVyKGxpKSl7IG9mZnNldCsrOyB9XHJcbiAgICBsZXQgcm91dGU6IHN0cmluZ1tdID0gW11cclxuICAgIGZvcihsZXQgaSA9IDA7IGkgPCBmdWxsUm91dGUubGVuZ3RoIC0gb2Zmc2V0OyBpKyspeyByb3V0ZS5wdXNoKGZ1bGxSb3V0ZVtpXSk7IH1cclxuICAgIHJldHVybiByb3V0ZS5qb2luKCcvJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0Q3VycmVudFJvdXRpbmcoKTogQWN0aXZhdGVkUm91dGUgeyByZXR1cm4gdGhpcy5hY3RpdmF0ZWRSb3V0ZTsgfVxyXG5cclxuICBwcm90ZWN0ZWQgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlcjtcclxuICBwcm90ZWN0ZWQgTmF2aWdhdGVUb0xpc3QoKTogdm9pZHsgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlQmFjayh0aGlzLkJhY2tSb3V0ZSk7IH1cclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoSGVhZGVyVmlld0NvbXBvbmVudCkgSGVhZGVyVmlld0NvbXBvbmVudEVsZW1lbnQ6IEhlYWRlclZpZXdDb21wb25lbnQ7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duJyxbJyRldmVudCddKVxyXG4gIG9uS2V5UHJlc3MoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZighKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHx8IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYoJGV2ZW50LmtleSA9PSAnRXNjYXBlJyl7XHJcbiAgICAgIHRoaXMuSGVhZGVyVmlld0NvbXBvbmVudEVsZW1lbnQuQmFjaygkZXZlbnQpO1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYoKCRldmVudC5jdHJsS2V5IHx8ICRldmVudC5tZXRhS2V5KSAmJiAoJGV2ZW50LmtleSA9PSAnRW50ZXInKSl7XHJcbiAgICAgIHRoaXMuU2F2ZSgpO1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYoJGV2ZW50LmFsdEtleSAmJiAkZXZlbnQua2V5ID09ICdJbnNlcnQnKXtcclxuICAgICAgdGhpcy5IZWFkZXJWaWV3Q29tcG9uZW50RWxlbWVudC5OZXcoKTtcclxuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmlld1dpbGxDcmVhdGVGb3Jte1xyXG4gIE9uVmlld1dpbGxDcmVhdGVGb3JtKCk6IHZvaWQgfCBhbnk7XHJcbn0gXHJcbmZ1bmN0aW9uIGluc3RhbmNlT2ZWaWV3V2lsbENyZWF0ZUZvcm0ob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgVmlld1dpbGxDcmVhdGVGb3JtIHtcclxuICByZXR1cm4gJ09uVmlld1dpbGxDcmVhdGVGb3JtJyBpbiBvYmplY3Q7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBWaWV3RGlkQ3JlYXRlRm9ybSB7XHJcbiAgT25WaWV3RGlkQ3JlYXRlRm9ybSgpOiB2b2lkIHwgYW55O1xyXG59IFxyXG5mdW5jdGlvbiBpbnN0YW5jZU9mVmlld0RpZENyZWF0ZUZvcm0ob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgVmlld0RpZENyZWF0ZUZvcm0ge1xyXG4gIHJldHVybiAnT25WaWV3RGlkQ3JlYXRlRm9ybScgaW4gb2JqZWN0O1xyXG59XHJcblxyXG4iXX0=
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdmlldy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJakQsT0FBTyxFQUFFLGNBQWMsRUFBSSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUsxRSxNQUFNLE9BQWdCLElBQUk7SUFpQnhCO1FBaEJBLGlDQUFpQztRQUN4QixPQUFFLEdBQXlCLElBQUksQ0FBQztRQUNoQyxZQUFPLEdBQWMsS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFXMUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQVNsQzs7WUFFSTtRQUNLLG1CQUFjLEdBQWlCLEVBQUUsQ0FBQztRQUMzQixpQkFBWSxHQUFrQixXQUFXLENBQUE7UUFnRXpELHFEQUFxRDtRQUNyQyxnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBM0U3RSxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtR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b3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIHZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5pbXBvcnQgeyBIdHRwU2VydmljZSAgICAgIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3dlYi9odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2VBdGl2byB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy93ZWIvaHR0cC5hdGl2by5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlICAgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvZ2VuZXJpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJsZUZpZWxkRm9ybUJ1aWxkZXIgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGQtZm9ybS1idWlsZGVyXCI7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tIFwiQGlvbmljL2FuZ3VsYXJcIjtcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIGxhc3RWYWx1ZUZyb20gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBIZWFkZXJWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vaGVhZGVyLXZpZXcvaGVhZGVyLXZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGRcIjtcclxuaW1wb3J0IHsgUm91dGVEYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NsYXNzZXMvcm91dGVzL3JvdXRlLWRhdGFcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycsIHN0eWxlczogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZpZXc8VCBleHRlbmRzIEh0dHBTZXJ2aWNlIHwgSHR0cFNlcnZpY2VBdGl2bz4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBJZCBkbyBkYWRvIGEgc2VyIGNhcnJlZ2FkbyAqL1xyXG4gIEBJbnB1dCgpIGlkICAgICAgIDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgbG9hZGluZyAgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3VibWl0dGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqIFByb2dyZXNzbyBkZSBzYWx2YW1lbnRvICovXHJcbiAgQElucHV0KCkgcHJvZ3Jlc3MgOiBudW1iZXI7XHJcbiAgLyoqIFNlcnZpY2UgYSBzZXIgdXRsaXphZG8gbmEgdmlldyAqL1xyXG4gIEBJbnB1dCgpIHNlcnZpY2UgIDogVDtcclxuICBcclxuICBwcm90ZWN0ZWQgZ2VuZXJpY1NlcnZpY2U6IEdlbmVyaWNTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XHJcbiAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcbiAgcHJvdGVjdGVkIGZiOiBGb3JtQnVpbGRlcjtcclxuXHJcbiAgcHJvdGVjdGVkIG5lc3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcigpe1xyXG4gICAgdGhpcy5nZW5lcmljU2VydmljZSA9IGluamVjdChHZW5lcmljU2VydmljZSlcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpXHJcbiAgICB0aGlzLmVsZW1lbnRSZWYgICAgID0gaW5qZWN0KEVsZW1lbnRSZWYpXHJcbiAgICB0aGlzLmZiICAgICAgICAgICAgID0gaW5qZWN0KEZvcm1CdWlsZGVyKVxyXG4gIH1cclxuXHJcbiAgLyoqIExpc3RhIGRlIFRhYmxlRmllbGRzIGEgc2VyZW0gaW52b2NhZG9zIGRlIGFjb3JkbyBjb20gc3VhIGNvbmZpZ3VyYcOnw6NvLlxyXG4gICAqIEF1dG9tYXRpY2FtZW50ZSBwcmVlbmNoaWRvIGNvbSBzZXJ2aWNlLmxzdFRhYmxlRmllbGRzVmlldyBvdSBzZXJ2aWNlLmxzdFRhYmxlRmllbGRzIHF1YW5kbyBuw6NvIGluZm9ybWFkb1xyXG4gICAgKi9cclxuICBASW5wdXQoKSBsc3RUYWJsZUZpZWxkczogVGFibGVGaWVsZFtdID0gW107XHJcbiAgQElucHV0KCkgcHVibGljIHJlZGlyZWN0UGF0aDogc3RyaW5nIHwgbnVsbCA9IFwiL3ZpZXcvOmlkXCJcclxuICBcclxuICBcclxuICBAVmlld0NoaWxkKCcud3JhcHBlcicpIFdyYXBwZXI6IEhUTUxFbGVtZW50O1xyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgaWYodGhpcy5sc3RUYWJsZUZpZWxkcy5sZW5ndGggPT0gMCl7XHJcbiAgICAgIGlmKHRoaXMuc2VydmljZS5sc3RUYWJsZUZpZWxkc1ZpZXcubGVuZ3RoICE9IDApe1xyXG4gICAgICAgIHRoaXMubHN0VGFibGVGaWVsZHMgPSB0aGlzLnNlcnZpY2UubHN0VGFibGVGaWVsZHNWaWV3O1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmxzdFRhYmxlRmllbGRzID0gdGhpcy5zZXJ2aWNlLmxzdFRhYmxlRmllbGRzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5pZCA9PSBudWxsKXtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMuZ2VuZXJpY1NlcnZpY2UuR2V0SWQodGhpcy5hY3RpdmF0ZWRSb3V0ZSwgMCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKCF0aGlzLnNlcnZpY2UpeyBjb25zb2xlLndhcm4oXCJbIFZpZXcgc2VydmljZSBpcyBub3QgdmFsaWQhIF1cIik7IH1cclxuICAgIGlmIChpbnN0YW5jZU9mVmlld1dpbGxDcmVhdGVGb3JtKHRoaXMpKSB7IHRoaXMuT25WaWV3V2lsbENyZWF0ZUZvcm0oKSB9XHJcbiAgICBhd2FpdCB0aGlzLkNyZWF0ZUZvcm0oKTtcclxuICAgIGlmIChpbnN0YW5jZU9mVmlld0RpZENyZWF0ZUZvcm0odGhpcykpIHsgdGhpcy5PblZpZXdEaWRDcmVhdGVGb3JtKCkgfVxyXG4gIFxyXG4gICAgaWYodGhpcy5lbGVtZW50UmVmICYmIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICYmIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpe1xyXG4gICAgICB0aGlzLm5lc3RlZCA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnRhZ05hbWUgYXMgc3RyaW5nKS50b1VwcGVyQ2FzZSgpICE9IFwiSU9OLUNPTlRFTlRcIjtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm5lc3RlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5SZWZyZXNoKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBSZWZyZXNoKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRyeXtcclxuICAgICAgYXdhaXQgdGhpcy5Mb2FkKCk7XHJcbiAgICB9ZmluYWxseXsgfVxyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhc3luYyBMb2FkKCk6IFByb21pc2U8dm9pZD57XHJcbiAgICBpZih0aGlzLmlkID09IDApeyByZXR1cm47IH1cclxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5HZXQodGhpcy5pZCkpO1xyXG4gICAgdGhpcy5mcm0ucGF0Y2hWYWx1ZShyZXMpO1xyXG4gIH1cclxuXHJcbiAgZnJtOiBGb3JtR3JvdXA7XHJcbiAgYXN5bmMgQ3JlYXRlRm9ybSgpIHtcclxuICAgIHRoaXMuZnJtID0gVGFibGVGaWVsZEZvcm1CdWlsZGVyLmNyZWF0ZSh0aGlzLmxzdFRhYmxlRmllbGRzLCB0aGlzLmZiKTtcclxuICAgIGF3YWl0IHRoaXMuTG9hZElkQ29tcGFyaXNvbigpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgTG9hZElkQ29tcGFyaXNvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRyeXtcclxuICAgICAgY29uc3QgZGF0YTogUm91dGVEYXRhID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hY3RpdmF0ZWRSb3V0ZS5kYXRhKSBhcyBSb3V0ZURhdGE7XHJcbiAgICAgIGlmKCFkYXRhKXsgcmV0dXJuOyB9XHJcbiAgICAgIGNvbnN0IGlkICAgPSB0aGlzLmdlbmVyaWNTZXJ2aWNlLkdldElkKHRoaXMuYWN0aXZhdGVkUm91dGUsIGRhdGEuaWRQcmVsb2FkZXJDb25maWd1cmF0aW9uLnJvdXRlRGVwdGgpO1xyXG4gICAgICBcclxuICAgICAgaWYoIWlkKXsgcmV0dXJuOyB9XHJcblxyXG4gICAgICB0aGlzLmZybS5jb250cm9sc1tkYXRhLmlkUHJlbG9hZGVyQ29uZmlndXJhdGlvbi5wcm9wZXJ0eU5hbWVdLnNldFZhbHVlKGlkKTtcclxuICAgICAgdGhpcy5sc3RUYWJsZUZpZWxkcy5maW5kKHAgPT4gcC5pbmRleCA9PSBkYXRhLmlkUHJlbG9hZGVyQ29uZmlndXJhdGlvbi5wcm9wZXJ0eU5hbWUpLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1jYXRjaHsgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEVtaXRlIG8gaWQgZGEgZW50aWRhZGUgc2FsdmEgYXBvcyBvIHNhbHZhbWVudG8gKi9cclxuICBAT3V0cHV0KCdTYXZlJykgU2F2ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgYXN5bmMgU2F2ZSgpIHtcclxuICAgIGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLlNhdmUodGhpcy5mcm0sIHRoaXMpKTtcclxuICAgIHRoaXMuU2F2ZUVtaXR0ZXIuZW1pdCh0aGlzLmlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgQmFja1JvdXRlKCl7XHJcbiAgICBjb25zdCBmdWxsUm91dGUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKVxyXG5cclxuICAgIGNvbnN0IGxpID0gZnVsbFJvdXRlW2Z1bGxSb3V0ZS5sZW5ndGggLSAxXTtcclxuICAgIHZhciBvZmZzZXQgPSAxO1xyXG4gICAgaWYoTnVtYmVyKGxpKSl7IG9mZnNldCsrOyB9XHJcbiAgICBsZXQgcm91dGU6IHN0cmluZ1tdID0gW11cclxuICAgIGZvcihsZXQgaSA9IDA7IGkgPCBmdWxsUm91dGUubGVuZ3RoIC0gb2Zmc2V0OyBpKyspeyByb3V0ZS5wdXNoKGZ1bGxSb3V0ZVtpXSk7IH1cclxuICAgIHJldHVybiByb3V0ZS5qb2luKCcvJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0Q3VycmVudFJvdXRpbmcoKTogQWN0aXZhdGVkUm91dGUgeyByZXR1cm4gdGhpcy5hY3RpdmF0ZWRSb3V0ZTsgfVxyXG5cclxuICBwcm90ZWN0ZWQgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlcjtcclxuICBwcm90ZWN0ZWQgTmF2aWdhdGVUb0xpc3QoKTogdm9pZHsgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlQmFjayh0aGlzLkJhY2tSb3V0ZSk7IH1cclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoSGVhZGVyVmlld0NvbXBvbmVudCkgSGVhZGVyVmlld0NvbXBvbmVudEVsZW1lbnQ6IEhlYWRlclZpZXdDb21wb25lbnQ7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duJyxbJyRldmVudCddKVxyXG4gIG9uS2V5UHJlc3MoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZighKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHx8IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYoJGV2ZW50LmtleSA9PSAnRXNjYXBlJyl7XHJcbiAgICAgIHRoaXMuSGVhZGVyVmlld0NvbXBvbmVudEVsZW1lbnQuQmFjaygkZXZlbnQpO1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYoKCRldmVudC5jdHJsS2V5IHx8ICRldmVudC5tZXRhS2V5KSAmJiAoJGV2ZW50LmtleSA9PSAnRW50ZXInKSl7XHJcbiAgICAgIHRoaXMuU2F2ZSgpO1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYoJGV2ZW50LmFsdEtleSAmJiAkZXZlbnQua2V5ID09ICdJbnNlcnQnKXtcclxuICAgICAgdGhpcy5IZWFkZXJWaWV3Q29tcG9uZW50RWxlbWVudC5OZXcoKTtcclxuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmlld1dpbGxDcmVhdGVGb3Jte1xyXG4gIE9uVmlld1dpbGxDcmVhdGVGb3JtKCk6IHZvaWQgfCBhbnk7XHJcbn0gXHJcbmZ1bmN0aW9uIGluc3RhbmNlT2ZWaWV3V2lsbENyZWF0ZUZvcm0ob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgVmlld1dpbGxDcmVhdGVGb3JtIHtcclxuICByZXR1cm4gJ09uVmlld1dpbGxDcmVhdGVGb3JtJyBpbiBvYmplY3Q7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBWaWV3RGlkQ3JlYXRlRm9ybSB7XHJcbiAgT25WaWV3RGlkQ3JlYXRlRm9ybSgpOiB2b2lkIHwgYW55O1xyXG59IFxyXG5mdW5jdGlvbiBpbnN0YW5jZU9mVmlld0RpZENyZWF0ZUZvcm0ob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgVmlld0RpZENyZWF0ZUZvcm0ge1xyXG4gIHJldHVybiAnT25WaWV3RGlkQ3JlYXRlRm9ybScgaW4gb2JqZWN0O1xyXG59XHJcblxyXG4iXX0=
|
|
@@ -80,7 +80,9 @@ export class InputFileComponent extends CustomInput {
|
|
|
80
80
|
try {
|
|
81
81
|
return imageTypes.includes(v.split('.')[v.split('.').length - 1]);
|
|
82
82
|
}
|
|
83
|
-
catch {
|
|
83
|
+
catch {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
84
86
|
}
|
|
85
87
|
get src() {
|
|
86
88
|
return this.apiUrl + this._model;
|
|
@@ -99,11 +101,11 @@ export class InputFileComponent extends CustomInput {
|
|
|
99
101
|
return this.lstLoading.indexOf(path) != -1;
|
|
100
102
|
}
|
|
101
103
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputFileComponent, deps: [{ token: i1.ControlContainer, host: true, optional: true, skipSelf: true }, { token: i0.ElementRef }, { token: i2.UtilsService }, { token: i3.ApiUrlProviderService }, { token: i4.StorageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputFileComponent, selector: "input-file", inputs: { configuration: "configuration" }, providers: InputProviderFactory.GetProvider(InputFileComponent), usesInheritance: true, ngImport: i0, template: "<div class=\"flex relative overflow-hidden\">\r\n <ion-card [disabled]=\"loading || disabled\"\r\n class=\"!border-r-0 !rounded-r-none focus-within:on-focus ion-card-input\"\r\n [ngClass]=\"{\r\n 'invalid' : invalid,\r\n 'submitted': submitted,\r\n 'disabled': disabled,\r\n }\"\r\n >\r\n <ion-card-content>\r\n <ion-item lines=\"none\">\r\n <ion-input [readonly]=\"true\" class=\"!opacity-100\" labelPlacement=\"stacked\" [(ngModel)]=\"model\">\r\n <ion-text id=\"label\" [ngClass]=\"{'required': required}\" slot=\"label\"> {{label}} </ion-text>\r\n </ion-input>\r\n </ion-item>\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\">\r\n <ion-button [id]=\"guid\" [disabled]=\"!(lstFiles.length > 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': lstFiles.length > 1 }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-12 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button [id]=\"guid + 'image'\" [disabled]=\"!(_model && lstFiles.length == 1 && PopoverImg)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 && PopoverImg }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"image\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button (click)=\"Download(_model.toString())\" [disabled]=\"!(_model && lstFiles.length == 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 }\" \r\n size=\"small\" fill=\"outline\"\r\n >\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n @if (model) {\r\n <ion-progress-bar *ngVar=\"storageService.GetProgress(_model.toString()) as val\" [value]=\"val\" class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'!h-0': !val}\"></ion-progress-bar>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n <div class=\"w-12\"> \r\n <ion-button (click)=\"Upload()\" class=\"m-0 h-full w-full rou on-hover rounded-r-2xl\" [disabled]=\"loading || disabled\" style=\"--border-width: 1px 1px 2px 1px; --border-radius: 0rem 1rem 1rem 0rem;\" size=\"small\" color=\"secondary\" fill=\"outline\"> \r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n <input-loading [loading]=\"loading\"></input-loading>\r\n\r\n</div>\r\n\r\n@if (PopoverImg) {\r\n <ion-popover [trigger]=\"guid + 'image'\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <image [src]=\"src\"></image> \r\n </ng-template>\r\n </ion-popover>\r\n}\r\n@if(configuration.multiple){\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles; track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n @if(isLoading){\r\n <loading [loading]=\"isLoading\"></loading>\r\n }\r\n <image [hidden]=\"isLoading\" [src]=\"apiUrl + item\"></image>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}\r\n", styles: ["ion-popover{--width: 30rem }\n", ".on-hover{background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%)}.on-hover:hover{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input{margin:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px;min-height:58px;max-height:58px;height:58px}ion-card.ion-card-input:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card.ion-card-input.disabled{background-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%)!important}ion-card.ion-card-input ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent}ion-text#label.required:after{content:\"*\";color:var(--ion-color-danger);vertical-align:text-bottom;font-size:small}ion-text#label:not(.required):after{content:var(--input-opcional-label, \"(Opcional)\");color:var(--ion-color-medium);vertical-align:text-bottom;font-size:small}.on-focus{border-bottom-color:var(--ion-color-primary)}.focus-within\\:on-focus:focus-within{border-bottom-color:var(--ion-color-primary)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i6.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i6.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i6.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i6.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i6.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i6.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i6.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i6.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i6.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i6.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i6.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i6.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgVarDirective, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i8.LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: i9.ImageComponent, selector: "image", inputs: ["fill", "object", "src"] }, { kind: "component", type: i10.InputLoadingComponent, selector: "input-loading", inputs: ["loading"] }, { kind: "pipe", type: i5.DecimalPipe, name: "number" }] }); }
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputFileComponent, selector: "input-file", inputs: { configuration: "configuration" }, providers: InputProviderFactory.GetProvider(InputFileComponent), usesInheritance: true, ngImport: i0, template: "<div class=\"flex relative overflow-hidden\">\r\n <ion-card [disabled]=\"loading || disabled\"\r\n class=\"!border-r-0 !rounded-r-none focus-within:on-focus ion-card-input\"\r\n [ngClass]=\"{\r\n 'invalid' : invalid,\r\n 'submitted': submitted,\r\n 'disabled': disabled,\r\n }\"\r\n >\r\n <ion-card-content>\r\n <ion-item lines=\"none\">\r\n <ion-input [readonly]=\"true\" class=\"!opacity-100\" labelPlacement=\"stacked\" [(ngModel)]=\"model\">\r\n <ion-text id=\"label\" [ngClass]=\"{'required': required}\" slot=\"label\"> {{label}} </ion-text>\r\n </ion-input>\r\n </ion-item>\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\">\r\n <ion-button [id]=\"guid\" [disabled]=\"!(lstFiles.length > 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': lstFiles.length > 1 }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-12 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button [id]=\"guid + 'image'\" [disabled]=\"!(_model && lstFiles.length == 1 && PopoverImg)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 && PopoverImg }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"image\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button (click)=\"Download(_model.toString())\" [disabled]=\"!(_model && lstFiles.length == 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 }\" \r\n size=\"small\" fill=\"outline\"\r\n >\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n @if (model) {\r\n <ion-progress-bar *ngVar=\"storageService.GetProgress(_model.toString()) as val\" [value]=\"val\" class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'!h-0': !val}\"></ion-progress-bar>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n <div class=\"w-12\"> \r\n <ion-button (click)=\"Upload()\" class=\"m-0 h-full w-full rou on-hover rounded-r-2xl\" [disabled]=\"loading || disabled\" style=\"--border-width: 1px 1px 2px 1px; --border-radius: 0rem 1rem 1rem 0rem;\" size=\"small\" color=\"secondary\" fill=\"outline\"> \r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n <input-loading [loading]=\"loading\"></input-loading>\r\n\r\n</div>\r\n\r\n@if (PopoverImg && ExtensionIsImage(src)) {\r\n <ion-popover [trigger]=\"guid + 'image'\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <image [src]=\"src\"></image> \r\n </ng-template>\r\n </ion-popover>\r\n}\r\n@if(configuration.multiple){\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles; track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n @if(isLoading){\r\n <loading [loading]=\"isLoading\"></loading>\r\n }\r\n <image [hidden]=\"isLoading\" [src]=\"apiUrl + item\"></image>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}\r\n", styles: ["ion-popover{--width: 30rem }\n", ".on-hover{background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%)}.on-hover:hover{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input{margin:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px;min-height:58px;max-height:58px;height:58px}ion-card.ion-card-input:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card.ion-card-input.disabled{background-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%)!important}ion-card.ion-card-input ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent}ion-text#label.required:after{content:\"*\";color:var(--ion-color-danger);vertical-align:text-bottom;font-size:small}ion-text#label:not(.required):after{content:var(--input-opcional-label, \"(Opcional)\");color:var(--ion-color-medium);vertical-align:text-bottom;font-size:small}.on-focus{border-bottom-color:var(--ion-color-primary)}.focus-within\\:on-focus:focus-within{border-bottom-color:var(--ion-color-primary)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i6.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i6.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i6.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i6.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i6.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i6.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i6.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i6.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i6.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i6.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i6.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i6.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgVarDirective, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i8.LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: i9.ImageComponent, selector: "image", inputs: ["fill", "object", "src"] }, { kind: "component", type: i10.InputLoadingComponent, selector: "input-loading", inputs: ["loading"] }, { kind: "pipe", type: i5.DecimalPipe, name: "number" }] }); }
|
|
103
105
|
}
|
|
104
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputFileComponent, decorators: [{
|
|
105
107
|
type: Component,
|
|
106
|
-
args: [{ selector: 'input-file', providers: InputProviderFactory.GetProvider(InputFileComponent), template: "<div class=\"flex relative overflow-hidden\">\r\n <ion-card [disabled]=\"loading || disabled\"\r\n class=\"!border-r-0 !rounded-r-none focus-within:on-focus ion-card-input\"\r\n [ngClass]=\"{\r\n 'invalid' : invalid,\r\n 'submitted': submitted,\r\n 'disabled': disabled,\r\n }\"\r\n >\r\n <ion-card-content>\r\n <ion-item lines=\"none\">\r\n <ion-input [readonly]=\"true\" class=\"!opacity-100\" labelPlacement=\"stacked\" [(ngModel)]=\"model\">\r\n <ion-text id=\"label\" [ngClass]=\"{'required': required}\" slot=\"label\"> {{label}} </ion-text>\r\n </ion-input>\r\n </ion-item>\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\">\r\n <ion-button [id]=\"guid\" [disabled]=\"!(lstFiles.length > 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': lstFiles.length > 1 }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-12 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button [id]=\"guid + 'image'\" [disabled]=\"!(_model && lstFiles.length == 1 && PopoverImg)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 && PopoverImg }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"image\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button (click)=\"Download(_model.toString())\" [disabled]=\"!(_model && lstFiles.length == 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 }\" \r\n size=\"small\" fill=\"outline\"\r\n >\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n @if (model) {\r\n <ion-progress-bar *ngVar=\"storageService.GetProgress(_model.toString()) as val\" [value]=\"val\" class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'!h-0': !val}\"></ion-progress-bar>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n <div class=\"w-12\"> \r\n <ion-button (click)=\"Upload()\" class=\"m-0 h-full w-full rou on-hover rounded-r-2xl\" [disabled]=\"loading || disabled\" style=\"--border-width: 1px 1px 2px 1px; --border-radius: 0rem 1rem 1rem 0rem;\" size=\"small\" color=\"secondary\" fill=\"outline\"> \r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n <input-loading [loading]=\"loading\"></input-loading>\r\n\r\n</div>\r\n\r\n@if (PopoverImg) {\r\n <ion-popover [trigger]=\"guid + 'image'\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <image [src]=\"src\"></image> \r\n </ng-template>\r\n </ion-popover>\r\n}\r\n@if(configuration.multiple){\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles; track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n @if(isLoading){\r\n <loading [loading]=\"isLoading\"></loading>\r\n }\r\n <image [hidden]=\"isLoading\" [src]=\"apiUrl + item\"></image>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}\r\n", styles: ["ion-popover{--width: 30rem }\n", ".on-hover{background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%)}.on-hover:hover{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input{margin:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px;min-height:58px;max-height:58px;height:58px}ion-card.ion-card-input:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card.ion-card-input.disabled{background-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%)!important}ion-card.ion-card-input ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent}ion-text#label.required:after{content:\"*\";color:var(--ion-color-danger);vertical-align:text-bottom;font-size:small}ion-text#label:not(.required):after{content:var(--input-opcional-label, \"(Opcional)\");color:var(--ion-color-medium);vertical-align:text-bottom;font-size:small}.on-focus{border-bottom-color:var(--ion-color-primary)}.focus-within\\:on-focus:focus-within{border-bottom-color:var(--ion-color-primary)}\n"] }]
|
|
108
|
+
args: [{ selector: 'input-file', providers: InputProviderFactory.GetProvider(InputFileComponent), template: "<div class=\"flex relative overflow-hidden\">\r\n <ion-card [disabled]=\"loading || disabled\"\r\n class=\"!border-r-0 !rounded-r-none focus-within:on-focus ion-card-input\"\r\n [ngClass]=\"{\r\n 'invalid' : invalid,\r\n 'submitted': submitted,\r\n 'disabled': disabled,\r\n }\"\r\n >\r\n <ion-card-content>\r\n <ion-item lines=\"none\">\r\n <ion-input [readonly]=\"true\" class=\"!opacity-100\" labelPlacement=\"stacked\" [(ngModel)]=\"model\">\r\n <ion-text id=\"label\" [ngClass]=\"{'required': required}\" slot=\"label\"> {{label}} </ion-text>\r\n </ion-input>\r\n </ion-item>\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\">\r\n <ion-button [id]=\"guid\" [disabled]=\"!(lstFiles.length > 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': lstFiles.length > 1 }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-12 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button [id]=\"guid + 'image'\" [disabled]=\"!(_model && lstFiles.length == 1 && PopoverImg)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 && PopoverImg }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"image\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button (click)=\"Download(_model.toString())\" [disabled]=\"!(_model && lstFiles.length == 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 }\" \r\n size=\"small\" fill=\"outline\"\r\n >\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n @if (model) {\r\n <ion-progress-bar *ngVar=\"storageService.GetProgress(_model.toString()) as val\" [value]=\"val\" class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'!h-0': !val}\"></ion-progress-bar>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n <div class=\"w-12\"> \r\n <ion-button (click)=\"Upload()\" class=\"m-0 h-full w-full rou on-hover rounded-r-2xl\" [disabled]=\"loading || disabled\" style=\"--border-width: 1px 1px 2px 1px; --border-radius: 0rem 1rem 1rem 0rem;\" size=\"small\" color=\"secondary\" fill=\"outline\"> \r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n <input-loading [loading]=\"loading\"></input-loading>\r\n\r\n</div>\r\n\r\n@if (PopoverImg && ExtensionIsImage(src)) {\r\n <ion-popover [trigger]=\"guid + 'image'\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <image [src]=\"src\"></image> \r\n </ng-template>\r\n </ion-popover>\r\n}\r\n@if(configuration.multiple){\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles; track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n @if(isLoading){\r\n <loading [loading]=\"isLoading\"></loading>\r\n }\r\n <image [hidden]=\"isLoading\" [src]=\"apiUrl + item\"></image>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}\r\n", styles: ["ion-popover{--width: 30rem }\n", ".on-hover{background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%)}.on-hover:hover{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input{margin:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px;min-height:58px;max-height:58px;height:58px}ion-card.ion-card-input:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card.ion-card-input.disabled{background-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%)!important}ion-card.ion-card-input ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent}ion-text#label.required:after{content:\"*\";color:var(--ion-color-danger);vertical-align:text-bottom;font-size:small}ion-text#label:not(.required):after{content:var(--input-opcional-label, \"(Opcional)\");color:var(--ion-color-medium);vertical-align:text-bottom;font-size:small}.on-focus{border-bottom-color:var(--ion-color-primary)}.focus-within\\:on-focus:focus-within{border-bottom-color:var(--ion-color-primary)}\n"] }]
|
|
107
109
|
}], ctorParameters: () => [{ type: i1.ControlContainer, decorators: [{
|
|
108
110
|
type: Optional
|
|
109
111
|
}, {
|
|
@@ -126,4 +128,4 @@ export const imageTypes = [
|
|
|
126
128
|
'tif',
|
|
127
129
|
'tiff',
|
|
128
130
|
];
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRdkUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQTRCO0lBSWxFLFlBRVcsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3ZCLFlBQTBCLEVBQzFCLHFCQUE0QyxFQUM3QyxjQUE4QjtRQUNuQyxLQUFLLEVBQUUsQ0FBQTtRQUxBLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiwwQkFBcUIs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QUFrQixpRkFGbEIsb0JBQW9CLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLGlEQ2RqRSxrM0tBcUdBOzs0RkRyRmEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLFlBQVksYUFHWCxvQkFBb0IsQ0FBQyxXQUFXLG9CQUFvQjs7MEJBTzVELFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLFFBQVE7OEpBSHRCLGFBQWE7c0JBQXJCLEtBQUs7O0FBdUZSLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBYTtJQUNsQyxLQUFLO0lBQ0wsS0FBSztJQUNMLE1BQU07SUFDTixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtDQUNQLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3QsIElucHV0LCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IElucHV0RmlsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2lucHV0LWZpbGUuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dlYi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbnB1dFByb3ZpZGVyRmFjdG9yeSB9IGZyb20gJy4uL2lucHV0LXByb3ZpZGVyLWZhY3RvcnknO1xyXG5pbXBvcnQgeyBVdGlscywgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0IH0gZnJvbSAnLi4vY3VzdG9tLWlucHV0JztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy93ZWIvc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW5wdXQtZmlsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWZpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LWZpbGUuY29tcG9uZW50LnNjc3MnLCAnLi4vaW5wdXRzLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IElucHV0UHJvdmlkZXJGYWN0b3J5LkdldFByb3ZpZGVyKElucHV0RmlsZUNvbXBvbmVudClcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RmlsZUNvbXBvbmVudCBleHRlbmRzIEN1c3RvbUlucHV0PEZpbGVbXSB8IHN0cmluZz4ge1xyXG5cclxuICBASW5wdXQoKSBjb25maWd1cmF0aW9uOiBJbnB1dEZpbGVDb25maWd1cmF0aW9uID0gbmV3IElucHV0RmlsZUNvbmZpZ3VyYXRpb24oKVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKClcclxuICAgIG92ZXJyaWRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXHJcbiAgICBvdmVycmlkZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpVXJsUHJvdmlkZXJTZXJ2aWNlOiBBcGlVcmxQcm92aWRlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlXHJcbiAgKSB7IHN1cGVyKCkgfVxyXG5cclxuICBndWlkOiBzdHJpbmc7XHJcbiAgYXBpVXJsOiBzdHJpbmc7XHJcblxyXG4gIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuYXBpVXJsID0gdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsO1xyXG4gICAgdGhpcy5ndWlkID0gYCR7dGhpcy5mb3JtQ29udHJvbE5hbWV9JHt0aGlzLmlkfSR7VXRpbHMuR2VuZXJhdGVHVUlEKCl9JHt0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCl9YFxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogRmlsZVtdIHwgc3RyaW5nKTogdm9pZCB7IHRoaXMuc2V0TW9kZWwodmFsdWUpOyB9XHJcbiAgXHJcbiAgb3ZlcnJpZGUgZ2V0IG1vZGVsKCl7XHJcbiAgICBpZighdGhpcy5fbW9kZWwpeyByZXR1cm4gXCJcIjsgfVxyXG4gICAgXHJcbiAgICBpZih0eXBlb2YodGhpcy5fbW9kZWwpID09IFwic3RyaW5nXCIpIHsgXHJcbiAgICAgIGNvbnN0IHQgPSB0aGlzLl9tb2RlbC5zcGxpdCgnOycpLmxlbmd0aDtcclxuICAgICAgcmV0dXJuIHQgPT0gMSA/IFN0b3JhZ2VTZXJ2aWNlLlNhbml0aXplRmlsZU5hbWUodGhpcy5fbW9kZWwpIDogYCR7dH0gQXJxdWl2b3MgQXJtYXplbmFkb3NgOyBcclxuICAgIH0gZWxzZSB7IFxyXG4gICAgICBpZih0aGlzLl9tb2RlbC5sZW5ndGggPiAxKXsgcmV0dXJuIGAke3RoaXMuX21vZGVsLmxlbmd0aH0gQXJxdWl2b3MgU2VsZWNpb25hZG9zYCB9XHJcbiAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fbW9kZWxbMF0ubmFtZSB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBvdmVycmlkZSBzZXQgbW9kZWwodmFsdWU6IEZpbGVbXSB8IHN0cmluZykgeyBcclxuICAgIHRoaXMuc2V0TW9kZWwodmFsdWUpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fbW9kZWwpOyBcclxuICB9XHJcbiAgc2V0TW9kZWwodmFsdWU6IEZpbGVbXSB8IHN0cmluZykgeyBcclxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XHJcbiAgICBcclxuICAgIGlmKHR5cGVvZih0aGlzLl9tb2RlbCkgPT0gXCJzdHJpbmdcIil7XHJcbiAgICAgIHRoaXMubHN0RmlsZXMgPSB0aGlzLl9tb2RlbC5zcGxpdCgnOycpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMubHN0RmlsZXMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxzdEZpbGVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBVcGxvYWQoKTogdm9pZHtcclxuICAgIHRoaXMudXRpbHNTZXJ2aWNlLlNlbGVjdEZpbGUodGhpcy5jb25maWd1cmF0aW9uKS50aGVuKChyZXMpID0+IHsgaWYocmVzKXsgdGhpcy5tb2RlbCA9IHJlczsgfSB9KTtcclxuICB9XHJcbiAgRG93bmxvYWQodmFsdWU6IHN0cmluZyk6IHZvaWR7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLlN0YXJ0RG93bmxvYWQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgUG9wb3ZlckltZygpe1xyXG4gICAgcmV0dXJuICF0aGlzLmNvbmZpZ3VyYXRpb24ubXVsdGlwbGUgJiYgdHlwZW9mKHRoaXMuX21vZGVsKSA9PSBcInN0cmluZ1wiICYmIHRoaXMuRXh0ZW5zaW9uSXNJbWFnZSh0aGlzLl9tb2RlbCk7XHJcbiAgfVxyXG4gIEV4dGVuc2lvbklzSW1hZ2Uodil7XHJcbiAgICB0cnl7XHJcbiAgICAgIHJldHVybiBpbWFnZVR5cGVzLmluY2x1ZGVzKHYuc3BsaXQoJy4nKVt2LnNwbGl0KCcuJykubGVuZ3RoIC0gMV0pXHJcbiAgICB9Y2F0Y2h7fVxyXG4gIH1cclxuXHJcbiAgZ2V0IHNyYygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpVXJsICsgdGhpcy5fbW9kZWxcclxuICB9XHJcbiAgZ2V0IGlzQ2xvdWQoKXtcclxuICAgIHJldHVybiB0eXBlb2YodGhpcy5fbW9kZWwpID09IFwic3RyaW5nXCJcclxuICB9XHJcblxyXG4gIFNhbml0aXplKHYpOiBzdHJpbmcgeyByZXR1cm4gU3RvcmFnZVNlcnZpY2UuU2FuaXRpemVGaWxlTmFtZSh2KTsgfVxyXG5cclxuICBsc3RMb2FkaW5nOiBzdHJpbmdbXSA9IFtdO1xyXG4gIFNldExvYWRpbmcocGF0aDogc3RyaW5nKXtcclxuICAgIHRoaXMubHN0TG9hZGluZy5wdXNoKHBhdGgpO1xyXG4gIH1cclxuICBTZXROb3RMb2FkaW5nKHBhdGg6IHN0cmluZyl7XHJcbiAgICB0aGlzLmxzdExvYWRpbmcuc3BsaWNlKHRoaXMubHN0TG9hZGluZy5pbmRleE9mKHBhdGgpLCAxKTtcclxuICB9XHJcbiAgaXNMb2FkaW5nKHBhdGg6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy5sc3RMb2FkaW5nLmluZGV4T2YocGF0aCkgIT0gLTE7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaW1hZ2VUeXBlczogc3RyaW5nW10gPSBbXHJcbiAgJ2pwZScsXHJcbiAgJ2pwZycsXHJcbiAgJ2pwZWcnLFxyXG4gICdnaWYnLFxyXG4gICdwbmcnLFxyXG4gICdibXAnLFxyXG4gICdpY28nLFxyXG4gICdzdmcnLFxyXG4gICdzdmd6JyxcclxuICAndGlmJyxcclxuICAndGlmZicsXHJcbl0gIiwiPGRpdiBjbGFzcz1cImZsZXggcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgPGlvbi1jYXJkIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVkXCJcclxuICAgIGNsYXNzPVwiIWJvcmRlci1yLTAgIXJvdW5kZWQtci1ub25lIGZvY3VzLXdpdGhpbjpvbi1mb2N1cyBpb24tY2FyZC1pbnB1dFwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdpbnZhbGlkJyAgOiBpbnZhbGlkLFxyXG4gICAgICAnc3VibWl0dGVkJzogc3VibWl0dGVkLFxyXG4gICAgICAnZGlzYWJsZWQnOiBkaXNhYmxlZCxcclxuICAgIH1cIlxyXG4gID5cclxuICAgIDxpb24tY2FyZC1jb250ZW50PlxyXG4gICAgICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCI+XHJcbiAgICAgICAgPGlvbi1pbnB1dCBbcmVhZG9ubHldPVwidHJ1ZVwiIGNsYXNzPVwiIW9wYWNpdHktMTAwXCIgbGFiZWxQbGFjZW1lbnQ9XCJzdGFja2VkXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiPlxyXG4gICAgICAgICAgPGlvbi10ZXh0IGlkPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7J3JlcXVpcmVkJzogcmVxdWlyZWR9XCIgc2xvdD1cImxhYmVsXCI+IHt7bGFiZWx9fSA8L2lvbi10ZXh0PlxyXG4gICAgICAgIDwvaW9uLWlucHV0PlxyXG4gICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBoLWZ1bGwgcmlnaHQtMiB0b3AtMCB6LTUwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBbaWRdPVwiZ3VpZFwiICBbZGlzYWJsZWRdPVwiIShsc3RGaWxlcy5sZW5ndGggPiAxKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNwZWN0LXNxdWFyZSBkZWZhdWx0LXRyYW5zaXRpb24gb3BhY2l0eS0wIHRyYW5zbGF0ZS14LTEyXCIgXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS0xMDAgIXRyYW5zbGF0ZS14LTAgc2l6ZS04JzogIGxzdEZpbGVzLmxlbmd0aCA+IDEgfVwiIFxyXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwibWVkaXVtXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJlbGxpcHNpcy12ZXJ0aWNhbFwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgaC1mdWxsIHJpZ2h0LTEyIHRvcC0wIHotNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIiBbbmdDbGFzc109XCJ7JyF6LTAnOiAhKF9tb2RlbCAmJiBsc3RGaWxlcy5sZW5ndGggPT0gMSAmJiBQb3BvdmVySW1nKX1cIiA+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBbaWRdPVwiZ3VpZCArICdpbWFnZSdcIiBbZGlzYWJsZWRdPVwiIShfbW9kZWwgJiYgbHN0RmlsZXMubGVuZ3RoID09IDEgJiYgUG9wb3ZlckltZylcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFzcGVjdC1zcXVhcmUgZGVmYXVsdC10cmFuc2l0aW9uIG9wYWNpdHktMCB0cmFuc2xhdGUteC0xMlwiIFxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J29wYWNpdHktMTAwICF0cmFuc2xhdGUteC0wIHNpemUtOCc6IF9tb2RlbCAmJiBsc3RGaWxlcy5sZW5ndGggPT0gMSAmJiBQb3BvdmVySW1nIH1cIiBcclxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cIm1lZGl1bVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiaW1hZ2VcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIGgtZnVsbCByaWdodC0yIHRvcC0wIHotNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIiBbbmdDbGFzc109XCJ7JyF6LTAnOiAhKF9tb2RlbCAmJiBsc3RGaWxlcy5sZW5ndGggPT0gMSAmJiBQb3BvdmVySW1nKX1cIiA+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiRG93bmxvYWQoX21vZGVsLnRvU3RyaW5nKCkpXCIgW2Rpc2FibGVkXT1cIiEoX21vZGVsICYmIGxzdEZpbGVzLmxlbmd0aCA9PSAxKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNwZWN0LXNxdWFyZSBkZWZhdWx0LXRyYW5zaXRpb24gb3BhY2l0eS0wIHRyYW5zbGF0ZS14LTEyXCIgXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS0xMDAgIXRyYW5zbGF0ZS14LTAgc2l6ZS04JzogX21vZGVsICYmIGxzdEZpbGVzLmxlbmd0aCA9PSAxIH1cIiBcclxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3VkLWRvd25sb2FkXCIgc2xvdD1cImljb24tb25seVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIEBpZiAobW9kZWwpIHtcclxuICAgICAgICAgIDxpb24tcHJvZ3Jlc3MtYmFyICpuZ1Zhcj1cInN0b3JhZ2VTZXJ2aWNlLkdldFByb2dyZXNzKF9tb2RlbC50b1N0cmluZygpKSBhcyB2YWxcIiBbdmFsdWVdPVwidmFsXCIgY2xhc3M9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgdy1mdWxsIGgtMSBkZWZhdWx0LXRyYW5zaXRpb25cIiBbbmdDbGFzc109XCJ7JyFoLTAnOiAhdmFsfVwiPjwvaW9uLXByb2dyZXNzLWJhcj5cclxuICAgICAgICB9XHJcbiAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9pb24tY2FyZD5cclxuICA8ZGl2IGNsYXNzPVwidy0xMlwiPiBcclxuICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJVcGxvYWQoKVwiIGNsYXNzPVwibS0wIGgtZnVsbCB3LWZ1bGwgcm91IG9uLWhvdmVyIHJvdW5kZWQtci0yeGxcIiAgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgZGlzYWJsZWRcIiAgc3R5bGU9XCItLWJvcmRlci13aWR0aDogMXB4IDFweCAycHggMXB4OyAtLWJvcmRlci1yYWRpdXM6IDByZW0gMXJlbSAxcmVtIDByZW07XCIgc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBmaWxsPVwib3V0bGluZVwiPiBcclxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvdWQtdXBsb2FkXCI+PC9pb24taWNvbj4gXHJcbiAgICA8L2lvbi1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGlucHV0LWxvYWRpbmcgW2xvYWRpbmddPVwibG9hZGluZ1wiPjwvaW5wdXQtbG9hZGluZz5cclxuXHJcbjwvZGl2PlxyXG5cclxuQGlmIChQb3BvdmVySW1nKSB7XHJcbiAgPGlvbi1wb3BvdmVyIFt0cmlnZ2VyXT1cImd1aWQgKyAnaW1hZ2UnXCIgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiIHRyaWdnZXJBY3Rpb249XCJjbGlja1wiPlxyXG4gICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICA8aW1hZ2UgW3NyY109XCJzcmNcIj48L2ltYWdlPiAgICAgIFxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2lvbi1wb3BvdmVyPlxyXG59XHJcbkBpZihjb25maWd1cmF0aW9uLm11bHRpcGxlKXtcclxuICA8aW9uLXBvcG92ZXIgW3RyaWdnZXJdPVwiZ3VpZFwiIFtrZWVwQ29udGVudHNNb3VudGVkXT1cInRydWVcIiB0cmlnZ2VyQWN0aW9uPVwiY2xpY2tcIj5cclxuICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgPGlvbi1jb250ZW50IGNsYXNzPVwicC0wIGJnLXRyYW5zcGFyZW50XCI+XHJcbiAgICAgICAgPGlvbi1saXN0PlxyXG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBsc3RGaWxlczsgdHJhY2sgaXRlbTsgbGV0IGkgPSAkaW5kZXg7IGxldCBsID0gJGxhc3QpIHtcclxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nVmFyPVwic3RvcmFnZVNlcnZpY2UuR2V0UHJvZ3Jlc3MoaXRlbSkgYXMgdmFsXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1pdGVtIHN0eWxlPVwiLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudFwiIGxpbmVzPVwie3tsID8gJ25vbmUnIDogJ2Z1bGwnfX1cIiBidXR0b24gW2RldGFpbF09XCJmYWxzZVwiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiZG93bmxvYWRcIiAoY2xpY2spPVwiRG93bmxvYWQoaXRlbSlcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPiBcclxuICAgICAgICAgICAgICAgIEBpZiAoRXh0ZW5zaW9uSXNJbWFnZShpdGVtKSkge1xyXG4gICAgICAgICAgICAgICAgICA8aW9uLWljb24gW2lkXT1cImd1aWQgKyAnLScgKyBpICsgJy1uZXN0ZWQtcG9wb3ZlcidcIiBuYW1lPVwiaW1hZ2VcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPiBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPnt7U2FuaXRpemUoaXRlbSl9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlvbi10ZXh0ICpuZ0lmPVwidmFsICE9IDBcIiBzbG90PVwiZW5kXCIgY2xhc3M9XCJ0ZXh0LXNtXCI+PGI+e3t2YWwgKiAxMDAgfCBudW1iZXIgOiAnMS4yLTInfX0lPC9iPjwvaW9uLXRleHQ+XHJcbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cclxuICAgICAgICAgICAgICA8aW9uLXByb2dyZXNzLWJhciBjbGFzcz1cImgtMCBkZWZhdWx0LXRyYW5zaXRpb25cIiBbbmdDbGFzc109XCJ7J2gtMSc6IHZhbCAhPSAwIH1cIiBbdmFsdWVdPVwidmFsXCI+PC9pb24tcHJvZ3Jlc3MtYmFyPlxyXG4gICAgICAgICAgICAgIDxpb24tcG9wb3ZlciAqbmdJZj1cIkV4dGVuc2lvbklzSW1hZ2UoaXRlbSlcIiBzaWRlPVwiZW5kXCIgYWxpZ25tZW50PVwiY2VudGVyXCIgW3RyaWdnZXJdPVwiZ3VpZCArICctJyArIGkgKyAnLW5lc3RlZC1wb3BvdmVyJ1wiIFtkaXNtaXNzT25TZWxlY3RdPVwidHJ1ZVwiIHRyaWdnZXJBY3Rpb249XCJjbGlja1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbnRlbnQgKm5nVmFyPVwiaXNMb2FkaW5nKGl0ZW0pIGFzIGlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihpc0xvYWRpbmcpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgPGxvYWRpbmcgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCI+PC9sb2FkaW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA8aW1hZ2UgW2hpZGRlbl09XCJpc0xvYWRpbmdcIiBbc3JjXT1cImFwaVVybCArIGl0ZW1cIj48L2ltYWdlPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L2lvbi1wb3BvdmVyPlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2lvbi1saXN0PlxyXG4gICAgICA8L2lvbi1jb250ZW50PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2lvbi1wb3BvdmVyPlxyXG59XHJcbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRdkUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQTRCO0lBSWxFLFlBRVcsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3ZCLFlBQTBCLEVBQzFCLHFCQUE0QyxFQUM3QyxjQUE4QjtRQUNuQyxLQUFLLEVBQUUsQ0FBQTtRQUxBLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiwwQkFBcUIs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eEZVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGlGQUZsQixvQkFBb0IsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsaURDZGpFLDI0S0FxR0E7OzRGRHJGYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYLG9CQUFvQixDQUFDLFdBQVcsb0JBQW9COzswQkFPNUQsUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksUUFBUTs4SkFIdEIsYUFBYTtzQkFBckIsS0FBSzs7QUF5RlIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFhO0lBQ2xDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLEtBQUs7SUFDTCxNQUFNO0NBQ1AsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdCwgSW5wdXQsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgSW5wdXRGaWxlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vaW5wdXQtZmlsZS5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgQXBpVXJsUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2ViL2FwaS11cmwtcHJvdmlkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IElucHV0UHJvdmlkZXJGYWN0b3J5IH0gZnJvbSAnLi4vaW5wdXQtcHJvdmlkZXItZmFjdG9yeSc7XHJcbmltcG9ydCB7IFV0aWxzLCBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tSW5wdXQgfSBmcm9tICcuLi9jdXN0b20taW5wdXQnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dlYi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbnB1dC1maWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZmlsZS5jb21wb25lbnQuc2NzcycsICcuLi9pbnB1dHMuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogSW5wdXRQcm92aWRlckZhY3RvcnkuR2V0UHJvdmlkZXIoSW5wdXRGaWxlQ29tcG9uZW50KVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRGaWxlQ29tcG9uZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXQ8RmlsZVtdIHwgc3RyaW5nPiB7XHJcblxyXG4gIEBJbnB1dCgpIGNvbmZpZ3VyYXRpb246IElucHV0RmlsZUNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRGaWxlQ29uZmlndXJhdGlvbigpXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKVxyXG4gICAgb3ZlcnJpZGUgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcclxuICAgIG92ZXJyaWRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcclxuICApIHsgc3VwZXIoKSB9XHJcblxyXG4gIGd1aWQ6IHN0cmluZztcclxuICBhcGlVcmw6IHN0cmluZztcclxuXHJcbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5hcGlVcmwgPSB0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmw7XHJcbiAgICB0aGlzLmd1aWQgPSBgJHt0aGlzLmZvcm1Db250cm9sTmFtZX0ke3RoaXMuaWR9JHtVdGlscy5HZW5lcmF0ZUdVSUQoKX0ke3RoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKX1gXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBGaWxlW10gfCBzdHJpbmcpOiB2b2lkIHsgdGhpcy5zZXRNb2RlbCh2YWx1ZSk7IH1cclxuICBcclxuICBvdmVycmlkZSBnZXQgbW9kZWwoKXtcclxuICAgIGlmKCF0aGlzLl9tb2RlbCl7IHJldHVybiBcIlwiOyB9XHJcbiAgICBcclxuICAgIGlmKHR5cGVvZih0aGlzLl9tb2RlbCkgPT0gXCJzdHJpbmdcIikgeyBcclxuICAgICAgY29uc3QgdCA9IHRoaXMuX21vZGVsLnNwbGl0KCc7JykubGVuZ3RoO1xyXG4gICAgICByZXR1cm4gdCA9PSAxID8gU3RvcmFnZVNlcnZpY2UuU2FuaXRpemVGaWxlTmFtZSh0aGlzLl9tb2RlbCkgOiBgJHt0fSBBcnF1aXZvcyBBcm1hemVuYWRvc2A7IFxyXG4gICAgfSBlbHNlIHsgXHJcbiAgICAgIGlmKHRoaXMuX21vZGVsLmxlbmd0aCA+IDEpeyByZXR1cm4gYCR7dGhpcy5fbW9kZWwubGVuZ3RofSBBcnF1aXZvcyBTZWxlY2lvbmFkb3NgIH1cclxuICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9tb2RlbFswXS5uYW1lIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIG92ZXJyaWRlIHNldCBtb2RlbCh2YWx1ZTogRmlsZVtdIHwgc3RyaW5nKSB7IFxyXG4gICAgdGhpcy5zZXRNb2RlbCh2YWx1ZSk7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl9tb2RlbCk7IFxyXG4gIH1cclxuICBzZXRNb2RlbCh2YWx1ZTogRmlsZVtdIHwgc3RyaW5nKSB7IFxyXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcclxuICAgIFxyXG4gICAgaWYodHlwZW9mKHRoaXMuX21vZGVsKSA9PSBcInN0cmluZ1wiKXtcclxuICAgICAgdGhpcy5sc3RGaWxlcyA9IHRoaXMuX21vZGVsLnNwbGl0KCc7Jyk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5sc3RGaWxlcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbHN0RmlsZXM6IGFueVtdID0gW107XHJcblxyXG4gIFVwbG9hZCgpOiB2b2lke1xyXG4gICAgdGhpcy51dGlsc1NlcnZpY2UuU2VsZWN0RmlsZSh0aGlzLmNvbmZpZ3VyYXRpb24pLnRoZW4oKHJlcykgPT4geyBpZihyZXMpeyB0aGlzLm1vZGVsID0gcmVzOyB9IH0pO1xyXG4gIH1cclxuICBEb3dubG9hZCh2YWx1ZTogc3RyaW5nKTogdm9pZHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuU3RhcnREb3dubG9hZCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBQb3BvdmVySW1nKCl7XHJcbiAgICByZXR1cm4gIXRoaXMuY29uZmlndXJhdGlvbi5tdWx0aXBsZSAmJiB0eXBlb2YodGhpcy5fbW9kZWwpID09IFwic3RyaW5nXCIgJiYgdGhpcy5FeHRlbnNpb25Jc0ltYWdlKHRoaXMuX21vZGVsKTtcclxuICB9XHJcbiAgRXh0ZW5zaW9uSXNJbWFnZSh2OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHRyeXtcclxuICAgICAgcmV0dXJuIGltYWdlVHlwZXMuaW5jbHVkZXModi5zcGxpdCgnLicpW3Yuc3BsaXQoJy4nKS5sZW5ndGggLSAxXSlcclxuICAgIH1jYXRjaHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHNyYygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpVXJsICsgdGhpcy5fbW9kZWxcclxuICB9XHJcbiAgZ2V0IGlzQ2xvdWQoKXtcclxuICAgIHJldHVybiB0eXBlb2YodGhpcy5fbW9kZWwpID09IFwic3RyaW5nXCJcclxuICB9XHJcblxyXG4gIFNhbml0aXplKHYpOiBzdHJpbmcgeyByZXR1cm4gU3RvcmFnZVNlcnZpY2UuU2FuaXRpemVGaWxlTmFtZSh2KTsgfVxyXG5cclxuICBsc3RMb2FkaW5nOiBzdHJpbmdbXSA9IFtdO1xyXG4gIFNldExvYWRpbmcocGF0aDogc3RyaW5nKXtcclxuICAgIHRoaXMubHN0TG9hZGluZy5wdXNoKHBhdGgpO1xyXG4gIH1cclxuICBTZXROb3RMb2FkaW5nKHBhdGg6IHN0cmluZyl7XHJcbiAgICB0aGlzLmxzdExvYWRpbmcuc3BsaWNlKHRoaXMubHN0TG9hZGluZy5pbmRleE9mKHBhdGgpLCAxKTtcclxuICB9XHJcbiAgaXNMb2FkaW5nKHBhdGg6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy5sc3RMb2FkaW5nLmluZGV4T2YocGF0aCkgIT0gLTE7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaW1hZ2VUeXBlczogc3RyaW5nW10gPSBbXHJcbiAgJ2pwZScsXHJcbiAgJ2pwZycsXHJcbiAgJ2pwZWcnLFxyXG4gICdnaWYnLFxyXG4gICdwbmcnLFxyXG4gICdibXAnLFxyXG4gICdpY28nLFxyXG4gICdzdmcnLFxyXG4gICdzdmd6JyxcclxuICAndGlmJyxcclxuICAndGlmZicsXHJcbl0gIiwiPGRpdiBjbGFzcz1cImZsZXggcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgPGlvbi1jYXJkIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVkXCJcclxuICAgIGNsYXNzPVwiIWJvcmRlci1yLTAgIXJvdW5kZWQtci1ub25lIGZvY3VzLXdpdGhpbjpvbi1mb2N1cyBpb24tY2FyZC1pbnB1dFwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdpbnZhbGlkJyAgOiBpbnZhbGlkLFxyXG4gICAgICAnc3VibWl0dGVkJzogc3VibWl0dGVkLFxyXG4gICAgICAnZGlzYWJsZWQnOiBkaXNhYmxlZCxcclxuICAgIH1cIlxyXG4gID5cclxuICAgIDxpb24tY2FyZC1jb250ZW50PlxyXG4gICAgICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCI+XHJcbiAgICAgICAgPGlvbi1pbnB1dCBbcmVhZG9ubHldPVwidHJ1ZVwiIGNsYXNzPVwiIW9wYWNpdHktMTAwXCIgbGFiZWxQbGFjZW1lbnQ9XCJzdGFja2VkXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiPlxyXG4gICAgICAgICAgPGlvbi10ZXh0IGlkPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7J3JlcXVpcmVkJzogcmVxdWlyZWR9XCIgc2xvdD1cImxhYmVsXCI+IHt7bGFiZWx9fSA8L2lvbi10ZXh0PlxyXG4gICAgICAgIDwvaW9uLWlucHV0PlxyXG4gICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBoLWZ1bGwgcmlnaHQtMiB0b3AtMCB6LTUwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBbaWRdPVwiZ3VpZFwiICBbZGlzYWJsZWRdPVwiIShsc3RGaWxlcy5sZW5ndGggPiAxKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNwZWN0LXNxdWFyZSBkZWZhdWx0LXRyYW5zaXRpb24gb3BhY2l0eS0wIHRyYW5zbGF0ZS14LTEyXCIgXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS0xMDAgIXRyYW5zbGF0ZS14LTAgc2l6ZS04JzogIGxzdEZpbGVzLmxlbmd0aCA+IDEgfVwiIFxyXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwibWVkaXVtXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJlbGxpcHNpcy12ZXJ0aWNhbFwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgaC1mdWxsIHJpZ2h0LTEyIHRvcC0wIHotNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIiBbbmdDbGFzc109XCJ7JyF6LTAnOiAhKF9tb2RlbCAmJiBsc3RGaWxlcy5sZW5ndGggPT0gMSAmJiBQb3BvdmVySW1nKX1cIiA+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBbaWRdPVwiZ3VpZCArICdpbWFnZSdcIiBbZGlzYWJsZWRdPVwiIShfbW9kZWwgJiYgbHN0RmlsZXMubGVuZ3RoID09IDEgJiYgUG9wb3ZlckltZylcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFzcGVjdC1zcXVhcmUgZGVmYXVsdC10cmFuc2l0aW9uIG9wYWNpdHktMCB0cmFuc2xhdGUteC0xMlwiIFxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J29wYWNpdHktMTAwICF0cmFuc2xhdGUteC0wIHNpemUtOCc6IF9tb2RlbCAmJiBsc3RGaWxlcy5sZW5ndGggPT0gMSAmJiBQb3BvdmVySW1nIH1cIiBcclxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cIm1lZGl1bVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiaW1hZ2VcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIGgtZnVsbCByaWdodC0yIHRvcC0wIHotNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIiBbbmdDbGFzc109XCJ7JyF6LTAnOiAhKF9tb2RlbCAmJiBsc3RGaWxlcy5sZW5ndGggPT0gMSAmJiBQb3BvdmVySW1nKX1cIiA+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiRG93bmxvYWQoX21vZGVsLnRvU3RyaW5nKCkpXCIgW2Rpc2FibGVkXT1cIiEoX21vZGVsICYmIGxzdEZpbGVzLmxlbmd0aCA9PSAxKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNwZWN0LXNxdWFyZSBkZWZhdWx0LXRyYW5zaXRpb24gb3BhY2l0eS0wIHRyYW5zbGF0ZS14LTEyXCIgXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS0xMDAgIXRyYW5zbGF0ZS14LTAgc2l6ZS04JzogX21vZGVsICYmIGxzdEZpbGVzLmxlbmd0aCA9PSAxIH1cIiBcclxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3VkLWRvd25sb2FkXCIgc2xvdD1cImljb24tb25seVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIEBpZiAobW9kZWwpIHtcclxuICAgICAgICAgIDxpb24tcHJvZ3Jlc3MtYmFyICpuZ1Zhcj1cInN0b3JhZ2VTZXJ2aWNlLkdldFByb2dyZXNzKF9tb2RlbC50b1N0cmluZygpKSBhcyB2YWxcIiBbdmFsdWVdPVwidmFsXCIgY2xhc3M9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgdy1mdWxsIGgtMSBkZWZhdWx0LXRyYW5zaXRpb25cIiBbbmdDbGFzc109XCJ7JyFoLTAnOiAhdmFsfVwiPjwvaW9uLXByb2dyZXNzLWJhcj5cclxuICAgICAgICB9XHJcbiAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9pb24tY2FyZD5cclxuICA8ZGl2IGNsYXNzPVwidy0xMlwiPiBcclxuICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJVcGxvYWQoKVwiIGNsYXNzPVwibS0wIGgtZnVsbCB3LWZ1bGwgcm91IG9uLWhvdmVyIHJvdW5kZWQtci0yeGxcIiAgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgZGlzYWJsZWRcIiAgc3R5bGU9XCItLWJvcmRlci13aWR0aDogMXB4IDFweCAycHggMXB4OyAtLWJvcmRlci1yYWRpdXM6IDByZW0gMXJlbSAxcmVtIDByZW07XCIgc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBmaWxsPVwib3V0bGluZVwiPiBcclxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvdWQtdXBsb2FkXCI+PC9pb24taWNvbj4gXHJcbiAgICA8L2lvbi1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGlucHV0LWxvYWRpbmcgW2xvYWRpbmddPVwibG9hZGluZ1wiPjwvaW5wdXQtbG9hZGluZz5cclxuXHJcbjwvZGl2PlxyXG5cclxuQGlmIChQb3BvdmVySW1nICYmIEV4dGVuc2lvbklzSW1hZ2Uoc3JjKSkge1xyXG4gIDxpb24tcG9wb3ZlciBbdHJpZ2dlcl09XCJndWlkICsgJ2ltYWdlJ1wiIFtrZWVwQ29udGVudHNNb3VudGVkXT1cInRydWVcIiB0cmlnZ2VyQWN0aW9uPVwiY2xpY2tcIj5cclxuICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgPGltYWdlIFtzcmNdPVwic3JjXCI+PC9pbWFnZT4gICAgICBcclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9pb24tcG9wb3Zlcj5cclxufVxyXG5AaWYoY29uZmlndXJhdGlvbi5tdWx0aXBsZSl7XHJcbiAgPGlvbi1wb3BvdmVyIFt0cmlnZ2VyXT1cImd1aWRcIiBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCI+XHJcbiAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgIDxpb24tY29udGVudCBjbGFzcz1cInAtMCBiZy10cmFuc3BhcmVudFwiPlxyXG4gICAgICAgIDxpb24tbGlzdD5cclxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgbHN0RmlsZXM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4OyBsZXQgbCA9ICRsYXN0KSB7XHJcbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ1Zhcj1cInN0b3JhZ2VTZXJ2aWNlLkdldFByb2dyZXNzKGl0ZW0pIGFzIHZhbFwiPlxyXG4gICAgICAgICAgICAgIDxpb24taXRlbSBzdHlsZT1cIi0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnRcIiBsaW5lcz1cInt7bCA/ICdub25lJyA6ICdmdWxsJ319XCIgYnV0dG9uIFtkZXRhaWxdPVwiZmFsc2VcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImRvd25sb2FkXCIgKGNsaWNrKT1cIkRvd25sb2FkKGl0ZW0pXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj4gXHJcbiAgICAgICAgICAgICAgICBAaWYgKEV4dGVuc2lvbklzSW1hZ2UoaXRlbSkpIHtcclxuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIFtpZF09XCJndWlkICsgJy0nICsgaSArICctbmVzdGVkLXBvcG92ZXInXCIgbmFtZT1cImltYWdlXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj4gXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbD57e1Nhbml0aXplKGl0ZW0pfX08L2lvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpb24tdGV4dCAqbmdJZj1cInZhbCAhPSAwXCIgc2xvdD1cImVuZFwiIGNsYXNzPVwidGV4dC1zbVwiPjxiPnt7dmFsICogMTAwIHwgbnVtYmVyIDogJzEuMi0yJ319JTwvYj48L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgICAgICAgPGlvbi1wcm9ncmVzcy1iYXIgY2xhc3M9XCJoLTAgZGVmYXVsdC10cmFuc2l0aW9uXCIgW25nQ2xhc3NdPVwieydoLTEnOiB2YWwgIT0gMCB9XCIgW3ZhbHVlXT1cInZhbFwiPjwvaW9uLXByb2dyZXNzLWJhcj5cclxuICAgICAgICAgICAgICA8aW9uLXBvcG92ZXIgKm5nSWY9XCJFeHRlbnNpb25Jc0ltYWdlKGl0ZW0pXCIgc2lkZT1cImVuZFwiIGFsaWdubWVudD1cImNlbnRlclwiIFt0cmlnZ2VyXT1cImd1aWQgKyAnLScgKyBpICsgJy1uZXN0ZWQtcG9wb3ZlcidcIiBbZGlzbWlzc09uU2VsZWN0XT1cInRydWVcIiB0cmlnZ2VyQWN0aW9uPVwiY2xpY2tcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb250ZW50ICpuZ1Zhcj1cImlzTG9hZGluZyhpdGVtKSBhcyBpc0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYoaXNMb2FkaW5nKXtcclxuICAgICAgICAgICAgICAgICAgICAgIDxsb2FkaW5nIFtsb2FkaW5nXT1cImlzTG9hZGluZ1wiPjwvbG9hZGluZz5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPGltYWdlIFtoaWRkZW5dPVwiaXNMb2FkaW5nXCIgW3NyY109XCJhcGlVcmwgKyBpdGVtXCI+PC9pbWFnZT5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29udGVudD5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9pb24tcG9wb3Zlcj5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9pb24tbGlzdD5cclxuICAgICAgPC9pb24tY29udGVudD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9pb24tcG9wb3Zlcj5cclxufVxyXG4iXX0=
|
|
@@ -2260,7 +2260,9 @@ class InputFileComponent extends CustomInput {
|
|
|
2260
2260
|
try {
|
|
2261
2261
|
return imageTypes.includes(v.split('.')[v.split('.').length - 1]);
|
|
2262
2262
|
}
|
|
2263
|
-
catch {
|
|
2263
|
+
catch {
|
|
2264
|
+
return false;
|
|
2265
|
+
}
|
|
2264
2266
|
}
|
|
2265
2267
|
get src() {
|
|
2266
2268
|
return this.apiUrl + this._model;
|
|
@@ -2279,11 +2281,11 @@ class InputFileComponent extends CustomInput {
|
|
|
2279
2281
|
return this.lstLoading.indexOf(path) != -1;
|
|
2280
2282
|
}
|
|
2281
2283
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputFileComponent, deps: [{ token: i1$1.ControlContainer, host: true, optional: true, skipSelf: true }, { token: i0.ElementRef }, { token: UtilsService }, { token: ApiUrlProviderService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2282
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputFileComponent, selector: "input-file", inputs: { configuration: "configuration" }, providers: InputProviderFactory.GetProvider(InputFileComponent), usesInheritance: true, ngImport: i0, template: "<div class=\"flex relative overflow-hidden\">\r\n <ion-card [disabled]=\"loading || disabled\"\r\n class=\"!border-r-0 !rounded-r-none focus-within:on-focus ion-card-input\"\r\n [ngClass]=\"{\r\n 'invalid' : invalid,\r\n 'submitted': submitted,\r\n 'disabled': disabled,\r\n }\"\r\n >\r\n <ion-card-content>\r\n <ion-item lines=\"none\">\r\n <ion-input [readonly]=\"true\" class=\"!opacity-100\" labelPlacement=\"stacked\" [(ngModel)]=\"model\">\r\n <ion-text id=\"label\" [ngClass]=\"{'required': required}\" slot=\"label\"> {{label}} </ion-text>\r\n </ion-input>\r\n </ion-item>\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\">\r\n <ion-button [id]=\"guid\" [disabled]=\"!(lstFiles.length > 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': lstFiles.length > 1 }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-12 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button [id]=\"guid + 'image'\" [disabled]=\"!(_model && lstFiles.length == 1 && PopoverImg)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 && PopoverImg }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"image\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button (click)=\"Download(_model.toString())\" [disabled]=\"!(_model && lstFiles.length == 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 }\" \r\n size=\"small\" fill=\"outline\"\r\n >\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n @if (model) {\r\n <ion-progress-bar *ngVar=\"storageService.GetProgress(_model.toString()) as val\" [value]=\"val\" class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'!h-0': !val}\"></ion-progress-bar>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n <div class=\"w-12\"> \r\n <ion-button (click)=\"Upload()\" class=\"m-0 h-full w-full rou on-hover rounded-r-2xl\" [disabled]=\"loading || disabled\" style=\"--border-width: 1px 1px 2px 1px; --border-radius: 0rem 1rem 1rem 0rem;\" size=\"small\" color=\"secondary\" fill=\"outline\"> \r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n <input-loading [loading]=\"loading\"></input-loading>\r\n\r\n</div>\r\n\r\n@if (PopoverImg) {\r\n <ion-popover [trigger]=\"guid + 'image'\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <image [src]=\"src\"></image> \r\n </ng-template>\r\n </ion-popover>\r\n}\r\n@if(configuration.multiple){\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles; track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n @if(isLoading){\r\n <loading [loading]=\"isLoading\"></loading>\r\n }\r\n <image [hidden]=\"isLoading\" [src]=\"apiUrl + item\"></image>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}\r\n", styles: ["ion-popover{--width: 30rem }\n", ".on-hover{background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%)}.on-hover:hover{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input{margin:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px;min-height:58px;max-height:58px;height:58px}ion-card.ion-card-input:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card.ion-card-input.disabled{background-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%)!important}ion-card.ion-card-input ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent}ion-text#label.required:after{content:\"*\";color:var(--ion-color-danger);vertical-align:text-bottom;font-size:small}ion-text#label:not(.required):after{content:var(--input-opcional-label, \"(Opcional)\");color:var(--ion-color-medium);vertical-align:text-bottom;font-size:small}.on-focus{border-bottom-color:var(--ion-color-primary)}.focus-within\\:on-focus:focus-within{border-bottom-color:var(--ion-color-primary)}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i3.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i3.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i3.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i3.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i3.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i3.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgVarDirective, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: ImageComponent, selector: "image", inputs: ["fill", "object", "src"] }, { kind: "component", type: InputLoadingComponent, selector: "input-loading", inputs: ["loading"] }, { kind: "pipe", type: i2$1.DecimalPipe, name: "number" }] }); }
|
|
2284
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputFileComponent, selector: "input-file", inputs: { configuration: "configuration" }, providers: InputProviderFactory.GetProvider(InputFileComponent), usesInheritance: true, ngImport: i0, template: "<div class=\"flex relative overflow-hidden\">\r\n <ion-card [disabled]=\"loading || disabled\"\r\n class=\"!border-r-0 !rounded-r-none focus-within:on-focus ion-card-input\"\r\n [ngClass]=\"{\r\n 'invalid' : invalid,\r\n 'submitted': submitted,\r\n 'disabled': disabled,\r\n }\"\r\n >\r\n <ion-card-content>\r\n <ion-item lines=\"none\">\r\n <ion-input [readonly]=\"true\" class=\"!opacity-100\" labelPlacement=\"stacked\" [(ngModel)]=\"model\">\r\n <ion-text id=\"label\" [ngClass]=\"{'required': required}\" slot=\"label\"> {{label}} </ion-text>\r\n </ion-input>\r\n </ion-item>\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\">\r\n <ion-button [id]=\"guid\" [disabled]=\"!(lstFiles.length > 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': lstFiles.length > 1 }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-12 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button [id]=\"guid + 'image'\" [disabled]=\"!(_model && lstFiles.length == 1 && PopoverImg)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 && PopoverImg }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"image\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button (click)=\"Download(_model.toString())\" [disabled]=\"!(_model && lstFiles.length == 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 }\" \r\n size=\"small\" fill=\"outline\"\r\n >\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n @if (model) {\r\n <ion-progress-bar *ngVar=\"storageService.GetProgress(_model.toString()) as val\" [value]=\"val\" class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'!h-0': !val}\"></ion-progress-bar>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n <div class=\"w-12\"> \r\n <ion-button (click)=\"Upload()\" class=\"m-0 h-full w-full rou on-hover rounded-r-2xl\" [disabled]=\"loading || disabled\" style=\"--border-width: 1px 1px 2px 1px; --border-radius: 0rem 1rem 1rem 0rem;\" size=\"small\" color=\"secondary\" fill=\"outline\"> \r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n <input-loading [loading]=\"loading\"></input-loading>\r\n\r\n</div>\r\n\r\n@if (PopoverImg && ExtensionIsImage(src)) {\r\n <ion-popover [trigger]=\"guid + 'image'\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <image [src]=\"src\"></image> \r\n </ng-template>\r\n </ion-popover>\r\n}\r\n@if(configuration.multiple){\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles; track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n @if(isLoading){\r\n <loading [loading]=\"isLoading\"></loading>\r\n }\r\n <image [hidden]=\"isLoading\" [src]=\"apiUrl + item\"></image>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}\r\n", styles: ["ion-popover{--width: 30rem }\n", ".on-hover{background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%)}.on-hover:hover{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input{margin:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px;min-height:58px;max-height:58px;height:58px}ion-card.ion-card-input:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card.ion-card-input.disabled{background-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%)!important}ion-card.ion-card-input ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent}ion-text#label.required:after{content:\"*\";color:var(--ion-color-danger);vertical-align:text-bottom;font-size:small}ion-text#label:not(.required):after{content:var(--input-opcional-label, \"(Opcional)\");color:var(--ion-color-medium);vertical-align:text-bottom;font-size:small}.on-focus{border-bottom-color:var(--ion-color-primary)}.focus-within\\:on-focus:focus-within{border-bottom-color:var(--ion-color-primary)}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i3.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i3.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i3.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i3.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i3.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i3.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgVarDirective, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: ImageComponent, selector: "image", inputs: ["fill", "object", "src"] }, { kind: "component", type: InputLoadingComponent, selector: "input-loading", inputs: ["loading"] }, { kind: "pipe", type: i2$1.DecimalPipe, name: "number" }] }); }
|
|
2283
2285
|
}
|
|
2284
2286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputFileComponent, decorators: [{
|
|
2285
2287
|
type: Component,
|
|
2286
|
-
args: [{ selector: 'input-file', providers: InputProviderFactory.GetProvider(InputFileComponent), template: "<div class=\"flex relative overflow-hidden\">\r\n <ion-card [disabled]=\"loading || disabled\"\r\n class=\"!border-r-0 !rounded-r-none focus-within:on-focus ion-card-input\"\r\n [ngClass]=\"{\r\n 'invalid' : invalid,\r\n 'submitted': submitted,\r\n 'disabled': disabled,\r\n }\"\r\n >\r\n <ion-card-content>\r\n <ion-item lines=\"none\">\r\n <ion-input [readonly]=\"true\" class=\"!opacity-100\" labelPlacement=\"stacked\" [(ngModel)]=\"model\">\r\n <ion-text id=\"label\" [ngClass]=\"{'required': required}\" slot=\"label\"> {{label}} </ion-text>\r\n </ion-input>\r\n </ion-item>\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\">\r\n <ion-button [id]=\"guid\" [disabled]=\"!(lstFiles.length > 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': lstFiles.length > 1 }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-12 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button [id]=\"guid + 'image'\" [disabled]=\"!(_model && lstFiles.length == 1 && PopoverImg)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 && PopoverImg }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"image\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button (click)=\"Download(_model.toString())\" [disabled]=\"!(_model && lstFiles.length == 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 }\" \r\n size=\"small\" fill=\"outline\"\r\n >\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n @if (model) {\r\n <ion-progress-bar *ngVar=\"storageService.GetProgress(_model.toString()) as val\" [value]=\"val\" class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'!h-0': !val}\"></ion-progress-bar>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n <div class=\"w-12\"> \r\n <ion-button (click)=\"Upload()\" class=\"m-0 h-full w-full rou on-hover rounded-r-2xl\" [disabled]=\"loading || disabled\" style=\"--border-width: 1px 1px 2px 1px; --border-radius: 0rem 1rem 1rem 0rem;\" size=\"small\" color=\"secondary\" fill=\"outline\"> \r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n <input-loading [loading]=\"loading\"></input-loading>\r\n\r\n</div>\r\n\r\n@if (PopoverImg) {\r\n <ion-popover [trigger]=\"guid + 'image'\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <image [src]=\"src\"></image> \r\n </ng-template>\r\n </ion-popover>\r\n}\r\n@if(configuration.multiple){\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles; track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n @if(isLoading){\r\n <loading [loading]=\"isLoading\"></loading>\r\n }\r\n <image [hidden]=\"isLoading\" [src]=\"apiUrl + item\"></image>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}\r\n", styles: ["ion-popover{--width: 30rem }\n", ".on-hover{background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%)}.on-hover:hover{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input{margin:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px;min-height:58px;max-height:58px;height:58px}ion-card.ion-card-input:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card.ion-card-input.disabled{background-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%)!important}ion-card.ion-card-input ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent}ion-text#label.required:after{content:\"*\";color:var(--ion-color-danger);vertical-align:text-bottom;font-size:small}ion-text#label:not(.required):after{content:var(--input-opcional-label, \"(Opcional)\");color:var(--ion-color-medium);vertical-align:text-bottom;font-size:small}.on-focus{border-bottom-color:var(--ion-color-primary)}.focus-within\\:on-focus:focus-within{border-bottom-color:var(--ion-color-primary)}\n"] }]
|
|
2288
|
+
args: [{ selector: 'input-file', providers: InputProviderFactory.GetProvider(InputFileComponent), template: "<div class=\"flex relative overflow-hidden\">\r\n <ion-card [disabled]=\"loading || disabled\"\r\n class=\"!border-r-0 !rounded-r-none focus-within:on-focus ion-card-input\"\r\n [ngClass]=\"{\r\n 'invalid' : invalid,\r\n 'submitted': submitted,\r\n 'disabled': disabled,\r\n }\"\r\n >\r\n <ion-card-content>\r\n <ion-item lines=\"none\">\r\n <ion-input [readonly]=\"true\" class=\"!opacity-100\" labelPlacement=\"stacked\" [(ngModel)]=\"model\">\r\n <ion-text id=\"label\" [ngClass]=\"{'required': required}\" slot=\"label\"> {{label}} </ion-text>\r\n </ion-input>\r\n </ion-item>\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\">\r\n <ion-button [id]=\"guid\" [disabled]=\"!(lstFiles.length > 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': lstFiles.length > 1 }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"ellipsis-vertical\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-12 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button [id]=\"guid + 'image'\" [disabled]=\"!(_model && lstFiles.length == 1 && PopoverImg)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 && PopoverImg }\" \r\n size=\"small\" fill=\"outline\" color=\"medium\"\r\n >\r\n <ion-icon name=\"image\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"absolute h-full right-2 top-0 z-50 flex items-center justify-center\" [ngClass]=\"{'!z-0': !(_model && lstFiles.length == 1 && PopoverImg)}\" >\r\n <ion-button (click)=\"Download(_model.toString())\" [disabled]=\"!(_model && lstFiles.length == 1)\"\r\n class=\"aspect-square default-transition opacity-0 translate-x-12\" \r\n [ngClass]=\"{'opacity-100 !translate-x-0 size-8': _model && lstFiles.length == 1 }\" \r\n size=\"small\" fill=\"outline\"\r\n >\r\n <ion-icon name=\"cloud-download\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n @if (model) {\r\n <ion-progress-bar *ngVar=\"storageService.GetProgress(_model.toString()) as val\" [value]=\"val\" class=\"absolute bottom-0 left-0 w-full h-1 default-transition\" [ngClass]=\"{'!h-0': !val}\"></ion-progress-bar>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n <div class=\"w-12\"> \r\n <ion-button (click)=\"Upload()\" class=\"m-0 h-full w-full rou on-hover rounded-r-2xl\" [disabled]=\"loading || disabled\" style=\"--border-width: 1px 1px 2px 1px; --border-radius: 0rem 1rem 1rem 0rem;\" size=\"small\" color=\"secondary\" fill=\"outline\"> \r\n <ion-icon slot=\"icon-only\" name=\"cloud-upload\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n <input-loading [loading]=\"loading\"></input-loading>\r\n\r\n</div>\r\n\r\n@if (PopoverImg && ExtensionIsImage(src)) {\r\n <ion-popover [trigger]=\"guid + 'image'\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <image [src]=\"src\"></image> \r\n </ng-template>\r\n </ion-popover>\r\n}\r\n@if(configuration.multiple){\r\n <ion-popover [trigger]=\"guid\" [keepContentsMounted]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content class=\"p-0 bg-transparent\">\r\n <ion-list>\r\n @for (item of lstFiles; track item; let i = $index; let l = $last) {\r\n <section *ngVar=\"storageService.GetProgress(item) as val\">\r\n <ion-item style=\"--background: transparent\" lines=\"{{l ? 'none' : 'full'}}\" button [detail]=\"false\">\r\n\r\n <ion-icon name=\"download\" (click)=\"Download(item)\" slot=\"start\"></ion-icon> \r\n @if (ExtensionIsImage(item)) {\r\n <ion-icon [id]=\"guid + '-' + i + '-nested-popover'\" name=\"image\" slot=\"start\"></ion-icon> \r\n }\r\n\r\n <ion-label>{{Sanitize(item)}}</ion-label>\r\n <ion-text *ngIf=\"val != 0\" slot=\"end\" class=\"text-sm\"><b>{{val * 100 | number : '1.2-2'}}%</b></ion-text>\r\n </ion-item>\r\n <ion-progress-bar class=\"h-0 default-transition\" [ngClass]=\"{'h-1': val != 0 }\" [value]=\"val\"></ion-progress-bar>\r\n <ion-popover *ngIf=\"ExtensionIsImage(item)\" side=\"end\" alignment=\"center\" [trigger]=\"guid + '-' + i + '-nested-popover'\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content *ngVar=\"isLoading(item) as isLoading\">\r\n @if(isLoading){\r\n <loading [loading]=\"isLoading\"></loading>\r\n }\r\n <image [hidden]=\"isLoading\" [src]=\"apiUrl + item\"></image>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n </section>\r\n }\r\n </ion-list>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n}\r\n", styles: ["ion-popover{--width: 30rem }\n", ".on-hover{background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%)}.on-hover:hover{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input{margin:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background:color-mix(in srgb,var(--ion-color-light) 97%,transparent 3%);border-bottom-color:var(--ion-color-medium);border-right-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-top-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-left-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%);border-width:1px 1px 2px 1px;min-height:58px;max-height:58px;height:58px}ion-card.ion-card-input:hover{background:color-mix(in srgb,var(--ion-color-dark) 15%,transparent 93%)}ion-card.ion-card-input.submitted.invalid{border-color:color-mix(in srgb,var(--ion-color-danger) 75%,transparent 25%)!important}ion-card.ion-card-input.disabled{background-color:color-mix(in srgb,var(--ion-color-medium) 30%,transparent 70%)!important}ion-card.ion-card-input ion-card-content{width:100%;height:100%;background-color:transparent;padding:0}ion-item{--background: transparent}ion-text#label.required:after{content:\"*\";color:var(--ion-color-danger);vertical-align:text-bottom;font-size:small}ion-text#label:not(.required):after{content:var(--input-opcional-label, \"(Opcional)\");color:var(--ion-color-medium);vertical-align:text-bottom;font-size:small}.on-focus{border-bottom-color:var(--ion-color-primary)}.focus-within\\:on-focus:focus-within{border-bottom-color:var(--ion-color-primary)}\n"] }]
|
|
2287
2289
|
}], ctorParameters: () => [{ type: i1$1.ControlContainer, decorators: [{
|
|
2288
2290
|
type: Optional
|
|
2289
2291
|
}, {
|
|
@@ -3900,22 +3902,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3900
3902
|
args: ['new']
|
|
3901
3903
|
}] } });
|
|
3902
3904
|
|
|
3903
|
-
/** Componente padrão para a invocação do DefaultView */
|
|
3904
|
-
class AbstractView {
|
|
3905
|
-
ngOnInit() {
|
|
3906
|
-
this.id = this.genericService.GetId(this.activatedRoute, 0);
|
|
3907
|
-
}
|
|
3908
|
-
static GetProvider(component) {
|
|
3909
|
-
return [{ provide: AbstractView, useExisting: component }];
|
|
3910
|
-
}
|
|
3911
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractView, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3912
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AbstractView, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
3913
|
-
}
|
|
3914
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractView, decorators: [{
|
|
3915
|
-
type: Component,
|
|
3916
|
-
args: [{ template: '' }]
|
|
3917
|
-
}] });
|
|
3918
|
-
|
|
3919
3905
|
class View {
|
|
3920
3906
|
constructor() {
|
|
3921
3907
|
/** Id do dado a ser carregado */
|
|
@@ -4265,6 +4251,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4265
4251
|
type: Input
|
|
4266
4252
|
}] } });
|
|
4267
4253
|
|
|
4254
|
+
/** Componente padrão para a invocação do DefaultView */
|
|
4255
|
+
class AbstractView {
|
|
4256
|
+
ngOnInit() {
|
|
4257
|
+
this.id = this.genericService.GetId(this.activatedRoute, 0);
|
|
4258
|
+
}
|
|
4259
|
+
static GetProvider(component) {
|
|
4260
|
+
return [{ provide: AbstractView, useExisting: component }];
|
|
4261
|
+
}
|
|
4262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractView, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4263
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AbstractView, selector: "ng-component", viewQueries: [{ propertyName: "DefaultView", first: true, predicate: (DefaultViewComponent), descendants: true }], ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
4264
|
+
}
|
|
4265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractView, decorators: [{
|
|
4266
|
+
type: Component,
|
|
4267
|
+
args: [{ template: '' }]
|
|
4268
|
+
}], propDecorators: { DefaultView: [{
|
|
4269
|
+
type: ViewChild,
|
|
4270
|
+
args: [(DefaultViewComponent)]
|
|
4271
|
+
}] } });
|
|
4272
|
+
|
|
4268
4273
|
class InputColorComponent extends CustomSignalInput {
|
|
4269
4274
|
constructor(genericService) {
|
|
4270
4275
|
super();
|