Merge pull request #4212 from Nachtalb/na/allow-text-drag-n-drop

Allow text drag & drop into text fields
This commit is contained in:
Max Leiter 2021-05-06 19:18:48 -07:00 committed by GitHub
commit 7b298cf439
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -26,31 +26,36 @@ class Uploader {
} }
dragOver(event) { dragOver(event) {
if (event.dataTransfer.types.includes("Files")) {
// Prevent dragover event completely and do nothing with it // Prevent dragover event completely and do nothing with it
// This stops the browser from trying to guess which cursor to show // This stops the browser from trying to guess which cursor to show
event.preventDefault(); event.preventDefault();
} }
}
dragEnter(event) { dragEnter(event) {
event.preventDefault();
// relatedTarget is the target where we entered the drag from // relatedTarget is the target where we entered the drag from
// when dragging from another window, the target is null, otherwise its a DOM element // when dragging from another window, the target is null, otherwise its a DOM element
if (!event.relatedTarget && event.dataTransfer.types.includes("Files")) { if (!event.relatedTarget && event.dataTransfer.types.includes("Files")) {
event.preventDefault();
this.overlay.classList.add("is-dragover"); this.overlay.classList.add("is-dragover");
} }
} }
dragLeave(event) { dragLeave(event) {
event.preventDefault();
// If relatedTarget is null, that means we are no longer dragging over the page // If relatedTarget is null, that means we are no longer dragging over the page
if (!event.relatedTarget) { if (!event.relatedTarget) {
event.preventDefault();
this.overlay.classList.remove("is-dragover"); this.overlay.classList.remove("is-dragover");
} }
} }
drop(event) { drop(event) {
if (!event.dataTransfer.types.includes("Files")) {
return;
}
event.preventDefault(); event.preventDefault();
this.overlay.classList.remove("is-dragover"); this.overlay.classList.remove("is-dragover");