1 import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core'
4 selector: '[myDragDrop]'
6 export class DragDropDirective {
7 @Output() fileDropped = new EventEmitter<FileList>()
9 @HostBinding('class.dragover') dragover = false
11 @HostListener('dragover', [ '$event' ]) onDragOver (e: Event) {
17 @HostListener('dragleave', [ '$event' ]) public onDragLeave (e: Event) {
23 @HostListener('drop', [ '$event' ]) public ondrop (e: DragEvent) {
27 const files = e.dataTransfer.files
28 if (files.length > 0) this.fileDropped.emit(files)