UNPKG

choerodon-ui

Version:

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

246 lines (245 loc) 13 kB
import React, { Component, ReactNode, ReactText } from 'react'; import DataSet from '../../pro/lib/data-set/DataSet'; import DsRecord from '../../pro/lib/data-set/Record'; import { TablePaginationConfig } from '../../pro/lib/table/interface'; import { PaginationProps } from '../../pro/lib/pagination/interface'; import { SpinProps } from '../spin'; import { Size } from '../_util/enum'; import Item from './Item'; import ConfigContext, { ConfigContextValue } from '../config-provider/ConfigContext'; export { ListItemProps, ListItemMetaProps } from './Item'; export declare type ColumnCount = 1 | 2 | 3 | 4 | 6 | 8 | 12 | 24; export declare type ColumnType = 'gutter' | 'column' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'; export interface ListGridType { gutter?: number; column?: ColumnCount; xs?: ColumnCount; sm?: ColumnCount; md?: ColumnCount; lg?: ColumnCount; xl?: ColumnCount; xxl?: ColumnCount; } export interface RowSelection { selectedRowKeys?: ReactText[]; defaultSelectedRowKeys?: ReactText[]; onChange?: (keys: ReactText[]) => void; } export interface ListProps { bordered?: boolean; className?: string; children?: ReactNode; dataSource?: any; extra?: ReactNode; grid?: ListGridType; id?: string; itemLayout?: string; loading?: boolean | SpinProps; loadMore?: ReactNode; paginationProps?: PaginationProps & { current?: number; defaultCurrent?: number; defaultPageSize?: number; tiny?: boolean; size?: string; onShowSizeChange?: Function; }; pagination?: TablePaginationConfig | false; prefixCls?: string; rowPrefixCls?: string; spinPrefixCls?: string; rowKey?: any; renderItem: any; size?: Size; split?: boolean; header?: ReactNode; footer?: ReactNode; empty?: ReactNode; locale?: Record<string, any>; dataSet?: DataSet; rowSelection?: RowSelection | boolean; } export interface ListLocale { emptyText: string; } export default class List extends Component<ListProps> { static displayName: string; static Item: typeof Item; static get contextType(): typeof ConfigContext; static defaultProps: { dataSource: never[]; bordered: boolean; split: boolean; loading: boolean; pagination: boolean; }; context: ConfigContextValue; stateCheckedKeys: ReactText[]; paginationCurrent: number; defaultPaginationProps: { page: number; pageSize: number; onChange: (page: number, pageSize: number) => void; total: number; }; private keys; get rowSelectionKeys(): ReactText[] | undefined; get checkedKeys(): ReactText[]; get paginationProps(): { total: any; page: number; pageSize: number; position?: import("../../components-pro/table/enum").TablePaginationPosition | undefined; maxPageSize?: number | undefined; onChange: ((page: number, pageSize: number) => void) | ((page: number, pageSize: number) => void); beforeChange?: ((page: number, pageSize: number) => boolean | void | Promise<boolean | undefined> | undefined) | undefined; itemRender?: ((page: number, type: import("../../components-pro/pagination/Pagination").PagerType) => React.ReactNode) | undefined; pageSizeOptions?: string[] | undefined; pageSizeEditable?: boolean | undefined; sizeChangerPosition?: import("../../components-pro/pagination/enum").SizeChangerPosition | undefined; sizeChangerOptionRenderer?: import("../../components-pro/field/FormField").Renderer<import("../../components-pro/field/FormField").RenderProps> | undefined; showSizeChanger?: boolean | undefined; showQuickJumper?: boolean | { goButton?: React.ReactNode; } | undefined; showSizeChangerLabel?: boolean | undefined; showTotal?: boolean | ((total: number, range: [number, number], counting?: boolean | undefined) => React.ReactNode) | undefined; showPager?: boolean | undefined; hideOnSinglePage?: boolean | undefined; simple?: boolean | undefined; quickJumperPosition?: import("../../components-pro/pagination/enum").QuickJumperPosition | undefined; dataSet?: DataSet | undefined; code?: boolean | undefined; disabled?: boolean | undefined; title?: React.ReactNode; size?: Size | undefined; onAuxClick?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onAuxClickCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onClick?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onClickCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onDoubleClick?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onDoubleClickCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onContextMenu?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onContextMenuCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseUp?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseUpCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseDown?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseDownCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseMove?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseMoveCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseEnter?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseEnterCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseLeave?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseLeaveCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseOver?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseOverCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseOut?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onMouseOutCapture?: ((event: React.MouseEvent<any, MouseEvent>) => void) | undefined; onKeyDown?: ((event: React.KeyboardEvent<any>) => void) | undefined; onKeyDownCapture?: ((event: React.KeyboardEvent<any>) => void) | undefined; onKeyUp?: ((event: React.KeyboardEvent<any>) => void) | undefined; onKeyUpCapture?: ((event: React.KeyboardEvent<any>) => void) | undefined; onKeyPress?: ((event: React.KeyboardEvent<any>) => void) | undefined; onKeyPressCapture?: ((event: React.KeyboardEvent<any>) => void) | undefined; onFocus?: ((event: React.FocusEvent<any, Element>) => void) | undefined; onFocusCapture?: ((event: React.FocusEvent<any, Element>) => void) | undefined; onBlur?: ((event: React.FocusEvent<any, Element>) => void) | undefined; onBlurCapture?: ((event: React.FocusEvent<any, Element>) => void) | undefined; onCopy?: ((event: React.ClipboardEvent<any>) => void) | undefined; onCopyCapture?: ((event: React.ClipboardEvent<any>) => void) | undefined; onCut?: ((event: React.ClipboardEvent<any>) => void) | undefined; onCutCapture?: ((event: React.ClipboardEvent<any>) => void) | undefined; onPaste?: ((event: React.ClipboardEvent<any>) => void) | undefined; onPasteCapture?: ((event: React.ClipboardEvent<any>) => void) | undefined; onCompositionEnd?: ((event: React.CompositionEvent<any>) => void) | undefined; onCompositionEndCapture?: ((event: React.CompositionEvent<any>) => void) | undefined; onCompositionStart?: ((event: React.CompositionEvent<any>) => void) | undefined; onCompositionStartCapture?: ((event: React.CompositionEvent<any>) => void) | undefined; onCompositionUpdate?: ((event: React.CompositionEvent<any>) => void) | undefined; onCompositionUpdateCapture?: ((event: React.CompositionEvent<any>) => void) | undefined; 'aria-activedescendant'?: string | undefined; 'aria-atomic'?: boolean | "false" | "true" | undefined; 'aria-autocomplete'?: "none" | "both" | "inline" | "list" | undefined; 'aria-busy'?: boolean | "false" | "true" | undefined; 'aria-checked'?: boolean | "mixed" | "false" | "true" | undefined; 'aria-colcount'?: number | undefined; 'aria-colindex'?: number | undefined; 'aria-colspan'?: number | undefined; 'aria-controls'?: string | undefined; 'aria-current'?: boolean | "time" | "page" | "false" | "true" | "step" | "date" | "location" | undefined; 'aria-describedby'?: string | undefined; 'aria-details'?: string | undefined; 'aria-disabled'?: boolean | "false" | "true" | undefined; 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined; 'aria-errormessage'?: string | undefined; 'aria-expanded'?: boolean | "false" | "true" | undefined; 'aria-flowto'?: string | undefined; 'aria-grabbed'?: boolean | "false" | "true" | undefined; 'aria-haspopup'?: boolean | "dialog" | "menu" | "listbox" | "grid" | "false" | "true" | "tree" | undefined; 'aria-hidden'?: boolean | "false" | "true" | undefined; 'aria-invalid'?: boolean | "false" | "true" | "grammar" | "spelling" | undefined; 'aria-keyshortcuts'?: string | undefined; 'aria-label'?: string | undefined; 'aria-labelledby'?: string | undefined; 'aria-level'?: number | undefined; 'aria-live'?: "off" | "assertive" | "polite" | undefined; 'aria-modal'?: boolean | "false" | "true" | undefined; 'aria-multiline'?: boolean | "false" | "true" | undefined; 'aria-multiselectable'?: boolean | "false" | "true" | undefined; 'aria-orientation'?: "horizontal" | "vertical" | undefined; 'aria-owns'?: string | undefined; 'aria-placeholder'?: string | undefined; 'aria-posinset'?: number | undefined; 'aria-pressed'?: boolean | "mixed" | "false" | "true" | undefined; 'aria-readonly'?: boolean | "false" | "true" | undefined; 'aria-relevant'?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined; 'aria-required'?: boolean | "false" | "true" | undefined; 'aria-roledescription'?: string | undefined; 'aria-rowcount'?: number | undefined; 'aria-rowindex'?: number | undefined; 'aria-rowspan'?: number | undefined; 'aria-selected'?: boolean | "false" | "true" | undefined; 'aria-setsize'?: number | undefined; 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined; 'aria-valuemax'?: number | undefined; 'aria-valuemin'?: number | undefined; 'aria-valuenow'?: number | undefined; 'aria-valuetext'?: string | undefined; id?: string | undefined; tabIndex?: number | undefined; key?: string | number | undefined; suffixCls?: string | undefined; prefixCls?: string | undefined; className?: string | undefined; elementClassName?: string | undefined; style?: React.CSSProperties | undefined; hidden?: boolean | undefined; lang?: import("../../components-dataset/locale-context/enum").Lang | undefined; spellCheck?: boolean | "false" | "true" | undefined; autoFocus?: boolean | undefined; dir?: string | undefined; accessKey?: string | undefined; contentEditable?: boolean | "inherit" | "false" | "true" | undefined; draggable?: boolean | "false" | "true" | undefined; }; componentWillMount(): void; componentWillUnmount(): void; handleDataSetLoad(): void; processDataSetListener(flag: boolean): void; initDefaultCheckRows(): void; getContextValue(): { grid: ListGridType | undefined; getPrefixCls: typeof import("../configure").getPrefixCls; }; renderItem: (item: React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | DsRecord, index: number) => any; isSomethingAfterLastItem(): boolean; renderEmpty: (contextLocale: ListLocale) => JSX.Element; getPrefixCls(): string; updateStateKey(value: any, key: any): (string | number)[]; handleChange(value: any, key: any): void; renderCheckBox(key: any): { element: () => JSX.Element; isChecked: boolean; } | undefined; render(): JSX.Element; }