Skip to content

Commit 9fe1982

Browse files
committed
Merge pull request #91 from flowjs/revert-85-patch-1
fix: Revert "Removing bindings to avoid memory leaks"
2 parents 865b845 + 0b7105a commit 9fe1982

File tree

1 file changed

+19
-37
lines changed

1 file changed

+19
-37
lines changed

src/directives/drag-events.js

Lines changed: 19 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,8 @@ angular.module('flow.dragEvents', ['flow.init'])
77
return {
88
'scope': false,
99
'link': function(scope, element, attrs) {
10-
var drop = function(event) {
10+
element.bind('drop dragover', function (event) {
1111
event.preventDefault();
12-
}
13-
14-
element.bind('drop dragover', drop);
15-
16-
scope.$on('$destroy', function() {
17-
element.unbind('drop dragover', drop);
1812
});
1913
}
2014
};
@@ -29,36 +23,24 @@ angular.module('flow.dragEvents', ['flow.init'])
2923
'link': function(scope, element, attrs) {
3024
var promise;
3125
var enter = false;
32-
33-
var dragOver = function(event) {
34-
if (!isFileDrag(event)) {
35-
return ;
36-
}
37-
if (!enter) {
38-
scope.$apply(attrs.flowDragEnter);
39-
enter = true;
40-
}
41-
$timeout.cancel(promise);
42-
event.preventDefault();
43-
}
44-
45-
element.bind('dragover', dragOver);
46-
47-
var dragLeave = function(event) {
48-
promise = $timeout(function () {
49-
scope.$eval(attrs.flowDragLeave);
50-
promise = null;
51-
enter = false;
52-
}, 100);
53-
}
54-
55-
element.bind('dragleave drop', dragLeave);
56-
57-
scope.$on('$destroy', function() {
58-
element.unbind('dragover', dragOver);
59-
element.unbind('dragleave drop', dragLeave);
26+
element.bind('dragover', function (event) {
27+
if (!isFileDrag(event)) {
28+
return ;
29+
}
30+
if (!enter) {
31+
scope.$apply(attrs.flowDragEnter);
32+
enter = true;
33+
}
34+
$timeout.cancel(promise);
35+
event.preventDefault();
36+
});
37+
element.bind('dragleave drop', function (event) {
38+
promise = $timeout(function () {
39+
scope.$eval(attrs.flowDragLeave);
40+
promise = null;
41+
enter = false;
42+
}, 100);
6043
});
61-
6244
function isFileDrag(dragEvent) {
6345
var fileDrag = false;
6446
var dataTransfer = dragEvent.dataTransfer || dragEvent.originalEvent.dataTransfer;
@@ -71,4 +53,4 @@ angular.module('flow.dragEvents', ['flow.init'])
7153
}
7254
}
7355
};
74-
}]);
56+
}]);

0 commit comments

Comments
 (0)