Sha256: 208400a0b052bc55f89f8acc681ce05a4f82705dea85aba9c1e40c643bedcffc
Contents?: true
Size: 1.07 KB
Versions: 56
Compression:
Stored size: 1.07 KB
Contents
import URI from 'urijs'; import { useForemanSettings } from 'foremanReact/Root/Context/ForemanContext'; const parsePageParams = history => URI.parseQuery(history.location.search); export const addSearch = (basePath, params) => { let stringyfied = ''; if (Object.keys(params).length > 0) { stringyfied = `?${URI.buildQuery(params)}`; } return `${basePath}${stringyfied}`; }; export const useCurrentPagination = ( history, keys = { page: 'page', perPage: 'per_page' } ) => { const pageParams = parsePageParams(history); const uiSettings = useForemanSettings(); return { [keys.page]: parseInt(pageParams[keys.page], 10) || 1, [keys.perPage]: parseInt(pageParams[keys.perPage], 10) || uiSettings.perPage, }; }; export const pageToVars = ( pagination, keys = { page: 'page', perPage: 'per_page' } ) => ({ first: pagination[keys.page] * pagination[keys.perPage], last: pagination[keys.perPage], }); export const useParamsToVars = ( history, keys = { page: 'page', perPage: 'per_page' } ) => pageToVars(useCurrentPagination(history, keys), keys);
Version data entries
56 entries across 56 versions & 1 rubygems