Files
ohif-viewer/platform/ui/src/utils/viewerbaseDragDropContext.js
T
Erik Ziegler 6fdac4d605 fix: Use HTML5Backend for drag-drop if the device does not support touch (#927)
* fix: Use HTML5Backend for drag-drop if the device does not support touch, since it's less buggy

* Forgot React when using jsx
2019-09-19 14:57:04 +02:00

21 lines
760 B
JavaScript

import React from 'react';
import { DndProvider } from "react-dnd";
import HTML5Backend from 'react-dnd-html5-backend';
import TouchBackend from 'react-dnd-touch-backend';
const isTouchDevice = !!('ontouchstart' in window || navigator.maxTouchPoints);
// See https://github.com/react-dnd/react-dnd/issues/186#issuecomment-335429067
// https://github.com/react-dnd/react-dnd/issues/186#issuecomment-282789420
//
// http://react-dnd.github.io/react-dnd/docs/api/drag-drop-context
export default function viewerbaseDragDropContext(DecoratedClass) {
const backend = isTouchDevice ? TouchBackend({ enableMouseEvents: true }) : HTML5Backend;
return (props) => (
<DndProvider backend={backend}>
<DecoratedClass {...props}/>
</DndProvider>
);
}