@vlsergey/react-bootstrap-pagetable
Version:
Complex solution to work with pageable data, including sorting, filtering, actions, changing displayed columns, etc.
21 lines • 1.22 kB
TypeScript
import React from 'react';
import { NewComponentProps as WithActionsPropsType } from './actions/withActions';
import ControlledPropsType from './controlled/ControlledPropsType';
import FetchArgs from './FetchArgs';
import Page from './Page';
export declare type RequiredChildComponentProps<T> = Pick<ControlledPropsType<T>, 'fetchArgs' | 'error' | 'hasError' | 'itemModel' | 'loading' | 'onFetchArgsChange' | 'page'> & Pick<WithActionsPropsType<T>, 'onRefreshRequired'>;
export interface NewComponentProps<T> {
fetch: (fetchArgs: FetchArgs, fetchOptions: FetchOptions, reason: FetchReason) => Promise<Page<T>> | Page<T>;
}
export interface FetchOptions {
signal?: AbortSignal;
}
export declare enum FetchReason {
FIRST_TIME_FETCH = 0,
FETCH_ARGS_CHANGE = 1,
REFRESH_REQUIRED = 2
}
export declare type PropsType<T, P extends RequiredChildComponentProps<T>> = Omit<P, 'error' | 'hasError' | 'loading' | 'onRefreshRequired' | 'page'> & NewComponentProps<T>;
declare const withPageInState: <T, P extends RequiredChildComponentProps<T>>(Child: React.ComponentType<P>) => React.ComponentType<PropsType<T, P>>;
export default withPageInState;
//# sourceMappingURL=withPageInState.d.ts.map