linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
30 lines β’ 1.11 kB
JavaScript
import React from 'react';
import { DndContext } from '@dnd-kit/core';
import { arrayMove, SortableContext, horizontalListSortingStrategy } from '@dnd-kit/sortable';
var HeaderRowSortWarp = function HeaderRowSortWarp(_ref) {
var children = _ref.children,
items = _ref.items,
updateItems = _ref.updateItems;
var onDragEnd = function onDragEnd(_ref2) {
var active = _ref2.active,
over = _ref2.over;
if (active.id !== (over === null || over === void 0 ? void 0 : over.id)) {
var activeIndex = items.findIndex(function (i) {
return i.key === active.id;
});
var overIndex = items.findIndex(function (i) {
return i.key === (over === null || over === void 0 ? void 0 : over.id);
});
updateItems(arrayMove(items, activeIndex, overIndex));
}
};
return /*#__PURE__*/React.createElement(DndContext, {
onDragEnd: onDragEnd
}, /*#__PURE__*/React.createElement(SortableContext, {
items: items.map(function (i) {
return i.key;
}),
strategy: horizontalListSortingStrategy
}, children));
};
export default HeaderRowSortWarp;