|
@@ -69,12 +69,22 @@
|
|
|
}
|
|
|
} else {
|
|
|
open = true;
|
|
|
-
|
|
|
- const dataTransfer = e.dataTransfer.getData('text/plain');
|
|
|
- const data = JSON.parse(dataTransfer);
|
|
|
-
|
|
|
- console.log(data);
|
|
|
- dispatch('drop', data);
|
|
|
+ try {
|
|
|
+ const dataTransfer = e.dataTransfer.getData('text/plain');
|
|
|
+ if (dataTransfer) {
|
|
|
+ const data = JSON.parse(dataTransfer);
|
|
|
+ console.log(data);
|
|
|
+ dispatch('drop', data);
|
|
|
+ } else {
|
|
|
+ console.log('Dropped text data is empty or not text/plain.');
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log(
|
|
|
+ 'Dropped data is not valid JSON text or is empty. Ignoring drop event for this type of data.'
|
|
|
+ );
|
|
|
+ } finally {
|
|
|
+ draggedOver = false;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -103,7 +113,7 @@
|
|
|
if (!dragAndDrop) {
|
|
|
return;
|
|
|
}
|
|
|
- folderElement.addEventListener('dragover', onDragOver);
|
|
|
+ folderElement.removeEventListener('dragover', onDragOver);
|
|
|
folderElement.removeEventListener('drop', onDrop);
|
|
|
folderElement.removeEventListener('dragleave', onDragLeave);
|
|
|
});
|