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

Commit a0bfef0

Browse files
committed
Merge pull request #9 from akorchev/master
Allow listening to frames.
2 parents 9538acd + 930cdfb commit a0bfef0

File tree

2 files changed

+29
-20
lines changed

2 files changed

+29
-20
lines changed

.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
test
2+
.babelrc

src/HTML5Backend.js

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

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

5963
teardown() {
@@ -63,20 +67,24 @@ export default class HTML5Backend {
6367

6468
this.constructor.isSetUp = false;
6569

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

7772
this.clearCurrentDragSourceNode();
7873
}
7974

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

0 commit comments

Comments
 (0)