UNPKG

ayongui

Version:
46 lines (45 loc) 1.15 kB
import { useState as s } from "react"; const g = ({ _tableColumns: T, data: f, draggable: n, onDragAfter: D = () => { } }) => { const [r, u] = s(T), [o, d] = s(f), [h, i] = s(null), [v, p] = s(null); return { tableColumns: r, setTableColumns: u, tableData: o, setTableData: d, activeTR: h, activeTD: v, handleDragStart: (t, a) => { n && (p(r[a].dataIndex), t.dataTransfer.setData("sourceIndex", String(a))); }, handleDragStartData: (t, a) => { n && (i(a), t.dataTransfer.setData("sourceIndexData", String(a))); }, handleDragOver: (t) => { n && t.preventDefault(); }, handleDrop: (t, a) => { if (!n) return; p(null); const c = parseInt(t.dataTransfer.getData("sourceIndex")), e = [...r], [l] = e.splice(c, 1); e.splice(a, 0, l), u(e), D(e, o); }, handleDropData: (t, a) => { if (!n) return; i(null); const c = parseInt(t.dataTransfer.getData("sourceIndexData")), e = [...o], [l] = e.splice(c, 1); e.splice(a, 0, l), d(e), D(e, r); } }; }; export { g as default, g as useDragDrop };