Files
image-sequencer/src/ui/SetInputStep.js
Varun Gupta 8d3ca0887f fixes #267 dragZone listener getting confused (#270)
* fixes #267 dragZone listener getting confused

Signed-off-by: tech4GT <varun.gupta1798@gmail.com>

* remove log

Signed-off-by: tech4GT <varun.gupta1798@gmail.com>
2018-05-28 18:44:42 -04:00

51 lines
1.2 KiB
JavaScript

// TODO: potentially move this into ImportImage module
function setInputStepInit() {
return function setInputStep(options) {
var dropzone = $(options.dropZoneSelector);
var fileInput = $(options.fileInputSelector);
var onLoad = options.onLoad;
var reader = new FileReader();
function handleFile(e) {
e.preventDefault();
e.stopPropagation(); // stops the browser from redirecting.
if (e.target && e.target.files) var file = e.target.files[0];
else var file = e.dataTransfer.files[0];
if(!file) return;
var reader = new FileReader();
reader.onload = onLoad;
reader.readAsDataURL(file);
}
fileInput.on('change', handleFile);
dropzone[0].addEventListener('drop', handleFile, false);
dropzone.on('dragover', function onDragover(e) {
e.stopPropagation();
e.preventDefault();
e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
}, false);
dropzone.on('dragenter', function onDragEnter(e) {
dropzone.addClass('hover');
});
dropzone.on('dragleave', function onDragLeave(e) {
dropzone.removeClass('hover');
});
}
}
module.exports = setInputStepInit;