UNPKG

koval-ui

Version:

React components collection with minimalistic design. Supports theming, layout, and input validation.

52 lines (51 loc) 1.46 kB
"use client"; import { useCallback as e, useMemo as w } from "react"; /* empty css */ import { set as x } from "../../../internal/utils/set.js"; import { ProcessingModes as D } from "../types.js"; import { useDialogState as j } from "../../Dialog/useDialogState.js"; const P = ({ rowSelection: c, table: i, tableData: u, processingMode: d, setTableData: l, onEdit: h, clearSelection: p }) => { const { openDialog: f } = j( i.options.meta?.deleteModalId ), { openDialog: a } = j(i.options.meta?.editModalId), k = e(() => { f(); }, [f]), y = e(() => { a({ selectionAmount: Object.keys(c).length }); }, [c, a]), o = w( () => Object.keys(c).map((t) => Number(t)), [c] ), R = e( (t, s, n, m) => { const r = [...t]; return s.forEach((O) => { const q = i.getColumn(n)?.columnDef.meta?.accessorKey; x(r[O], q, m); }), r; }, [i] ), C = e( (t, s) => { const n = R(u, o, t, s), m = Object.fromEntries( o.map((r) => [r, n[r]]) ); d === D.internal && l(n), h(m), p(); }, [p, R, h, d, o, l, u] ), g = e((t, s) => t.filter((n, m) => !s.has(m)), []), E = e(() => { const t = g(u, new Set(o)); d === D.internal && l(t), h({}), p(); }, [g, u, o, d, l, h, p]); return { handleDeleteRequest: k, handleDelete: E, handleEdit: C, handleEditRequest: y }; }; export { P as useEdit }; //# sourceMappingURL=useEdit.js.map