@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
36 lines (35 loc) • 1.18 kB
JavaScript
import { ensurePluginOrder, makePropGetter, useGetLatest } from "react-table";
//#region src/Table/hooks/useHvPagination.ts
var useInstanceHook = (instance) => {
ensurePluginOrder(instance.plugins, [
"usePagination",
"useHvGlobalFilter",
"useHvFilters",
"useGroupBy",
"useHvSortBy",
"useHvRowExpand"
], "useHvPagination");
const getInstance = useGetLatest(instance);
const getHvPaginationProps = makePropGetter(instance.getHooks().getHvPaginationProps, { instance: getInstance() });
Object.assign(instance, { getHvPaginationProps });
};
var defaultGetHvPaginationProps = (props, { instance }) => {
const { canPreviousPage, canNextPage, pageOptions, gotoPage, setPageSize, state: { pageSize, pageIndex }, labels } = instance;
return [props, {
canPrevious: canPreviousPage,
canNext: canNextPage,
pages: pageOptions.length,
page: pageIndex,
pageSize,
onPageChange: gotoPage,
onPageSizeChange: setPageSize,
labels
}];
};
var useHvPagination = (hooks) => {
hooks.getHvPaginationProps = [defaultGetHvPaginationProps];
hooks.useInstance.push(useInstanceHook);
};
useHvPagination.pluginName = "useHvPagination";
//#endregion
export { useHvPagination };