|
@@ -44,8 +44,6 @@ export default class DragDrop<M extends Meta, B extends Body> extends UIPlugin<
|
|
|
// Check for browser dragDrop support
|
|
|
private isDragDropSupported = isDragDropSupported()
|
|
|
|
|
|
- private removeDragOverClassTimeout!: ReturnType<typeof setTimeout>
|
|
|
-
|
|
|
private fileInputRef!: HTMLInputElement
|
|
|
|
|
|
constructor(uppy: Uppy<M, B>, opts?: DragDropOptions) {
|
|
@@ -111,7 +109,6 @@ export default class DragDrop<M extends Meta, B extends Body> extends UIPlugin<
|
|
|
if (!hasFiles || !allowNewUpload) {
|
|
|
// eslint-disable-next-line no-param-reassign
|
|
|
event.dataTransfer!.dropEffect = 'none'
|
|
|
- clearTimeout(this.removeDragOverClassTimeout)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -122,7 +119,6 @@ export default class DragDrop<M extends Meta, B extends Body> extends UIPlugin<
|
|
|
// eslint-disable-next-line no-param-reassign
|
|
|
event.dataTransfer!.dropEffect = 'copy'
|
|
|
|
|
|
- clearTimeout(this.removeDragOverClassTimeout)
|
|
|
this.setPluginState({ isDraggingOver: true })
|
|
|
|
|
|
this.opts.onDragOver?.(event)
|
|
@@ -132,12 +128,7 @@ export default class DragDrop<M extends Meta, B extends Body> extends UIPlugin<
|
|
|
event.preventDefault()
|
|
|
event.stopPropagation()
|
|
|
|
|
|
- clearTimeout(this.removeDragOverClassTimeout)
|
|
|
- // Timeout against flickering, this solution is taken from drag-drop library.
|
|
|
- // Solution with 'pointer-events: none' didn't work across browsers.
|
|
|
- this.removeDragOverClassTimeout = setTimeout(() => {
|
|
|
- this.setPluginState({ isDraggingOver: false })
|
|
|
- }, 50)
|
|
|
+ this.setPluginState({ isDraggingOver: false })
|
|
|
|
|
|
this.opts.onDragLeave?.(event)
|
|
|
}
|
|
@@ -145,9 +136,7 @@ export default class DragDrop<M extends Meta, B extends Body> extends UIPlugin<
|
|
|
private handleDrop = async (event: DragEvent) => {
|
|
|
event.preventDefault()
|
|
|
event.stopPropagation()
|
|
|
- clearTimeout(this.removeDragOverClassTimeout)
|
|
|
|
|
|
- // Remove dragover class
|
|
|
this.setPluginState({ isDraggingOver: false })
|
|
|
|
|
|
const logDropError = (error: any) => {
|