You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.0 KiB
JavaScript
39 lines
1.0 KiB
JavaScript
var _Root = {};
|
|
|
|
_Root.attrs = {};
|
|
|
|
_Root.allowFileDrop = function(cb){
|
|
_Root.attrs.ondragover = function(e){
|
|
e.preventDefault();
|
|
};
|
|
_Root.attrs.ondrop = function(e){
|
|
e.preventDefault(); // don't open the file in the browser
|
|
var files = [];
|
|
|
|
// some browsers use `.items` and some use `.files`, so check for both:
|
|
if (e.dataTransfer.items) {
|
|
for (var i = 0; i < e.dataTransfer.items.length; i++) {
|
|
if (e.dataTransfer.items[i].kind === 'file') { // If dropped items aren't files, reject them
|
|
files.push( e.dataTransfer.items[i].getAsFile() );
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
for (var i = 0; i < e.dataTransfer.files.length; i++) {
|
|
files.push( e.dataTransfer.files[i] );
|
|
}
|
|
}
|
|
for(var i=0, file=null; i<files.length; i++){
|
|
file = files[i]
|
|
cb(file)
|
|
//console.log(file.name);
|
|
}
|
|
}
|
|
};
|
|
|
|
_Root.unallowFileDrop = function(){
|
|
_Root.attrs.ondragover = null;
|
|
_Root.attrs.ondrop = null;
|
|
};
|
|
|
|
export default _Root; |