fix: refine folder component's drag-&-drop error handling

This commit is contained in:
Silentoplayz 2025-06-17 23:27:45 -04:00
parent 3b70841a7d
commit b120637127

View File

@ -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);
});