angular-material-fileupload
Version:
A fileupload component based on angular-material design
113 lines • 7.77 kB
JavaScript
/**
* @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.
*/
var FileUploadInputForDirective = /** @class */ (function () {
function FileUploadInputForDirective(element) {
this.element = element;
this._queue = null;
this.onFileSelected = new EventEmitter();
this._element = this.element.nativeElement;
}
Object.defineProperty(FileUploadInputForDirective.prototype, "fileUploadQueue", {
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
if (value) {
this._queue = value;
}
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
FileUploadInputForDirective.prototype.onChange = /**
* @return {?}
*/
function () {
/** @type {?} */
var 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 {?}
*/
FileUploadInputForDirective.prototype.onDrop = /**
* @param {?} event
* @return {?}
*/
function (event) {
/** @type {?} */
var 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 {?}
*/
FileUploadInputForDirective.prototype.onDropOver = /**
* @param {?} event
* @return {?}
*/
function (event) {
event.preventDefault();
};
FileUploadInputForDirective.decorators = [
{ type: Directive, args: [{
selector: "input[fileUploadInputFor], div[fileUploadInputFor]",
},] }
];
/** @nocollapse */
FileUploadInputForDirective.ctorParameters = function () { return [
{ 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"],] }]
};
return FileUploadInputForDirective;
}());
export { FileUploadInputForDirective };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtaW5wdXQtZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbWF0ZXJpYWwtZmlsZXVwbG9hZC8iLCJzb3VyY2VzIjpbImxpYi9maWxlLXVwbG9hZC1pbnB1dC1mb3IvZmlsZS11cGxvYWQtaW5wdXQtZm9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQUt2QjtJQVVFLHFDQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBTi9CLFdBQU0sR0FBUSxJQUFJLENBQUM7UUFFVixtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFFckUsQ0FBQztRQUdGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELHNCQUNJLHdEQUFlOzs7OztRQURuQixVQUNvQixLQUFVO1lBQzVCLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQzs7O09BQUE7Ozs7SUFHTSw4Q0FBUTs7O0lBRGY7O1lBRU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUs7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Ozs7O0lBR00sNENBQU07Ozs7SUFEYixVQUNjLEtBQVU7O1lBQ2xCLEtBQUssR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUs7UUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0I7UUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFHTSxnREFBVTs7OztJQURqQixVQUNrQixLQUFVO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOztnQkFoREYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxvREFBb0Q7aUJBQy9EOzs7O2dCQVpDLFVBQVU7OztpQ0FnQlQsTUFBTTtrQ0FRTixLQUFLLFNBQUMsb0JBQW9COzJCQU8xQixZQUFZLFNBQUMsUUFBUTt5QkFXckIsWUFBWSxTQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzs2QkFhL0IsWUFBWSxTQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7SUFJdEMsa0NBQUM7Q0FBQSxBQWpERCxJQWlEQztTQTlDWSwyQkFBMkI7Ozs7OztJQUN0Qyw2Q0FBMkI7Ozs7O0lBQzNCLCtDQUE4Qjs7SUFDOUIscURBRUk7Ozs7O0lBRVEsOENBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuLyoqXG4gKiBBIG1hdGVyaWFsIGRlc2lnbiBmaWxlIHVwbG9hZCBxdWV1ZSBjb21wb25lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJpbnB1dFtmaWxlVXBsb2FkSW5wdXRGb3JdLCBkaXZbZmlsZVVwbG9hZElucHV0Rm9yXVwiLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkSW5wdXRGb3JEaXJlY3RpdmUge1xuICBwcml2YXRlIF9xdWV1ZTogYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSBfZWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25GaWxlU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBGaWxlW11cbiAgPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgIHRoaXMuX2VsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBJbnB1dChcImZpbGVVcGxvYWRJbnB1dEZvclwiKVxuICBzZXQgZmlsZVVwbG9hZFF1ZXVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX3F1ZXVlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImNoYW5nZVwiKVxuICBwdWJsaWMgb25DaGFuZ2UoKTogYW55IHtcbiAgICBsZXQgZmlsZXMgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maWxlcztcbiAgICB0aGlzLm9uRmlsZVNlbGVjdGVkLmVtaXQoZmlsZXMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5fcXVldWUuYWRkKGZpbGVzW2ldKTtcbiAgICB9XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImRyb3BcIiwgW1wiJGV2ZW50XCJdKVxuICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBhbnkpOiBhbnkge1xuICAgIGxldCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcztcbiAgICB0aGlzLm9uRmlsZVNlbGVjdGVkLmVtaXQoZmlsZXMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5fcXVldWUuYWRkKGZpbGVzW2ldKTtcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IFwiXCI7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwiZHJhZ292ZXJcIiwgW1wiJGV2ZW50XCJdKVxuICBwdWJsaWMgb25Ecm9wT3ZlcihldmVudDogYW55KTogYW55IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iXX0=