import HTML5Backend from 'react-dnd-html5-backend'; class DNDBackend extends HTML5Backend { handleTopDragEndCapture(e) { if (this.isDraggingNativeItem()) { setTimeout(() => { this.actions.endDrag(); }); return; } super.handleTopDragEndCapture(e); } handleTopDragOver(e) { if (this.isDraggingNativeItem()) return; super.handleTopDragOver(e); } handleTopDragLeaveCapture(e) { if (this.isDraggingNativeItem()) return; super.handleTopDragLeaveCapture(e); } handleTopDropCapture(e) { if (this.isDraggingNativeItem()) return; super.handleTopDropCapture(e); } handleTopDrop(e) { if (!this.monitor.isDragging() || this.isDraggingNativeItem()) return; super.handleTopDrop(e); } } export default function(manager) { return new DNDBackend(manager); }