UNPKG

opt-table

Version:

A Responsive and Customizable Rich Table

51 lines 1.91 kB
import React, { useImperativeHandle } from "react"; function useAddRow(props) { // const [added_rows, set_added_row] = React.useState<T[]>([]); const [add_loading, set_add_loading] = React.useState(false); const [show_error, set_show_error] = React.useState({ message: "", input_index: null, }); const openShowError = (index, message) => { set_show_error({ input_index: index, message }); }; const closeShowError = (index, message) => { set_show_error({ input_index: null, message: "" }); }; const [is_create_new_row, set_is_create_new_row] = React.useState(false); const [newRow, addNewRow] = React.useState({}); const addNewRowHandler = (data) => { addNewRow((pre) => (Object.assign(Object.assign({}, pre), { [data.key]: data.value }))); }; const clear_row_handler = () => { // set_is_create_new_row(false); addNewRow({}); }; // const refContext = useContext(sharedMethodContext); useImperativeHandle(props.ref, () => ({ // ...refContext, addNewRow: (value) => { var _a, _b; if (value === undefined) { /* @ts-ignore */ (_b = (_a = props === null || props === void 0 ? void 0 : props.ref) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.setRowToEditMode(-1); } set_is_create_new_row((pre) => (value !== undefined ? value : !pre)); }, }), []); return { addNewRowHandler, is_create_new_row, set_is_create_new_row, // added_rows, clear_row_handler, newRow, add_loading, openShowError, closeShowError, show_error, set_add_loading, }; } export default useAddRow; //# sourceMappingURL=useAddRow.js.map