UNPKG

@trail-ui/react

Version:
40 lines (38 loc) 1.01 kB
// src/editable-table/table-context/table-context-provider.tsx import { createContext, useContext } from "react"; import { jsx } from "react/jsx-runtime"; var EditableTableContext = createContext({ handleSaveData: () => { }, idSelector: () => { }, table: {} }); function TableContextProvider({ children, ...props }) { return /* @__PURE__ */ jsx(EditableTableContext.Provider, { value: props, children }); } function useTableContext(cell) { const { handleSaveData, idSelector, table } = useContext( EditableTableContext ); function updateData(value) { var _a; const accessorKey = cell.column.columnDef.accessorKey; handleSaveData({ accessorKey, columnId: cell.column.id, rowId: idSelector(cell.row.original), value }); (_a = table.options.meta) == null ? void 0 : _a.updateData(cell.row.id, cell.column.id, value); } return { updateData, idSelector, table }; } export { EditableTableContext, TableContextProvider, useTableContext };