dragManager.js 726 B

1234567891011121314151617181920212223
  1. export default function(state, emitter) {
  2. emitter.on('DOMContentLoaded', () => {
  3. document.body.addEventListener('dragover', event => {
  4. if (state.route === '/') {
  5. event.preventDefault();
  6. const files = document.querySelector('.uploadedFilesWrapper');
  7. files.classList.add('uploadArea--noEvents');
  8. }
  9. });
  10. document.body.addEventListener('drop', event => {
  11. if (state.route === '/' && !state.uploading) {
  12. event.preventDefault();
  13. document
  14. .querySelector('.uploadArea')
  15. .classList.remove('uploadArea--dragging');
  16. const files = Array.from(event.dataTransfer.files);
  17. emitter.emit('addFiles', { files });
  18. }
  19. });
  20. });
  21. }