website/Website/wwwroot/js/directives/dragDrop.js

38 lines
824 B
JavaScript

angular.module("robware").directive('dragDrop', function() {
return {
restrict: 'A',
scope: {
dragDrop:'='
},
link: function(scope, element) {
function handleEvent(e){
e.preventDefault();
e.stopPropagation();
}
element.on('dragover', function(e) {
handleEvent(e);
});
element.on('dragenter', function(e) {
handleEvent(e);
$(element).addClass("dragOver");
});
element.on('dragleave', function(e) {
handleEvent(e);
$(element).removeClass("dragOver");
});
element.on('drop', function(e){
handleEvent(e);
$(element).removeClass("dragOver");
if (e.originalEvent.dataTransfer){
if (e.originalEvent.dataTransfer.files.length > 0) {
scope.dragDrop(e.originalEvent.dataTransfer.files);
scope.$apply();
}
}
});
}
};
});