fix: early return file dnd if not dragging files (#1000)
This commit is contained in:
@@ -38,6 +38,10 @@ const removeDragOverlay = () => {
|
|||||||
document.getElementById('drag-overlay')?.remove()
|
document.getElementById('drag-overlay')?.remove()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const isHandlingFileDrag = (event: DragEvent) =>
|
||||||
|
event.dataTransfer?.items &&
|
||||||
|
Array.from(event.dataTransfer.items).some((item) => item.kind === 'file')
|
||||||
|
|
||||||
export const AttachedFilesButton: FunctionComponent<Props> = observer(
|
export const AttachedFilesButton: FunctionComponent<Props> = observer(
|
||||||
({ application, appState, onClickPreprocessing }) => {
|
({ application, appState, onClickPreprocessing }) => {
|
||||||
const premiumModal = usePremiumModal()
|
const premiumModal = usePremiumModal()
|
||||||
@@ -223,10 +227,7 @@ export const AttachedFilesButton: FunctionComponent<Props> = observer(
|
|||||||
const dragCounter = useRef(0)
|
const dragCounter = useRef(0)
|
||||||
|
|
||||||
const handleDrag = (event: DragEvent) => {
|
const handleDrag = (event: DragEvent) => {
|
||||||
if (
|
if (isHandlingFileDrag(event)) {
|
||||||
event.dataTransfer?.items &&
|
|
||||||
Array.from(event.dataTransfer.items).some((item) => item.kind === 'file')
|
|
||||||
) {
|
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
event.stopPropagation()
|
event.stopPropagation()
|
||||||
}
|
}
|
||||||
@@ -234,6 +235,10 @@ export const AttachedFilesButton: FunctionComponent<Props> = observer(
|
|||||||
|
|
||||||
const handleDragIn = useCallback(
|
const handleDragIn = useCallback(
|
||||||
(event: DragEvent) => {
|
(event: DragEvent) => {
|
||||||
|
if (!isHandlingFileDrag(event)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
event.stopPropagation()
|
event.stopPropagation()
|
||||||
|
|
||||||
@@ -251,6 +256,10 @@ export const AttachedFilesButton: FunctionComponent<Props> = observer(
|
|||||||
)
|
)
|
||||||
|
|
||||||
const handleDragOut = (event: DragEvent) => {
|
const handleDragOut = (event: DragEvent) => {
|
||||||
|
if (!isHandlingFileDrag(event)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
event.stopPropagation()
|
event.stopPropagation()
|
||||||
|
|
||||||
@@ -267,6 +276,10 @@ export const AttachedFilesButton: FunctionComponent<Props> = observer(
|
|||||||
|
|
||||||
const handleDrop = useCallback(
|
const handleDrop = useCallback(
|
||||||
(event: DragEvent) => {
|
(event: DragEvent) => {
|
||||||
|
if (!isHandlingFileDrag(event)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
event.stopPropagation()
|
event.stopPropagation()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user