ng-file-drag-drop
Version:
Check out [demo](https://raunak811.github.io/angular-file-drag-drop/)
78 lines • 5.15 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/ng-file-drag-drop.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, HostListener, HostBinding, Output, EventEmitter } from '@angular/core';
var NgFileDragDropDirective = /** @class */ (function () {
function NgFileDragDropDirective() {
this.fileDropped = new EventEmitter();
}
/**
* @param {?} e
* @return {?}
*/
NgFileDragDropDirective.prototype.onDragOver = /**
* @param {?} e
* @return {?}
*/
function (e) {
e.preventDefault();
e.stopPropagation();
this.fileOver = true;
};
/**
* @param {?} e
* @return {?}
*/
NgFileDragDropDirective.prototype.onDragLeave = /**
* @param {?} e
* @return {?}
*/
function (e) {
e.preventDefault();
e.stopPropagation();
};
/**
* @param {?} e
* @return {?}
*/
NgFileDragDropDirective.prototype.onDrop = /**
* @param {?} e
* @return {?}
*/
function (e) {
e.preventDefault();
e.stopPropagation();
/** @type {?} */
var files = e.dataTransfer.files;
this.fileOver = false;
if (files.length > 0) {
this.fileDropped.emit(files);
//console.log(`You have choosen ${files.length} files`)
}
};
NgFileDragDropDirective.decorators = [
{ type: Directive, args: [{
selector: '[ngFileDragDrop]'
},] }
];
/** @nocollapse */
NgFileDragDropDirective.ctorParameters = function () { return []; };
NgFileDragDropDirective.propDecorators = {
fileOver: [{ type: HostBinding, args: ['class.fileover',] }],
fileDropped: [{ type: Output }],
onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }],
onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }]
};
return NgFileDragDropDirective;
}());
export { NgFileDragDropDirective };
if (false) {
/** @type {?} */
NgFileDragDropDirective.prototype.fileOver;
/** @type {?} */
NgFileDragDropDirective.prototype.fileDropped;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZmlsZS1kcmFnLWRyb3AuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZmlsZS1kcmFnLWRyb3AvIiwic291cmNlcyI6WyJsaWIvbmctZmlsZS1kcmFnLWRyb3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0Y7SUFRRTtRQUZVLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVoQyxDQUFDOzs7OztJQUVxQiw0Q0FBVTs7OztJQUFoRCxVQUFpRCxDQUFDO1FBQ2hELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFc0MsNkNBQVc7Ozs7SUFBbEQsVUFBbUQsQ0FBQztRQUNsRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRWlDLHdDQUFNOzs7O0lBQXhDLFVBQXlDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQzs7WUFDZCxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDNUIsdURBQXVEO1NBQ3hEO0lBRUgsQ0FBQzs7Z0JBL0JGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7Ozs7MkJBR0UsV0FBVyxTQUFDLGdCQUFnQjs4QkFDNUIsTUFBTTs2QkFJTixZQUFZLFNBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOzhCQU1uQyxZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO3lCQUtwQyxZQUFZLFNBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDOztJQVlsQyw4QkFBQztDQUFBLEFBakNELElBaUNDO1NBOUJZLHVCQUF1Qjs7O0lBRWxDLDJDQUFpRDs7SUFDakQsOENBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmdGaWxlRHJhZ0Ryb3BdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ0ZpbGVEcmFnRHJvcERpcmVjdGl2ZSB7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlb3ZlcicpIGZpbGVPdmVyOiBib29sZWFuO1xuICBAT3V0cHV0KCkgZmlsZURyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSkgb25EcmFnT3ZlcihlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5maWxlT3ZlciA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKSBvbkRyYWdMZWF2ZShlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSkgb25Ecm9wKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBmaWxlcyA9IGUuZGF0YVRyYW5zZmVyLmZpbGVzO1xuICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICBpZihmaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZpbGVEcm9wcGVkLmVtaXQoZmlsZXMpXG4gICAgICAvL2NvbnNvbGUubG9nKGBZb3UgaGF2ZSBjaG9vc2VuICR7ZmlsZXMubGVuZ3RofSBmaWxlc2ApXG4gICAgfVxuICAgIFxuICB9XG5cbn1cbiJdfQ==