UNPKG

@cause-911/material

Version:

Run `npm install @cause-911/material --save` to add this library to your project

182 lines 12.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { MatDialog } from '@angular/material'; import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core'; import { TranslateService } from '@cause-911/core'; import { SimpleDialogComponent } from '../simple-dialog/simple-dialog.component'; var InputFileComponent = /** @class */ (function () { function InputFileComponent(translateService, dialog) { this.translateService = translateService; this.dialog = dialog; this.readend = new EventEmitter(); this.accept = ''; this.multiple = false; this.icon = ''; this.text = ''; this.labels = {}; } /** * @return {?} */ InputFileComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (!this.icon && !this.text) { this.translateService.get(['material.select', 'material.dialogTitle', 'material.dialogMessage']).subscribe((/** * @param {?} labels * @return {?} */ function (labels) { _this.labels = labels; _this.text = labels['material.select']; })); } }; /** * @param {?} e * @return {?} */ InputFileComponent.prototype.onSelectFile = /** * @param {?} e * @return {?} */ function (e) { var _this = this; var _loop_1 = function (i, j) { /** @type {?} */ var file = e.target.files[i]; /** @type {?} */ var reader = new FileReader(); reader.onerror = ((/** * @param {?} error * @return {?} */ function (error) { return _this.onError(error); })); reader.onload = ((/** * @param {?} event * @return {?} */ function (event) { return _this.onReadEnd(file, event); })); reader.readAsDataURL(file); }; for (var i = 0, j = e.target.files.length; i < j; i++) { _loop_1(i, j); } if (e.target.files.length) { this.dialog.open(SimpleDialogComponent, { width: '250px', disableClose: true, data: { title: this.labels['material.dialogTitle'], message: this.labels['material.dialogMessage'] } }); } }; /** * @param {?} event * @return {?} */ InputFileComponent.prototype.openDialog = /** * @param {?} event * @return {?} */ function (event) { if (this.file) { this.file.nativeElement.click(); } event.stopPropagation(); }; /** * @private * @param {?} error * @return {?} */ InputFileComponent.prototype.onError = /** * @private * @param {?} error * @return {?} */ function (error) { throw error; }; /** * @private * @param {?} file * @param {?} e * @return {?} */ InputFileComponent.prototype.onReadEnd = /** * @private * @param {?} file * @param {?} e * @return {?} */ function (file, e) { this.dialog.closeAll(); this.readend.emit({ name: file.name, size: file.size, type: file.type, lastModifiedDate: file.lastModifiedDate, content: e.target['result'], file: file, }); }; InputFileComponent.decorators = [ { type: Component, args: [{ selector: 'cause-input-file', template: "<button mat-raised-button (click)=\"openDialog($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n <span *ngIf=\"text\">{{text}}</span>\n</button>\n<ng-container *ngIf=\"multiple; else notMultipleInput\">\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" multiple=\"multiple\" />\n</ng-container>\n\n<ng-template #notMultipleInput>\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" />\n</ng-template>", styles: [":host input{display:none}"] }] } ]; /** @nocollapse */ InputFileComponent.ctorParameters = function () { return [ { type: TranslateService }, { type: MatDialog } ]; }; InputFileComponent.propDecorators = { file: [{ type: ViewChild, args: ['file', { static: false },] }], readend: [{ type: Output }], accept: [{ type: Input }], multiple: [{ type: Input }], icon: [{ type: Input }], text: [{ type: Input }] }; return InputFileComponent; }()); export { InputFileComponent }; if (false) { /** @type {?} */ InputFileComponent.prototype.file; /** @type {?} */ InputFileComponent.prototype.readend; /** @type {?} */ InputFileComponent.prototype.accept; /** @type {?} */ InputFileComponent.prototype.multiple; /** @type {?} */ InputFileComponent.prototype.icon; /** @type {?} */ InputFileComponent.prototype.text; /** * @type {?} * @private */ InputFileComponent.prototype.labels; /** * @type {?} * @private */ InputFileComponent.prototype.translateService; /** * @type {?} * @private */ InputFileComponent.prototype.dialog; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2F1c2UtOTExL21hdGVyaWFsLyIsInNvdXJjZXMiOlsibGliL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFakY7SUFlSSw0QkFDWSxnQkFBa0MsRUFDbEMsTUFBaUI7UUFEakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBVm5CLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVgsV0FBTSxHQUFRLEVBQUUsQ0FBQztJQU16QixDQUFDOzs7O0lBRUQscUNBQVE7OztJQUFSO1FBQUEsaUJBU0M7UUFSRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FDckIsQ0FBQyxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSx3QkFBd0IsQ0FBQyxDQUN4RSxDQUFDLFNBQVM7Ozs7WUFBQyxVQUFBLE1BQU07Z0JBQ2QsS0FBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7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Qjs7SUFDckIsc0NBQTBCOztJQUMxQixrQ0FBbUI7O0lBQ25CLGtDQUFtQjs7Ozs7SUFFbkIsb0NBQXlCOzs7OztJQUdyQiw4Q0FBMEM7Ozs7O0lBQzFDLG9DQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGNhdXNlLTkxMS9jb3JlJztcbmltcG9ydCB7IFNpbXBsZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3NpbXBsZS1kaWFsb2cvc2ltcGxlLWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NhdXNlLWlucHV0LWZpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1maWxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdmaWxlJywge3N0YXRpYzogZmFsc2V9KSBmaWxlOiBFbGVtZW50UmVmO1xuICAgIEBPdXRwdXQoKSByZWFkZW5kID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBJbnB1dCgpIGFjY2VwdCA9ICcnO1xuICAgIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XG4gICAgQElucHV0KCkgaWNvbiA9ICcnO1xuICAgIEBJbnB1dCgpIHRleHQgPSAnJztcblxuICAgIHByaXZhdGUgbGFiZWxzOiBhbnkgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5pY29uICYmICF0aGlzLnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoXG4gICAgICAgICAgICAgICAgWydtYXRlcmlhbC5zZWxlY3QnLCAnbWF0ZXJpYWwuZGlhbG9nVGl0bGUnLCAnbWF0ZXJpYWwuZGlhbG9nTWVzc2FnZSddXG4gICAgICAgICAgICApLnN1YnNjcmliZShsYWJlbHMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzID0gbGFiZWxzO1xuICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGxhYmVsc1snbWF0ZXJpYWwuc2VsZWN0J107XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0RmlsZShlKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBqID0gZS50YXJnZXQuZmlsZXMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gZS50YXJnZXQuZmlsZXNbaV07XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXJyb3IgPT4gdGhpcy5vbkVycm9yKGVycm9yKSk7XG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKGV2ZW50ID0+IHRoaXMub25SZWFkRW5kKGZpbGUsIGV2ZW50KSk7XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlLnRhcmdldC5maWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nLm9wZW4oU2ltcGxlRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcyNTBweCcsXG4gICAgICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMubGFiZWxzWydtYXRlcmlhbC5kaWFsb2dUaXRsZSddLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLmxhYmVsc1snbWF0ZXJpYWwuZGlhbG9nTWVzc2FnZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuRGlhbG9nKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkVycm9yKGVycm9yKSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25SZWFkRW5kKGZpbGUsIGUpIHtcbiAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2VBbGwoKTtcbiAgICAgICAgdGhpcy5yZWFkZW5kLmVtaXQoe1xuICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgbGFzdE1vZGlmaWVkRGF0ZTogZmlsZS5sYXN0TW9kaWZpZWREYXRlLFxuICAgICAgICAgICAgY29udGVudDogZS50YXJnZXRbJ3Jlc3VsdCddLFxuICAgICAgICAgICAgZmlsZTogZmlsZSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19