mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-05 13:52:15 +00:00
# Which Problems Are Solved # How the Problems Are Solved # Additional Changes # Additional Context - Closes #10690
30 lines
796 B
TypeScript
30 lines
796 B
TypeScript
import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
|
|
|
|
@Directive({
|
|
selector: '[cnslDropzone]',
|
|
standalone: false,
|
|
})
|
|
export class DropzoneDirective {
|
|
@Output() dropped: EventEmitter<FileList> = new EventEmitter<FileList>();
|
|
@Output() hovered: EventEmitter<boolean> = new EventEmitter<boolean>();
|
|
|
|
@HostListener('drop', ['$event'])
|
|
onDrop($event: DragEvent): void {
|
|
$event.preventDefault();
|
|
this.dropped.emit($event.dataTransfer?.files);
|
|
this.hovered.emit(false);
|
|
}
|
|
|
|
@HostListener('dragover', ['$event'])
|
|
onDragOver($event: any): void {
|
|
$event.preventDefault();
|
|
this.hovered.emit(true);
|
|
}
|
|
|
|
@HostListener('dragleave', ['$event'])
|
|
onDragLeave($event: any): void {
|
|
$event.preventDefault();
|
|
this.hovered.emit(false);
|
|
}
|
|
}
|