import { PaginationConfig } from "antd/es/pagination"; import { DataCollectionStore } from "@haulmont/jmix-react-core"; import React from "react"; import { TablePaginationConfig } from "antd/es/table"; declare type Props = { paginationConfig: PaginationConfig; total?: number; onPagingChange: (current: number, pageSize?: number) => void; }; export declare class Paging extends React.Component { render(): JSX.Element; } /** * Returns new PaginationConfig object with 'current' and 'pageSize' params, parsed from location.search. * If param not found in search url, previous value (currentPrev, pageSizePrev) will be returned. * If new pageSize not contains in config pageSizeOptions - previous config will be returned. * * @param locationSearch trying to find paging params here * @param currentPrev - previous value, will be returned in result if new value not found in locationSearch * @param pageSizePrev - previous value, will be returned in result if new value not found in locationSearch */ export declare function parsePagingParams(locationSearch: string, currentPrev: number | undefined, pageSizePrev: number | undefined): PaginationConfig; /** * Add paging params at the end of url string. * Returns url with * Note - expects that url has no params, so this method add '?' before params. * * @param url - params will be added to this url * @param current - current page * @param pageSize - page size */ export declare function addPagingParams(url: string, current: number | undefined, pageSize: number | undefined): string; /** * Apply paginationConfig to collectionDataStore, reload dataStore if required * * @param pagination - PaginationConfig * @param dataCollection -page size and current page will be set to this collection data store * @param reload - reload collection data store, if needsr */ export declare function setPagination(pagination: PaginationConfig | TablePaginationConfig, dataCollection: DataCollectionStore, reload?: boolean): void; /** * @param urlParams query params from 'location.history' * @param disabled set to true, if no pagination required for component * @param prevConfig previous paging configuration, by default used Paging#defaultPagingConfig */ export declare function createPagingConfig(urlParams: string, disabled?: boolean, prevConfig?: PaginationConfig): { position?: import("antd/es/pagination/Pagination").PaginationPosition | undefined; total?: number | undefined; defaultCurrent?: number | undefined; disabled?: boolean | undefined; current?: number | undefined; defaultPageSize?: number | undefined; pageSize?: number | undefined; onChange?: ((page: number, pageSize?: number | undefined) => void) | undefined; hideOnSinglePage?: boolean | undefined; showSizeChanger?: boolean | undefined; pageSizeOptions?: string[] | undefined; onShowSizeChange?: ((current: number, size: number) => void) | undefined; showQuickJumper?: boolean | { goButton?: React.ReactNode; } | undefined; showTitle?: boolean | undefined; showTotal?: ((total: number, range: [number, number]) => React.ReactNode) | undefined; size?: "default" | "small" | undefined; responsive?: boolean | undefined; simple?: boolean | undefined; style?: React.CSSProperties | undefined; locale?: Object | undefined; className?: string | undefined; prefixCls?: string | undefined; selectPrefixCls?: string | undefined; itemRender?: ((page: number, type: "page" | "prev" | "next" | "jump-prev" | "jump-next", originalElement: React.ReactElement>) => React.ReactNode) | undefined; role?: string | undefined; showLessItems?: boolean | undefined; totalBoundaryShowSizeChanger?: number | undefined; } | { config: { position?: import("antd/es/pagination/Pagination").PaginationPosition | undefined; total?: number | undefined; defaultCurrent?: number | undefined; disabled?: boolean | undefined; current?: number | undefined; defaultPageSize?: number | undefined; pageSize?: number | undefined; onChange?: ((page: number, pageSize?: number | undefined) => void) | undefined; hideOnSinglePage?: boolean | undefined; showSizeChanger?: boolean | undefined; pageSizeOptions?: string[] | undefined; onShowSizeChange?: ((current: number, size: number) => void) | undefined; showQuickJumper?: boolean | { goButton?: React.ReactNode; } | undefined; showTitle?: boolean | undefined; showTotal?: ((total: number, range: [number, number]) => React.ReactNode) | undefined; size?: "default" | "small" | undefined; responsive?: boolean | undefined; simple?: boolean | undefined; style?: React.CSSProperties | undefined; locale?: Object | undefined; className?: string | undefined; prefixCls?: string | undefined; selectPrefixCls?: string | undefined; itemRender?: ((page: number, type: "page" | "prev" | "next" | "jump-prev" | "jump-next", originalElement: React.ReactElement>) => React.ReactNode) | undefined; role?: string | undefined; showLessItems?: boolean | undefined; totalBoundaryShowSizeChanger?: number | undefined; }; disabled: boolean; }; export {};