stupa-pdf-api/frontend/node_modules/@mui/x-data-grid/hooks/features/pagination/useGridPagination.js

25 lines
1.4 KiB
JavaScript

import _extends from "@babel/runtime/helpers/esm/extends";
import { throwIfPageSizeExceedsTheLimit, getDefaultGridPaginationModel } from './gridPaginationUtils';
import { useGridPaginationModel } from './useGridPaginationModel';
import { useGridRowCount } from './useGridRowCount';
export const paginationStateInitializer = (state, props) => {
var _props$paginationMode, _props$initialState, _ref, _props$rowCount, _props$initialState2;
const paginationModel = _extends({}, getDefaultGridPaginationModel(props.autoPageSize), (_props$paginationMode = props.paginationModel) != null ? _props$paginationMode : (_props$initialState = props.initialState) == null || (_props$initialState = _props$initialState.pagination) == null ? void 0 : _props$initialState.paginationModel);
throwIfPageSizeExceedsTheLimit(paginationModel.pageSize, props.signature);
const rowCount = (_ref = (_props$rowCount = props.rowCount) != null ? _props$rowCount : (_props$initialState2 = props.initialState) == null || (_props$initialState2 = _props$initialState2.pagination) == null ? void 0 : _props$initialState2.rowCount) != null ? _ref : 0;
return _extends({}, state, {
pagination: {
paginationModel,
rowCount
}
});
};
/**
* @requires useGridFilter (state)
* @requires useGridDimensions (event) - can be after
*/
export const useGridPagination = (apiRef, props) => {
useGridPaginationModel(apiRef, props);
useGridRowCount(apiRef, props);
};