@trendster-io/ng-uploader
Version:
A fully featured Angular file uploader that utilizes Angular's HttpClient internally, allows you to customize outgoing HTTP requests using the "Angular Way" (Interceptors), provides customizable concurrent queuing of uploads and a simple way to select fil
136 lines • 10.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
var DropzoneDirective = /** @class */ (function () {
function DropzoneDirective() {
// Disable dropping on the body of the document.
// This prevents the browser from loading the dropped files
// using it's default behaviour if the user misses the drop zone.
// Set this input to false if you want the browser default behaviour.
this.preventBodyDrop = true;
this.disabled = false;
this.fileDrop = new EventEmitter();
// The `dropzone-active` class is applied to the host
// element when a drag is currently over the target, to allow styling it
this.active = false;
}
/**
* @param {?} event
* @return {?}
*/
DropzoneDirective.prototype.onDrop = /**
* @param {?} event
* @return {?}
*/
function (event) {
event.preventDefault();
if (!this.disabled) {
this.active = false;
var dataTransfer = event.dataTransfer;
if (dataTransfer.items) {
/** @type {?} */
var files = [];
for (var i = 0; i < dataTransfer.items.length; i++) {
// If dropped items aren't files, reject them
if (dataTransfer.items[i].kind === 'file') {
files.push(dataTransfer.items[i].getAsFile());
}
}
dataTransfer.items.clear();
this.fileDrop.emit(files);
}
else {
/** @type {?} */
var files = dataTransfer.files;
dataTransfer.clearData();
this.fileDrop.emit(Array.from(files));
}
}
};
/**
* @param {?} event
* @return {?}
*/
DropzoneDirective.prototype.onDragOver = /**
* @param {?} event
* @return {?}
*/
function (event) {
event.stopPropagation();
event.preventDefault();
if (!this.disabled) {
this.active = true;
}
};
/**
* @param {?} event
* @return {?}
*/
DropzoneDirective.prototype.onDragLeave = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (!this.disabled) {
this.active = false;
}
};
/**
* @param {?} event
* @return {?}
*/
DropzoneDirective.prototype.onBodyDragOver = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (this.preventBodyDrop) {
event.preventDefault();
event.stopPropagation();
}
};
/**
* @param {?} event
* @return {?}
*/
DropzoneDirective.prototype.onBodyDrop = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (this.preventBodyDrop) {
event.preventDefault();
}
};
DropzoneDirective.decorators = [
{ type: Directive, args: [{
selector: '[dropzone]'
},] }
];
DropzoneDirective.propDecorators = {
preventBodyDrop: [{ type: Input }],
disabled: [{ type: Input }],
fileDrop: [{ type: Output }],
active: [{ type: HostBinding, args: ['class.dropzone-active',] }],
onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }],
onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }],
onBodyDragOver: [{ type: HostListener, args: ['body:dragover', ['$event'],] }],
onBodyDrop: [{ type: HostListener, args: ['body:drop', ['$event'],] }]
};
return DropzoneDirective;
}());
export { DropzoneDirective };
if (false) {
/** @type {?} */
DropzoneDirective.prototype.preventBodyDrop;
/** @type {?} */
DropzoneDirective.prototype.disabled;
/** @type {?} */
DropzoneDirective.prototype.fileDrop;
/** @type {?} */
DropzoneDirective.prototype.active;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRyZW5kc3Rlci1pby9uZy11cGxvYWRlci8iLCJzb3VyY2VzIjpbImxpYi9kcm9wem9uZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QjtJQUFBOzs7OztRQVFXLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFaEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7OztRQUtoRCxXQUFNLEdBQUcsS0FBSyxDQUFDO0lBMERqQixDQUFDOzs7OztJQXZEQyxrQ0FBTTs7OztJQUROLFVBQ08sS0FBZ0I7UUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBRVosSUFBQSxpQ0FBWTtZQUVwQixJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUU7O29CQUNoQixLQUFLLEdBQVcsRUFBRTtnQkFDeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNsRCw2Q0FBNkM7b0JBQzdDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO3dCQUN6QyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztxQkFDL0M7aUJBQ0Y7Z0JBQ0QsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0I7aUJBQU07O29CQUNDLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSztnQkFDaEMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDdkM7U0FDRjtJQUNILENBQUM7Ozs7O0lBR0Qsc0NBQVU7Ozs7SUFEVixVQUNXLEtBQWdCO1FBQ3pCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs7OztJQUdELHVDQUFXOzs7O0lBRFgsVUFDWSxLQUFnQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNILENBQUM7Ozs7O0lBR0QsMENBQWM7Ozs7SUFEZCxVQUNlLEtBQWdCO1FBQzdCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7Ozs7SUFHRCxzQ0FBVTs7OztJQURWLFVBQ1csS0FBZ0I7UUFDekIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7O2dCQTFFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7aUJBQ3ZCOzs7a0NBTUUsS0FBSzsyQkFFTCxLQUFLOzJCQUVMLE1BQU07eUJBSU4sV0FBVyxTQUFDLHVCQUF1Qjt5QkFHbkMsWUFBWSxTQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzs2QkEwQi9CLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7OEJBU25DLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7aUNBT3BDLFlBQVksU0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7NkJBUXhDLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBTXZDLHdCQUFDO0NBQUEsQUEzRUQsSUEyRUM7U0F4RVksaUJBQWlCOzs7SUFLNUIsNENBQWdDOztJQUVoQyxxQ0FBMEI7O0lBRTFCLHFDQUFnRDs7SUFJaEQsbUNBQ2UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Ryb3B6b25lXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJvcHpvbmVEaXJlY3RpdmUge1xuICAvLyBEaXNhYmxlIGRyb3BwaW5nIG9uIHRoZSBib2R5IG9mIHRoZSBkb2N1bWVudC5cbiAgLy8gVGhpcyBwcmV2ZW50cyB0aGUgYnJvd3NlciBmcm9tIGxvYWRpbmcgdGhlIGRyb3BwZWQgZmlsZXNcbiAgLy8gdXNpbmcgaXQncyBkZWZhdWx0IGJlaGF2aW91ciBpZiB0aGUgdXNlciBtaXNzZXMgdGhlIGRyb3Agem9uZS5cbiAgLy8gU2V0IHRoaXMgaW5wdXQgdG8gZmFsc2UgaWYgeW91IHdhbnQgdGhlIGJyb3dzZXIgZGVmYXVsdCBiZWhhdmlvdXIuXG4gIEBJbnB1dCgpIHByZXZlbnRCb2R5RHJvcCA9IHRydWU7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgZmlsZURyb3AgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcblxuICAvLyBUaGUgYGRyb3B6b25lLWFjdGl2ZWAgY2xhc3MgaXMgYXBwbGllZCB0byB0aGUgaG9zdFxuICAvLyBlbGVtZW50IHdoZW4gYSBkcmFnIGlzIGN1cnJlbnRseSBvdmVyIHRoZSB0YXJnZXQsIHRvIGFsbG93IHN0eWxpbmcgaXRcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kcm9wem9uZS1hY3RpdmUnKVxuICBhY3RpdmUgPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcblxuICAgICAgY29uc3QgeyBkYXRhVHJhbnNmZXIgfSA9IGV2ZW50O1xuXG4gICAgICBpZiAoZGF0YVRyYW5zZmVyLml0ZW1zKSB7XG4gICAgICAgIGNvbnN0IGZpbGVzOiBGaWxlW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAvLyBJZiBkcm9wcGVkIGl0ZW1zIGFyZW4ndCBmaWxlcywgcmVqZWN0IHRoZW1cbiAgICAgICAgICBpZiAoZGF0YVRyYW5zZmVyLml0ZW1zW2ldLmtpbmQgPT09ICdmaWxlJykge1xuICAgICAgICAgICAgZmlsZXMucHVzaChkYXRhVHJhbnNmZXIuaXRlbXNbaV0uZ2V0QXNGaWxlKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkYXRhVHJhbnNmZXIuaXRlbXMuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5maWxlRHJvcC5lbWl0KGZpbGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZGF0YVRyYW5zZmVyLmZpbGVzO1xuICAgICAgICBkYXRhVHJhbnNmZXIuY2xlYXJEYXRhKCk7XG4gICAgICAgIHRoaXMuZmlsZURyb3AuZW1pdChBcnJheS5mcm9tKGZpbGVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYm9keTpkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIG9uQm9keURyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcmV2ZW50Qm9keURyb3ApIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdib2R5OmRyb3AnLCBbJyRldmVudCddKVxuICBvbkJvZHlEcm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcmV2ZW50Qm9keURyb3ApIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=