UNPKG

angular-material-fileupload

Version:
99 lines 7.02 kB
/** * @fileoverview added by tsickle * Generated from: lib/file-upload-input-for/file-upload-input-for.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, } from "@angular/core"; /** * A material design file upload queue component. */ export class FileUploadInputForDirective { /** * @param {?} element */ constructor(element) { this.element = element; this._queue = null; this.onFileSelected = new EventEmitter(); this._element = this.element.nativeElement; } /** * @param {?} value * @return {?} */ set fileUploadQueue(value) { if (value) { this._queue = value; } } /** * @return {?} */ onChange() { /** @type {?} */ let files = this.element.nativeElement.files; this.onFileSelected.emit(files); for (var i = 0; i < files.length; i++) { this._queue.add(files[i]); } this.element.nativeElement.value = ""; } /** * @param {?} event * @return {?} */ onDrop(event) { /** @type {?} */ let files = event.dataTransfer.files; this.onFileSelected.emit(files); for (var i = 0; i < files.length; i++) { this._queue.add(files[i]); } event.preventDefault(); event.stopPropagation(); this.element.nativeElement.value = ""; } /** * @param {?} event * @return {?} */ onDropOver(event) { event.preventDefault(); } } FileUploadInputForDirective.decorators = [ { type: Directive, args: [{ selector: "input[fileUploadInputFor], div[fileUploadInputFor]", },] } ]; /** @nocollapse */ FileUploadInputForDirective.ctorParameters = () => [ { type: ElementRef } ]; FileUploadInputForDirective.propDecorators = { onFileSelected: [{ type: Output }], fileUploadQueue: [{ type: Input, args: ["fileUploadInputFor",] }], onChange: [{ type: HostListener, args: ["change",] }], onDrop: [{ type: HostListener, args: ["drop", ["$event"],] }], onDropOver: [{ type: HostListener, args: ["dragover", ["$event"],] }] }; if (false) { /** * @type {?} * @private */ FileUploadInputForDirective.prototype._queue; /** * @type {?} * @private */ FileUploadInputForDirective.prototype._element; /** @type {?} */ FileUploadInputForDirective.prototype.onFileSelected; /** * @type {?} * @private */ FileUploadInputForDirective.prototype.element; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtaW5wdXQtZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbWF0ZXJpYWwtZmlsZXVwbG9hZC8iLCJzb3VyY2VzIjpbImxpYi9maWxlLXVwbG9hZC1pbnB1dC1mb3IvZmlsZS11cGxvYWQtaW5wdXQtZm9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQVF2QixNQUFNLE9BQU8sMkJBQTJCOzs7O0lBT3RDLFlBQW9CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFOL0IsV0FBTSxHQUFRLElBQUksQ0FBQztRQUVWLG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUVyRSxDQUFDO1FBR0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVELElBQ0ksZUFBZSxDQUFDLEtBQVU7UUFDNUIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNILENBQUM7Ozs7SUFHTSxRQUFROztZQUNULEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs7OztJQUdNLE1BQU0sQ0FBQyxLQUFVOztZQUNsQixLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLO1FBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Ozs7O0lBR00sVUFBVSxDQUFDLEtBQVU7UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OztZQWhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9EQUFvRDthQUMvRDs7OztZQVpDLFVBQVU7Ozs2QkFnQlQsTUFBTTs4QkFRTixLQUFLLFNBQUMsb0JBQW9CO3VCQU8xQixZQUFZLFNBQUMsUUFBUTtxQkFXckIsWUFBWSxTQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzt5QkFhL0IsWUFBWSxTQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7Ozs7OztJQXpDcEMsNkNBQTJCOzs7OztJQUMzQiwrQ0FBOEI7O0lBQzlCLHFEQUVJOzs7OztJQUVRLDhDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbi8qKlxuICogQSBtYXRlcmlhbCBkZXNpZ24gZmlsZSB1cGxvYWQgcXVldWUgY29tcG9uZW50LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiaW5wdXRbZmlsZVVwbG9hZElucHV0Rm9yXSwgZGl2W2ZpbGVVcGxvYWRJbnB1dEZvcl1cIixcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZElucHV0Rm9yRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBfcXVldWU6IGFueSA9IG51bGw7XG4gIHByaXZhdGUgX2VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBAT3V0cHV0KCkgcHVibGljIG9uRmlsZVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgRmlsZVtdXG4gID4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl9lbGVtZW50ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBASW5wdXQoXCJmaWxlVXBsb2FkSW5wdXRGb3JcIilcbiAgc2V0IGZpbGVVcGxvYWRRdWV1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9xdWV1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJjaGFuZ2VcIilcbiAgcHVibGljIG9uQ2hhbmdlKCk6IGFueSB7XG4gICAgbGV0IGZpbGVzID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZmlsZXM7XG4gICAgdGhpcy5vbkZpbGVTZWxlY3RlZC5lbWl0KGZpbGVzKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMuX3F1ZXVlLmFkZChmaWxlc1tpXSk7XG4gICAgfVxuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJcIjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJkcm9wXCIsIFtcIiRldmVudFwiXSlcbiAgcHVibGljIG9uRHJvcChldmVudDogYW55KTogYW55IHtcbiAgICBsZXQgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgdGhpcy5vbkZpbGVTZWxlY3RlZC5lbWl0KGZpbGVzKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMuX3F1ZXVlLmFkZChmaWxlc1tpXSk7XG4gICAgfVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImRyYWdvdmVyXCIsIFtcIiRldmVudFwiXSlcbiAgcHVibGljIG9uRHJvcE92ZXIoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIl19