UNPKG

6.03 kBTypeScriptView Raw
1import React, { Component } from 'react';
2import PropTypes from 'prop-types';
3import { SpinProps } from '../spin';
4import { Store } from './createStore';
5import Column from './Column';
6import ColumnGroup from './ColumnGroup';
7import { ColumnProps, SelectionItemSelectFn, TableComponents, TableLocale, TablePaginationConfig, TableProps, TableState, TableStateFilters } from './interface';
8import { RadioChangeEvent } from '../radio';
9import { CheckboxChangeEvent } from '../checkbox';
10import { Size } from '../_util/enum';
11export default class Table<T> extends Component<TableProps<T>, TableState<T>> {
12 static displayName: string;
13 static Column: typeof Column;
14 static ColumnGroup: typeof ColumnGroup;
15 static propTypes: {
16 dataSource: PropTypes.Requireable<any[]>;
17 empty: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
18 onColumnFilterChange: PropTypes.Requireable<(...args: any[]) => any>;
19 columns: PropTypes.Requireable<any[]>;
20 prefixCls: PropTypes.Requireable<string>;
21 useFixedHeader: PropTypes.Requireable<boolean>;
22 rowSelection: PropTypes.Requireable<object>;
23 className: PropTypes.Requireable<string>;
24 size: PropTypes.Requireable<Size>;
25 loading: PropTypes.Requireable<boolean | object>;
26 bordered: PropTypes.Requireable<boolean>;
27 onChange: PropTypes.Requireable<(...args: any[]) => any>;
28 locale: PropTypes.Requireable<object>;
29 dropdownPrefixCls: PropTypes.Requireable<string>;
30 filterBar: PropTypes.Requireable<boolean>;
31 filters: PropTypes.Requireable<any[]>;
32 filterBarPlaceholder: PropTypes.Requireable<string>;
33 onFilterSelectChange: PropTypes.Requireable<(...args: any[]) => any>;
34 noFilter: PropTypes.Requireable<boolean>;
35 autoScroll: PropTypes.Requireable<boolean>;
36 indentSize: PropTypes.Requireable<number>;
37 rowKey: PropTypes.Requireable<string | ((...args: any[]) => any)>;
38 showHeader: PropTypes.Requireable<boolean>;
39 };
40 static defaultProps: {
41 dataSource: never[];
42 empty: null;
43 useFixedHeader: boolean;
44 rowSelection: null;
45 className: string;
46 size: Size;
47 loading: boolean;
48 bordered: boolean;
49 indentSize: number;
50 locale: {};
51 rowKey: string;
52 showHeader: boolean;
53 filterBar: boolean;
54 noFilter: boolean;
55 autoScroll: boolean;
56 };
57 CheckboxPropsCache: {
58 [key: string]: any;
59 };
60 store: Store;
61 columns: ColumnProps<T>[];
62 components: TableComponents;
63 private refTable;
64 constructor(props: TableProps<T>);
65 saveRef: (ref: any) => void;
66 getCheckboxPropsByItem: (item: T, index: number) => any;
67 getPrefixCls(): string;
68 getDefaultSelection(): any[];
69 getDefaultPagination(props: TableProps<T>): {};
70 componentWillReceiveProps(nextProps: TableProps<T>): void;
71 onRow: (record: T, index: number) => any;
72 setSelectedRowKeys(selectedRowKeys: string[], { selectWay, record, checked, changeRowKeys, nativeEvent }: any): void;
73 hasPagination(props?: any): boolean;
74 isFiltersChanged(filters: TableStateFilters): boolean;
75 getSortOrderColumns(columns?: ColumnProps<T>[]): ColumnProps<T>[];
76 getFilteredValueColumns(columns?: ColumnProps<T>[]): ColumnProps<T>[];
77 getFiltersFromColumns(columns?: ColumnProps<T>[]): any;
78 getDefaultSortOrder(columns?: ColumnProps<T>[]): {
79 sortColumn: ColumnProps<T>;
80 sortOrder: boolean | "ascend" | "descend" | undefined;
81 } | {
82 sortColumn: null;
83 sortOrder: null;
84 };
85 getSortStateFromColumns(columns?: ColumnProps<T>[]): {
86 sortColumn: ColumnProps<T>;
87 sortOrder: boolean | "ascend" | "descend" | undefined;
88 } | {
89 sortColumn: null;
90 sortOrder: null;
91 };
92 getSorterFn(): ((a: T, b: T) => number) | undefined;
93 setSortOrder(order: string, column: ColumnProps<T>): void;
94 toggleSortOrder(order: string, column: ColumnProps<T>): void;
95 setNewFilterState(newState: any): void;
96 handleFilterSelectClear: () => void;
97 handleFilterSelectChange: (barFilters: any[]) => void;
98 handleColumnFilterChange: (e?: any) => void;
99 handleFilter: (column: ColumnProps<T>, nextFilters: string[]) => void;
100 handleSelect: (record: T, rowIndex: number, e: CheckboxChangeEvent) => void;
101 handleRadioSelect: (record: T, rowIndex: number, e: RadioChangeEvent) => void;
102 handleSelectRow: (selectionKey: string, index: number, onSelectFunc: SelectionItemSelectFn) => any;
103 handlePageChange: (current: number, ...otherArguments: any[]) => void;
104 renderSelectionBox: (type: "checkbox" | "radio" | undefined) => (_: any, record: T, index: number) => JSX.Element;
105 getRecordKey: (record: T, index: number) => any;
106 getPopupContainer: () => HTMLElement;
107 renderRowSelection(locale: TableLocale): ColumnProps<T>[];
108 getColumnKey(column: ColumnProps<T>, index?: number): string | number | undefined;
109 getMaxCurrent(total: number): number | undefined;
110 isSortColumn(column: ColumnProps<T>): boolean;
111 renderColumnsDropdown(columns: ColumnProps<T>[], locale: TableLocale): any[];
112 handleShowSizeChange: (current: number, pageSize: number) => void;
113 renderPagination(paginationPosition: string): JSX.Element | null;
114 prepareParamsArguments(state: any): [TablePaginationConfig | boolean, string[], Object, any[]];
115 findColumn(myKey: string | number): ColumnProps<T> | undefined;
116 getCurrentPageData(): T[];
117 getFlatData(): any[];
118 getFlatCurrentPageData(): any[];
119 recursiveSort(data: T[], sorterFn: (a: any, b: any) => number): T[];
120 getLocalData(): T[];
121 doBarFilter(filter: any, record: T): boolean;
122 createComponents(components?: TableComponents, prevComponents?: TableComponents): void;
123 renderTable: (contextLocale: TableLocale, loading: SpinProps) => React.ReactNode;
124 render(): JSX.Element;
125}