fix(listeners) dragndrop: upload files from downloads bar

This commit is contained in:
coderaiser 2015-01-30 07:40:39 -05:00
parent a9223e5336
commit fd48eb6c96

View file

@ -264,25 +264,38 @@ var Util, DOM, CloudFunc, CloudCmd;
var panels = DOM.getByClassAll('panel'),
forEach = Array.prototype.forEach,
preventDefault = function (event) {
event.preventDefault();
},
toggle = function () {
toggle = function() {
forEach.call(panels, function(panel) {
DOM.toggleClass(panel, 'selected-panel');
});
},
onDrop = function (event) {
onDrop = function(event) {
var files = event.dataTransfer.files;
preventDefault(event);
event.preventDefault();
DOM.uploadFiles(files);
},
/*
* In Mac OS Chrome dropEffect = 'none'
* so drop do not firing up when try
* to upload file from download bar
*/
onDragOver = function(event) {
var dataTransfer = event.dataTransfer,
effectAllowed = dataTransfer.effectAllowed;
if (/move|linkMove/.test(effectAllowed))
dataTransfer.dropEffect = 'move';
else
dataTransfer.dropEffect = 'copy';
event.preventDefault();
};
Events.add(['dragenter', 'dragleave', 'drop'], toggle);
forEach.call(panels, function(panel) {
Events.add('dragover', panel, preventDefault)
Events.add('dragover', panel, onDragOver)
.add('drop', panel, onDrop);
});
}