Skip to content

Commit 443e449

Browse files
radben13leviathanbadger
authored andcommitted
feat(drag-and-drop): expose subject for drag event to customize drag event data
1 parent 26f7638 commit 443e449

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

lib/directives/tree-drag.directive.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export class TreeDragDirective implements DoCheck {
2121
// setting the data is required by firefox
2222
ev.dataTransfer.setData('text', ev.target.id);
2323
this.treeDraggedElement.set(this.draggedElement);
24+
this.treeDraggedElement.setDragEvent(ev);
2425
if (this.draggedElement.mouseAction) {
2526
this.draggedElement.mouseAction('dragStart', ev);
2627
}

lib/models/tree-dragged-element.model.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import { Injectable } from '@angular/core';
2+
import { Subject } from 'rxjs/Subject';
3+
import { Observable } from 'rxjs/Observable';
24

35
@Injectable()
46
export class TreeDraggedElement {
@@ -8,6 +10,14 @@ export class TreeDraggedElement {
810
this._draggedElement = draggedElement;
911
}
1012

13+
_dragEventSubject: Subject<DragEvent> = new Subject<DragEvent>();
14+
setDragEvent(e: DragEvent) {
15+
this._dragEventSubject.next(e);
16+
}
17+
get dragEventObservable(): Observable<DragEvent> {
18+
return this._dragEventSubject.asObservable();
19+
}
20+
1121
get(): any {
1222
return this._draggedElement;
1323
}

0 commit comments

Comments
 (0)