wix-style-react
Version:
26 lines (19 loc) • 867 B
JavaScript
import { dragAndDropDriverFactory } from '../../utils/DragAndDrop/dragAndDropDriverFactory';
const draggableDriverFactory = ({ element, wrapper, component }) => {
const dragAndDropDriver = dragAndDropDriverFactory({ element });
return {
wrapper,
exists: () => !!element,
childByHook: hook => element.querySelector(`[data-hook="${hook}"]`),
component,
/** fire dragstart event for the provided draggable item */
beginDrag: ({ dataHook, id }) =>
dragAndDropDriver.beginDrag({ dataHook, id }),
/** fire dragover event for the provided draggable item */
dragOver: ({ dataHook, id }) =>
dragAndDropDriver.dragOver({ dataHook, id }),
/** fire drop and dragend events for the provided draggable item */
endDrag: dataHook => dragAndDropDriver.endDrag({ dataHook }),
};
};
export default draggableDriverFactory;