Я реализую обнаружение перекрытия, используя событие перетаскивания из Angular Material, но мне нужно создать директиву, которая прослушивает также событие drag :
DragDirective:
@Directive({
selector: '[appDrag]'
})
export class DragDirective {
constructor(private el: ElementRef, private renderer: Renderer2) {
this.renderer.setAttribute(el.nativeElement, 'draggable', 'true');
}
@HostListener('dragstart', ['$event'])
public onDragStart(ev: DragEvent) {
console.log(`onDragStart: `, ev); // doesn't work if cdkDrag attribute is placed on the element
}
}
HTML:
<div class="draggable" appDrag cdkDrag *ngFor="let keywordGroupCollection of keywordGroupsSelected; let i = index">
other elements here
</div>