UNPKG

@hitachivantara/uikit-react-core

Version:
36 lines (35 loc) 1.18 kB
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 };