UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

130 lines (129 loc) 5.63 kB
/// <reference types="lodash" /> import React, { ReactNode } from 'react'; import PropTypes from 'prop-types'; import DataSetComponent, { DataSetComponentProps } from '../data-set/DataSetComponent'; import { SizeChangerPosition } from './enum'; import { Renderer } from '../field/FormField'; export declare type PagerType = 'page' | 'prev' | 'next' | 'first' | 'last' | 'jump-prev' | 'jump-next'; export interface PaginationProps extends DataSetComponentProps { total?: number; page?: number; pageSize?: number; maxPageSize?: number; onChange?: (page: number, pageSize: number) => void; itemRender?: (page: number, type: PagerType) => ReactNode; pageSizeOptions?: string[]; pageSizeEditable?: boolean; sizeChangerPosition?: SizeChangerPosition; sizeChangerOptionRenderer?: Renderer; showSizeChanger?: boolean; showQuickJumper?: boolean | { goButton?: React.ReactNode; }; showSizeChangerLabel?: boolean; showTotal?: boolean | ((total: number, range: [number, number]) => React.ReactNode); showPager?: boolean; hideOnSinglePage?: boolean; simple?: boolean; } export default class Pagination extends DataSetComponent<PaginationProps> { static displayName: string; static propTypes: { id: PropTypes.Requireable<string>; size: PropTypes.Requireable<import("../core/enum").Size>; suffixCls: PropTypes.Requireable<string>; prefixCls: PropTypes.Requireable<string>; title: PropTypes.Requireable<PropTypes.ReactNodeLike>; disabled: PropTypes.Requireable<boolean>; hidden: PropTypes.Requireable<boolean>; autoFocus: PropTypes.Requireable<boolean>; style: PropTypes.Requireable<object>; className: PropTypes.Requireable<string>; tabIndex: PropTypes.Requireable<number>; lang: PropTypes.Requireable<string>; spellCheck: PropTypes.Requireable<boolean>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseUp: PropTypes.Requireable<(...args: any[]) => any>; onMouseDown: PropTypes.Requireable<(...args: any[]) => any>; onMouseMove: PropTypes.Requireable<(...args: any[]) => any>; onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>; onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>; onMouseOver: PropTypes.Requireable<(...args: any[]) => any>; onMouseOut: PropTypes.Requireable<(...args: any[]) => any>; onContextMenu: PropTypes.Requireable<(...args: any[]) => any>; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; onKeyUp: PropTypes.Requireable<(...args: any[]) => any>; onKeyPress: PropTypes.Requireable<(...args: any[]) => any>; dataSet: PropTypes.Requireable<object>; total: PropTypes.Requireable<number>; page: PropTypes.Requireable<number>; pageSize: PropTypes.Requireable<number>; onChange: PropTypes.Requireable<(...args: any[]) => any>; itemRender: PropTypes.Requireable<(...args: any[]) => any>; sizeChangerPosition: PropTypes.Requireable<SizeChangerPosition>; sizeChangerOptionRenderer: PropTypes.Requireable<(...args: any[]) => any>; showSizeChanger: PropTypes.Requireable<boolean>; showQuickJumper: PropTypes.Requireable<boolean | object>; showSizeChangerLabel: PropTypes.Requireable<boolean>; showTotal: PropTypes.Requireable<boolean | ((...args: any[]) => any)>; showPager: PropTypes.Requireable<boolean>; simple: PropTypes.Requireable<boolean>; }; static defaultProps: { suffixCls: string; sizeChangerPosition: SizeChangerPosition; sizeChangerOptionRenderer: ({ text }: { text: any; }) => any; hideOnSinglePage: boolean; showSizeChanger: boolean; showQuickJumper: boolean; showSizeChangerLabel: boolean; showTotal: boolean; simple: boolean; }; goInputText: number; lastPageSize: number; pageInput?: number | ''; get pageSize(): number; get page(): number; get total(): number | undefined; get totalPage(): number; getObservableProps(props: any, context: any): { page: any; pageSize: any; total: any; pageSizeOptions: any; pageSizeEditable: any; maxPageSize: any; dataSet: any; lang: any; }; handlePageSizeBeforeChange(value: any): boolean | Promise<boolean>; handlePageSizeChange(value: number): void; handleChange(page: number, pageSize: number): void; handlePagerClick: (page: any) => void; getValidValue(value: any): any; jumpPage: ((value: any) => void) & import("lodash").Cancelable; /** * 快速跳至 input 事件 * @param e */ handleJump(e: any): void; handleJumpChange(value: any): void; handleJumpGo(e: any): void; getOtherProps(): Pick<Pick<any, string | number | symbol>, string | number | symbol>; getOptions(): ReactNode; getPager(page: number, type: PagerType, active?: boolean, disabledSender?: boolean): JSX.Element; renderPagers(page: number): ReactNode; renderSizeChange(pageSize: number): ReactNode; renderTotal(pageSize: number, page: number, total: number): ReactNode; /** * 渲染快速跳至 */ renderQuickGo(): ReactNode; render(): JSX.Element | null; }