I am trying to use muuri-react to build a masonry gallery that supports videos, images, doc and pdf. On the backend i am storing the position of the item when the user drags it to some position so i want to get the two item when they swap so i can send the updated positions to the backend.
Looking at this example i couldn't figure out how can i do that i didn't find anything in the documentation either
<MuuriComponent
dragEnabled
dragFixed
sort={sort}
dragSortPredicate={{
action: "swap"
}}
dragSortHeuristics={{
sortInterval: 0
}}
>
{items}
</MuuriComponent>
I want to be able to do something like this
const onSortEnd = ({ oldIndex, newIndex }) => {
setSwap([
{
id: items[oldIndex].id,
// make sure to assign old indexes ID to new order
position: newIndex,
},
{
id: items[newIndex].id,
// make sure to assign new indexes ID to old order
position: oldIndex,
},
])
const array = items
const tmp = array[newIndex]
tmp.position = oldIndex
array[newIndex] = array[oldIndex]
array[newIndex].position = newIndex
array[oldIndex] = tmp
setItems(array)
}
like we do in react-sortable-hoc