UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

125 lines (124 loc) 6.42 kB
import * as React from 'react'; import * as PropTypes from 'prop-types'; import { Store } from './createStore'; import Column from './Column'; import ColumnGroup from './ColumnGroup'; import { TableProps, TableState, TableComponents, TableLocale, ColumnProps, TableStateFilters, SelectionItemSelectFn, SelectionInfo, PrepareParamsArgumentsReturn, ExpandIconProps } from './interface'; import { RadioChangeEvent } from '../radio'; import { CheckboxChangeEvent } from '../checkbox'; import { ConfigConsumerProps } from '../config-provider'; export default class Table<T> extends React.Component<TableProps<T>, TableState<T>> { static Column: typeof Column; static ColumnGroup: typeof ColumnGroup; static propTypes: { dataSource: PropTypes.Requireable<any[]>; columns: PropTypes.Requireable<any[]>; prefixCls: PropTypes.Requireable<string>; useFixedHeader: PropTypes.Requireable<boolean>; rowSelection: PropTypes.Requireable<object>; className: PropTypes.Requireable<string>; size: PropTypes.Requireable<"small" | "default" | "middle">; loading: PropTypes.Requireable<boolean | object>; bordered: PropTypes.Requireable<boolean>; onChange: PropTypes.Requireable<(...args: any[]) => any>; locale: PropTypes.Requireable<object>; dropdownPrefixCls: PropTypes.Requireable<string>; sortDirections: PropTypes.Requireable<any[]>; getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { dataSource: never[]; useFixedHeader: boolean; className: string; size: "small" | "default" | "middle"; loading: boolean; bordered: boolean; indentSize: number; locale: {}; rowKey: string; showHeader: boolean; sortDirections: string[]; childrenColumnName: string; }; CheckboxPropsCache: { [key: string]: any; }; store: Store; columns: ColumnProps<T>[]; components: TableComponents; row: React.ComponentType<any>; constructor(props: TableProps<T>); componentWillReceiveProps(nextProps: TableProps<T>): void; getCheckboxPropsByItem: (item: T, index: number) => any; getDefaultSelection(): any[]; getDefaultPagination(props: TableProps<T>): {}; getSortOrderColumns(columns?: ColumnProps<T>[]): any; getFilteredValueColumns(columns?: ColumnProps<T>[]): any; getFiltersFromColumns(columns?: ColumnProps<T>[]): any; getDefaultSortOrder(columns?: ColumnProps<T>[]): { sortColumn: any; sortOrder: any; }; getSortStateFromColumns(columns?: ColumnProps<T>[]): { sortColumn: any; sortOrder: any; }; getMaxCurrent(total: number): number | undefined; getRecordKey: (record: T, index: number) => any; getSorterFn(state: TableState<T>): ((a: T, b: T) => number) | undefined; getCurrentPageData(): T[]; getFlatData(): any[]; getFlatCurrentPageData(): any[]; getLocalData(state?: TableState<T> | null, filter?: boolean): Array<T>; onRow: (prefixCls: string, record: T, index: number) => { prefixCls: string; store: Store; rowKey: any; onClick?: ((arg: React.SyntheticEvent<Element, Event>) => void) | undefined; onDoubleClick?: ((arg: React.SyntheticEvent<Element, Event>) => void) | undefined; onContextMenu?: ((arg: React.SyntheticEvent<Element, Event>) => void) | undefined; onMouseEnter?: ((arg: React.SyntheticEvent<Element, Event>) => void) | undefined; onMouseLeave?: ((arg: React.SyntheticEvent<Element, Event>) => void) | undefined; }; setSelectedRowKeys(selectedRowKeys: string[], selectionInfo: SelectionInfo<T>): void; generatePopupContainerFunc: (getPopupContainer: ((triggerNode: HTMLElement) => HTMLElement) | undefined) => ((triggerNode: HTMLElement) => HTMLElement) | undefined; handleFilter: (column: ColumnProps<T>, nextFilters: string[]) => void; handleSelect: (record: T, rowIndex: number, e: CheckboxChangeEvent) => void; handleRadioSelect: (record: T, rowIndex: number, e: RadioChangeEvent) => void; handleSelectRow: (selectionKey: string, index: number, onSelectFunc: SelectionItemSelectFn) => void; handlePageChange: (current: number, ...otherArguments: any[]) => void; handleShowSizeChange: (current: number, pageSize: number) => void; toggleSortOrder(column: ColumnProps<T>): void; hasPagination(props?: any): boolean; isFiltersChanged(filters: TableStateFilters): boolean; isSortColumn(column: ColumnProps<T>): boolean; prepareParamsArguments(state: any): PrepareParamsArgumentsReturn<T>; findColumn(myKey: string | number): undefined; createComponents(components?: TableComponents, prevComponents?: TableComponents): void; recursiveSort(data: T[], sorterFn: (a: any, b: any) => number): T[]; renderExpandIcon: (prefixCls: string) => ({ expandable, expanded, needIndentSpaced, record, onExpand, }: ExpandIconProps<T>) => JSX.Element | null; renderPagination(prefixCls: string, paginationPosition: string): JSX.Element | null; renderSelectionBox: (type: "checkbox" | "radio" | undefined) => (_: any, record: T, index: number) => JSX.Element; renderRowSelection({ prefixCls, locale, getPopupContainer, }: { prefixCls: string; locale: TableLocale; getPopupContainer: TableProps<T>['getPopupContainer']; }): ColumnProps<T>[]; renderColumnsDropdown({ prefixCls, dropdownPrefixCls, columns, locale, getPopupContainer, }: { prefixCls: string; dropdownPrefixCls: string; columns: ColumnProps<T>[]; locale: TableLocale; getPopupContainer: TableProps<T>['getPopupContainer']; }): any[]; renderColumnTitle(title: ColumnProps<T>['title']): React.ReactNode; renderTable: ({ prefixCls, renderEmpty, dropdownPrefixCls, contextLocale, getPopupContainer: contextGetPopupContainer, }: { prefixCls: string; renderEmpty: (componentName?: string | undefined) => React.ReactNode; dropdownPrefixCls: string; contextLocale: TableLocale; getPopupContainer: ((triggerNode: HTMLElement) => HTMLElement) | undefined; }) => JSX.Element; renderComponent: ({ getPrefixCls, renderEmpty, getPopupContainer }: ConfigConsumerProps) => JSX.Element; render(): JSX.Element; }