UNPKG

@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
/** * @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=