UNPKG

ng-uploader

Version:

## ng-uploader [![Angular 2 Style Guide](https://mgechev.github.io/angular2-style-guide/images/badge.svg)](https://github.com/mgechev/angular2-style-guide)

71 lines 2.56 kB
import { Directive, ElementRef, HostListener, Output, EventEmitter } from '@angular/core'; import { NgUploader } from './ng-uploader'; var NgUploadDropDirective = (function () { function NgUploadDropDirective(el, uploader) { this.uploader = uploader; this.isUploadBotton = false; this.onFileOver = new EventEmitter(); this.onFileDrop = new EventEmitter(); this.el = el; } NgUploadDropDirective.prototype.onDropHandler = function ($event) { var transfer = this._getTransfer($event); if (!this._haveFiles(transfer.types)) { return; } this._preventAndStop($event); this.uploader.addFiles(transfer.files); this.onFileDrop.emit(transfer.files); }; NgUploadDropDirective.prototype.onDragOverHandler = function ($event) { var transfer = this._getTransfer(event); if (!this._haveFiles(transfer.types)) { return; } this.onFileOver.emit(true); }; NgUploadDropDirective.prototype.onDragOverLeave = function ($event) { this.onFileOver.emit(false); }; NgUploadDropDirective.prototype._preventAndStop = function (event) { event.preventDefault(); event.stopPropagation(); }; NgUploadDropDirective.prototype._getTransfer = function (event) { return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; }; NgUploadDropDirective.prototype._haveFiles = function (types) { if (!types) { return false; } if (types.indexOf) { return types.indexOf('Files') !== -1; } else if (types.contains) { return types.contains('Files'); } else { return false; } }; return NgUploadDropDirective; }()); export { NgUploadDropDirective }; NgUploadDropDirective.decorators = [ { type: Directive, args: [{ selector: '[ng2UploadDrop]' },] }, ]; /** @nocollapse */ NgUploadDropDirective.ctorParameters = function () { return [ { type: ElementRef, }, { type: NgUploader, }, ]; }; NgUploadDropDirective.propDecorators = { 'onFileOver': [{ type: Output },], 'onFileDrop': [{ type: Output },], 'onDropHandler': [{ type: HostListener, args: ['drop', ['$event'],] },], 'onDragOverHandler': [{ type: HostListener, args: ['dragover', ['$event'],] },], 'onDragOverLeave': [{ type: HostListener, args: ['dragleave', ['$event'],] },], }; //# sourceMappingURL=ng-drop-directive.js.map