UNPKG

stimulsoft-viewer-angular

Version:
54 lines 6.81 kB
import { Component, Input, ViewChild } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../services/model.service"; import * as i2 from "../services/controller.service"; import * as i3 from "@angular/common"; export class OpenDialogComponent { constructor(model, controller) { this.model = model; this.controller = controller; } ngOnChanges(changes) { if (this.fileMask != null && this.model.openDialogFileMask != null) { setTimeout(() => { this.element.nativeElement.focus(); this.element.nativeElement.click(); }); } } ngOnInit() { } onchange(event) { const files = event.target.files; const fileName = files[0] ? files[0].name : 'Report'; const filePath = event.target.value; const reader = new FileReader(); reader.onload = (e) => { this.controller.loadFile(fileName, e.target.result); }; this.model.openDialogFileMask = null; reader.readAsDataURL(files[0]); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OpenDialogComponent, deps: [{ token: i1.ModelService }, { token: i2.ControllerService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: OpenDialogComponent, selector: "sti-open-dialog", inputs: { fileMask: "fileMask" }, viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true }], usesOnChanges: true, ngImport: i0, template: ` <input #element *ngIf="model.openDialogFileMask != null" type="file" name="files[]" multiple="" [style.display]="'none'" [attr.accept]="model.openDialogFileMask" (change)="onchange($event)"> `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OpenDialogComponent, decorators: [{ type: Component, args: [{ selector: 'sti-open-dialog', template: ` <input #element *ngIf="model.openDialogFileMask != null" type="file" name="files[]" multiple="" [style.display]="'none'" [attr.accept]="model.openDialogFileMask" (change)="onchange($event)"> ` }] }], ctorParameters: () => [{ type: i1.ModelService }, { type: i2.ControllerService }], propDecorators: { element: [{ type: ViewChild, args: ['element'] }], fileMask: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RpbXVsc29mdC12aWV3ZXItYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvb3Blbi1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFhM0YsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixZQUFtQixLQUFtQixFQUFTLFVBQTZCO1FBQXpELFVBQUssR0FBTCxLQUFLLENBQWM7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUFJLENBQUM7SUFFakYsV0FBVyxDQUFDLE9BQThDO1FBQ3hELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuRSxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxLQUFLLENBQUM7SUFFZCxRQUFRLENBQUMsS0FBVTtRQUNqQixNQUFNLEtBQUssR0FBVSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNyRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRWhDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNyQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBL0JVLG1CQUFtQjttR0FBbkIsbUJBQW1CLGtOQVBwQjs7OztHQUlUOzs0RkFHVSxtQkFBbUI7a0JBVC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0Y7aUhBSXVCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFFWCxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkNoYW5nZXMsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb2RlbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb250cm9sbGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzdGktb3Blbi1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aW5wdXQgI2VsZW1lbnQgKm5nSWY9XCJtb2RlbC5vcGVuRGlhbG9nRmlsZU1hc2sgIT0gbnVsbFwiICB0eXBlPVwiZmlsZVwiIG5hbWU9XCJmaWxlc1tdXCIgbXVsdGlwbGU9XCJcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIlxyXG4gICAgICBbYXR0ci5hY2NlcHRdPVwibW9kZWwub3BlbkRpYWxvZ0ZpbGVNYXNrXCJcclxuICAgICAgKGNoYW5nZSk9XCJvbmNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgYFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE9wZW5EaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VsZW1lbnQnKSBlbGVtZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKSBmaWxlTWFzazogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbW9kZWw6IE1vZGVsU2VydmljZSwgcHVibGljIGNvbnRyb2xsZXI6IENvbnRyb2xsZXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogaW1wb3J0KCdAYW5ndWxhci9jb3JlJykuU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsZU1hc2sgIT0gbnVsbCAmJiB0aGlzLm1vZGVsLm9wZW5EaWFsb2dGaWxlTWFzayAhPSBudWxsKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHsgfVxyXG5cclxuICBvbmNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBmaWxlczogYW55W10gPSBldmVudC50YXJnZXQuZmlsZXM7XHJcbiAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGVzWzBdID8gZmlsZXNbMF0ubmFtZSA6ICdSZXBvcnQnO1xyXG4gICAgY29uc3QgZmlsZVBhdGggPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cclxuICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY29udHJvbGxlci5sb2FkRmlsZShmaWxlTmFtZSwgZS50YXJnZXQucmVzdWx0KTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5tb2RlbC5vcGVuRGlhbG9nRmlsZU1hc2sgPSBudWxsO1xyXG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZXNbMF0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19