1 | import { h } from 'preact';
|
2 | import { PluginBaseComponent, PluginBaseProps } from '../../plugin';
|
3 | interface PaginationState {
|
4 | page: number;
|
5 | limit?: number;
|
6 | total: number;
|
7 | }
|
8 | export interface PaginationConfig {
|
9 | enabled: boolean;
|
10 | limit?: number;
|
11 | page?: number;
|
12 | summary?: boolean;
|
13 | nextButton?: boolean;
|
14 | prevButton?: boolean;
|
15 | buttonsCount?: number;
|
16 | resetPageOnUpdate?: boolean;
|
17 | server?: {
|
18 | url?: (prevUrl: string, page: number, limit: number) => string;
|
19 | body?: (prevBody: BodyInit, page: number, limit: number) => BodyInit;
|
20 | };
|
21 | }
|
22 | export declare class Pagination extends PluginBaseComponent<PluginBaseProps<Pagination> & PaginationConfig, PaginationState> {
|
23 | private processor;
|
24 | private onUpdateFn;
|
25 | private setTotalFromTabularFn;
|
26 | static defaultProps: {
|
27 | summary: boolean;
|
28 | nextButton: boolean;
|
29 | prevButton: boolean;
|
30 | buttonsCount: number;
|
31 | limit: number;
|
32 | resetPageOnUpdate: boolean;
|
33 | };
|
34 | constructor(props: any, context: any);
|
35 | componentWillMount(): void;
|
36 | private setTotalFromTabular;
|
37 | private onUpdate;
|
38 | componentDidMount(): void;
|
39 | componentWillUnmount(): void;
|
40 | private get pages();
|
41 | private setPage;
|
42 | private setTotal;
|
43 | renderPages(): h.JSX.Element;
|
44 | renderSummary(): h.JSX.Element;
|
45 | render(): h.JSX.Element;
|
46 | }
|
47 | export {};
|