Skip to content
This repository was archived by the owner on Jun 18, 2018. It is now read-only.

Commit f91d08e

Browse files
committed
Allow listening to frames.
1 parent 17f7667 commit f91d08e

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

src/HTML5Backend.js

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,20 @@ export default class HTML5Backend {
4343
}
4444
this.constructor.isSetUp = true;
4545

46-
window.addEventListener('dragstart', this.handleTopDragStart);
47-
window.addEventListener('dragstart', this.handleTopDragStartCapture, true);
48-
window.addEventListener('dragend', this.handleTopDragEndCapture, true);
49-
window.addEventListener('dragenter', this.handleTopDragEnter);
50-
window.addEventListener('dragenter', this.handleTopDragEnterCapture, true);
51-
window.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);
52-
window.addEventListener('dragover', this.handleTopDragOver);
53-
window.addEventListener('dragover', this.handleTopDragOverCapture, true);
54-
window.addEventListener('drop', this.handleTopDrop);
55-
window.addEventListener('drop', this.handleTopDropCapture, true);
46+
this.addEventListeners(window);
47+
}
48+
49+
addEventListeners(target) {
50+
target.addEventListener('dragstart', this.handleTopDragStart);
51+
target.addEventListener('dragstart', this.handleTopDragStartCapture, true);
52+
target.addEventListener('dragend', this.handleTopDragEndCapture, true);
53+
target.addEventListener('dragenter', this.handleTopDragEnter);
54+
target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);
55+
target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);
56+
target.addEventListener('dragover', this.handleTopDragOver);
57+
target.addEventListener('dragover', this.handleTopDragOverCapture, true);
58+
target.addEventListener('drop', this.handleTopDrop);
59+
target.addEventListener('drop', this.handleTopDropCapture, true);
5660
}
5761

5862
teardown() {
@@ -62,20 +66,24 @@ export default class HTML5Backend {
6266

6367
this.constructor.isSetUp = false;
6468

65-
window.removeEventListener('dragstart', this.handleTopDragStart);
66-
window.removeEventListener('dragstart', this.handleTopDragStartCapture, true);
67-
window.removeEventListener('dragend', this.handleTopDragEndCapture, true);
68-
window.removeEventListener('dragenter', this.handleTopDragEnter);
69-
window.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);
70-
window.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);
71-
window.removeEventListener('dragover', this.handleTopDragOver);
72-
window.removeEventListener('dragover', this.handleTopDragOverCapture, true);
73-
window.removeEventListener('drop', this.handleTopDrop);
74-
window.removeEventListener('drop', this.handleTopDropCapture, true);
69+
this.removeEventListeners(window);
7570

7671
this.clearCurrentDragSourceNode();
7772
}
7873

74+
removeEventListeners(target) {
75+
target.removeEventListener('dragstart', this.handleTopDragStart);
76+
target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);
77+
target.removeEventListener('dragend', this.handleTopDragEndCapture, true);
78+
target.removeEventListener('dragenter', this.handleTopDragEnter);
79+
target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);
80+
target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);
81+
target.removeEventListener('dragover', this.handleTopDragOver);
82+
target.removeEventListener('dragover', this.handleTopDragOverCapture, true);
83+
target.removeEventListener('drop', this.handleTopDrop);
84+
target.removeEventListener('drop', this.handleTopDropCapture, true);
85+
}
86+
7987
connectDragPreview(sourceId, node, options) {
8088
this.sourcePreviewNodeOptions[sourceId] = options;
8189
this.sourcePreviewNodes[sourceId] = node;

0 commit comments

Comments
 (0)