0.0.3 • Published 9 months ago

react-use-table-query-params v0.0.3

Weekly downloads
-
License
Unlicense
Repository
github
Last release
9 months ago

useTableQueryParams

A simple React library for managing filtering and pagination through the URL

API

useTableQueryParams()

useTableQueryParams(args: UseTableQueryParamsArgs<
    QKey extends string,
    QObj extends Partial<Record<QKey, any>>,
    FObj extends Record<string, any>,
    OKey extends string,
    ODirection extends OrderDirection>
) => UseTableQueryParamsResponse<QKey, QObj, FObj, OKey, ODirection>

interface UseTableQueryParamsResponse<
    QKey extends string,
    QObj extends Partial<Record<QKey, any>>,
    FObj extends Record<string, any>,
    OKey extends string,
    ODirection extends OrderDirection,
> extends UsePaginationParamsResponse {
    filtersForRequest: QObj,
    filtersForRender: FObj,
    onSubmitFilters: (data: FObj) => void,
    clearFilters: () => void,
    changeOrder: (key: OKey) => void,
    orderBy: Optional<OKey>,
    orderDirection: Optional<ODirection>,
    offset?: number,
    limit?: number,
}

Parameter extends from parameters of usePaginationParams

ParameterTypeRequired?Description
keysQKey[]requiredList of keys, which be used for filters
parseFiltersForRequest(params: URLSearchParams) => QObjrequiredFunction which for convert URLSearchParams to object for request
prepareFiltersForComponents(params: URLSearchParams) => FObjrequiredFunction which for convert URLSearchParams to object for filters in UI
beforeSubmit(data: FObj) => QObjrequiredFunction which for convert filter object to object for URL
validateOrderByvalidateOrderBy: (params: string) => Optional<OKey>requiredFunction which for validate orderKey
defaultOrderKeydefaultOrderKey?: OKeyoptionalDefault order key
defaultParamsdefaultParams?: QObjoptionalDefault object for URLSearchParams
defaultDirectiondefaultDirection?: ODirectionoptionalDefault order direction
limitnumberoptionalDefault limit
offsetnumberoptionalDefault offset
0.0.3

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago