UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

56 lines (55 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const reactTable = require("react-table"); const useInstanceHook = (instance) => { reactTable.ensurePluginOrder( instance.plugins, [ "usePagination", "useHvGlobalFilter", "useHvFilters", "useGroupBy", "useHvSortBy", "useHvRowExpand" ], "useHvPagination" ); const getInstance = reactTable.useGetLatest(instance); const getHvPaginationProps = reactTable.makePropGetter( instance.getHooks().getHvPaginationProps, { instance: getInstance() } ); Object.assign(instance, { getHvPaginationProps }); }; const defaultGetHvPaginationProps = (props, { instance }) => { const { canPreviousPage, canNextPage, pageOptions, gotoPage, setPageSize, state: { pageSize, pageIndex }, labels } = instance; const nextProps = { canPrevious: canPreviousPage, canNext: canNextPage, pages: pageOptions.length, page: pageIndex, pageSize, onPageChange: gotoPage, onPageSizeChange: setPageSize, labels }; return [props, nextProps]; }; const useHvPagination = (hooks) => { hooks.getHvPaginationProps = [defaultGetHvPaginationProps]; hooks.useInstance.push(useInstanceHook); }; useHvPagination.pluginName = "useHvPagination"; exports.useHvPagination = useHvPagination;