wix-style-react
Version:
41 lines (37 loc) • 1.37 kB
JavaScript
import { dragAndDropDriverFactory } from '../../utils/DragAndDrop/dragAndDropDriverFactory';
import { baseUniDriverFactory } from '../../../test/utils/unidriver';
export const draggableUniDriverFactory = (base, body) => {
return {
...baseUniDriverFactory(base, body),
/**
* fire dragstart event for the provided draggable item
* @param {DraggableItemDetails} itemDetails { id: string, dataHook: string }
* @return {Promise<void>}
*/
beginDrag: async ({ dataHook, id }) =>
dragAndDropDriverFactory({
base,
element: await base.getNative(),
}).beginDrag({ dataHook, id }),
/**
* fire dragover event for the provided draggable item
* @param {DraggableItemDetails} itemDetails { id: string, dataHook: string }
* @return {Promise<void>}
*/
dragOver: async ({ dataHook, id }) =>
dragAndDropDriverFactory({
base,
element: await base.getNative(),
}).dragOver({ dataHook, id }),
/**
* fire drop and dragend events for the provided draggable item
* @param {DraggableItemDetails} itemDetails { id: string, dataHook: string }
* @return {Promise<void>}
*/
endDrag: async draggableItemDetails =>
dragAndDropDriverFactory({
base,
element: await base.getNative(),
}).endDrag(draggableItemDetails),
};
};