UNPKG

choerodon-ui

Version:

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

122 lines (121 loc) 5.63 kB
import React, { ReactNode } from 'react'; import PropTypes from 'prop-types'; import { Size } from '../../../lib/_util/enum'; import DataSetComponent, { DataSetComponentProps } from '../data-set/DataSetComponent'; import { QuickJumperPosition, 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; quickJumperPosition?: QuickJumperPosition; } export default class Pagination extends DataSetComponent<PaginationProps> { static displayName: string; static propTypes: { id: PropTypes.Requireable<string>; size: PropTypes.Requireable<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>; accessKey: PropTypes.Requireable<string | boolean>; dir: PropTypes.Requireable<string>; contentEditable: PropTypes.Requireable<string | boolean>; draggable: PropTypes.Requireable<string | 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>; quickJumperPosition: PropTypes.Requireable<QuickJumperPosition>; }; static defaultProps: { suffixCls: string; sizeChangerPosition: SizeChangerPosition; quickJumperPosition: QuickJumperPosition; sizeChangerOptionRenderer: ({ text }: { text: any; }) => any; hideOnSinglePage: boolean; showSizeChanger: boolean; showQuickJumper: boolean; showSizeChangerLabel: boolean; showTotal: boolean; simple: boolean; }; pageInput?: number | ''; get pageSize(): number; get page(): number; get total(): number | undefined; get totalPage(): number; get next(): boolean; getObservableProps(props: any, context: any): 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(page: any): void; handleJumpChange(value: any): void; handleJumpGo(e: any): void; getOmitPropsKeys(): string[]; 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; }