@@ -54,7 +54,7 @@ export class FileDropzoneNoUploaderComponent implements OnInit {
5454 /**
5555 * The function to call when file is added
5656 */
57- @Output ( ) onFileAdded : EventEmitter < any > = new EventEmitter < any > ( ) ;
57+ @Output ( ) onFileAdded : EventEmitter < File > = new EventEmitter < File > ( ) ;
5858
5959 /**
6060 * The uploader configuration options
@@ -83,15 +83,17 @@ export class FileDropzoneNoUploaderComponent implements OnInit {
8383 }
8484
8585 @HostListener ( 'window:drop' , [ '$event' ] )
86- onDrop ( event : any ) {
86+ onDrop ( event : DragEvent ) {
8787 event . preventDefault ( ) ;
88+ event . stopPropagation ( ) ;
8889 }
8990
9091 @HostListener ( 'window:dragover' , [ '$event' ] )
91- onDragOver ( event : any ) {
92+ onDragOver ( event : DragEvent ) {
9293 // Show drop area on the page
9394 event . preventDefault ( ) ;
94- if ( ( event . target as any ) . tagName !== 'HTML' ) {
95+ event . stopPropagation ( ) ;
96+ if ( ( event . target as HTMLElement ) . tagName !== 'HTML' ) {
9597 this . isOverDocumentDropZone = observableOf ( true ) ;
9698 }
9799 }
@@ -105,11 +107,18 @@ export class FileDropzoneNoUploaderComponent implements OnInit {
105107 }
106108 }
107109
110+ public handleFileInput ( event : Event ) {
111+ const input = event . target as HTMLInputElement ;
112+ if ( input . files && input . files . length > 0 ) {
113+ this . setFile ( input . files ) ;
114+ }
115+ }
116+
108117 /**
109118 * Set file
110119 * @param files
111120 */
112- setFile ( files ) {
121+ public setFile ( files : FileList ) {
113122 this . fileObject = files . length > 0 ? files [ 0 ] : undefined ;
114123 this . onFileAdded . emit ( this . fileObject ) ;
115124 }
0 commit comments