ng-uploader
Version:
## ng-uploader [](https://github.com/mgechev/angular2-style-guide)
71 lines • 2.56 kB
JavaScript
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