UNPKG

wix-style-react

Version:
31 lines 1.29 kB
import draggableDriverFactory from '../DragAndDrop/Draggable/Draggable.driver'; import { dataAttributes } from '../DragAndDrop/Draggable/constants'; import { dataHooks } from './constants'; const sortableListBaseFactory = ({ element }) => { const draggableDriver = draggableDriverFactory({ element: element.querySelector(`[data-hook="${dataHooks.provider}"]`), }); return { /** checks if exists */ exists: () => !!element, /** reorder sortable list items */ reorder: ({ dataHookFrom, dataHookTo }) => { draggableDriver.beginDrag({ dataHook: dataHookFrom, }); draggableDriver.dragOver({ dataHook: dataHookTo }); draggableDriver.endDrag(); }, /** get draggable item position */ getItemPosition: ({ dataHook }) => { const draggableItems = [ ...element.querySelectorAll(`[${dataAttributes.draggableTarget}]`), ]; return draggableItems.findIndex(item => item .querySelectorAll(`[${dataAttributes.draggableSource}]`)[0] .getAttribute('data-hook') === dataHook); }, }; }; export default sortableListBaseFactory; //# sourceMappingURL=SortableListBase.driver.js.map