UNPKG

drf-react-by-schema

Version:

Components and Tools for building a React App having Django Rest Framework (DRF) as server

44 lines (43 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRowMode = void 0; const react_1 = require("react"); const useRowMode = (apiRef) => { const [validationErrors, setValidationErrors] = (0, react_1.useState)({}); const [selectionModel, setSelectionModel] = (0, react_1.useState)([]); const [selectionModelIds, setSelectionModelIds] = (0, react_1.useState)([]); const handleSaveClick = (0, react_1.useCallback)((id) => () => { apiRef.current.stopRowEditMode({ id }); }, [apiRef]); const handleEditInlineClick = (0, react_1.useCallback)((id, fieldToFocus) => () => { setTimeout(() => { apiRef.current.startRowEditMode({ id, fieldToFocus }); if (fieldToFocus) { apiRef.current.setCellFocus(id, fieldToFocus); } }); }, [apiRef]); const handleCancelClick = (0, react_1.useCallback)((id) => () => { apiRef.current.stopRowEditMode({ id, ignoreModifications: true }); }, [apiRef]); const handleScrollToTop = (0, react_1.useCallback)(() => { apiRef.current.scrollToIndexes({ rowIndex: 0 }); }, [apiRef]); const isRowEditing = (0, react_1.useCallback)((id) => { return apiRef.current.getRowMode(id) === 'edit'; }, [apiRef]); return { validationErrors, setValidationErrors, selectionModel, setSelectionModel, selectionModelIds, setSelectionModelIds, handleSaveClick, handleEditInlineClick, handleCancelClick, handleScrollToTop, isRowEditing, }; }; exports.useRowMode = useRowMode;