UNPKG

@mui/x-data-grid

Version:

The Community plan edition of the MUI X Data Grid components.

30 lines (29 loc) 1.41 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { throwIfPageSizeExceedsTheLimit, getDefaultGridPaginationModel } from "./gridPaginationUtils.js"; import { useGridPaginationModel } from "./useGridPaginationModel.js"; import { useGridRowCount } from "./useGridRowCount.js"; import { useGridPaginationMeta } from "./useGridPaginationMeta.js"; export const paginationStateInitializer = (state, props) => { const paginationModel = _extends({}, getDefaultGridPaginationModel(props.autoPageSize), props.paginationModel ?? props.initialState?.pagination?.paginationModel); throwIfPageSizeExceedsTheLimit(paginationModel.pageSize, props.signature); const rowCount = props.rowCount ?? props.initialState?.pagination?.rowCount ?? (props.paginationMode === 'client' ? state.rows?.totalRowCount : undefined); const meta = props.paginationMeta ?? props.initialState?.pagination?.meta ?? {}; return _extends({}, state, { pagination: _extends({}, state.pagination, { paginationModel, rowCount, meta, enabled: props.pagination === true, paginationMode: props.paginationMode }) }); }; /** * @requires useGridFilter (state) * @requires useGridDimensions (event) - can be after */ export const useGridPagination = (apiRef, props) => { useGridPaginationMeta(apiRef, props); useGridPaginationModel(apiRef, props); useGridRowCount(apiRef, props); };