UNPKG

painless-ui

Version:
94 lines (93 loc) 2.46 kB
import React from 'react'; import './Table.css'; interface TableProps { className?: string; containerStyle?: object; data: Array<object> | any; dataType?: string; columns: Array<typeArrayColumns | typeObjectColumns>; headerWrapperComponent?: Function; responsive?: boolean; rows?: Rows; serverSide?: boolean; style?: object; loading?: boolean; paginationOptions?: PaginationOptions; searchOptions?: SearchOptions; sortOptions?: SortOptions; noHeader?: boolean; noBg?: boolean; border?: boolean; [key: string]: any; } interface Columns { className?: string; name: string; sortable?: boolean; searchable?: boolean; filter?: boolean; rowSpan?: any; colSpan?: any; render?: Function; onSort?: Function; filterRender?: Function; filterData?: Function; onFilter?: Function; } interface Rows { classNameCallback?: Function; } interface typeArrayColumns extends Columns { selector?: string; } interface typeObjectColumns extends Columns { selector: string; } interface PaginationOptions { pagination?: boolean; totalNoOfData?: number; currentPage?: number; limit?: number; beforeChange?: Function; onChange?: Function; } interface SearchOptions { searchable?: boolean; onSearch?: Function; searchComponent?: Function; } interface SortOptions { onSort?: Function; } declare class Table extends React.PureComponent<TableProps> { state: { currentPage: number; sortBy: string; loading: boolean; order: string; searchKeyword: string; filterColumnData: {}; }; rowSpanSkipDetails: {}; colSpanSkipDetails: {}; isChangesDetected: Boolean; setSortController(sortBy: any): void; search(d: Array<any>): Array<any>; sort(d: Array<any>): Array<any>; filter(d: Array<any>): Array<any>; paginate(d: Array<any>): any; pageChange(page: any): void; getRowSpan(column: Columns, c: any, r: any): number; getColSpan(column: Columns, c: any, r: any): number; static getDerivedStateFromProps(nextProps: any, state: any): { localChange: boolean; loading?: undefined; } | { loading: any; localChange?: undefined; }; getSnapshotBeforeUpdate(prevProps: any): any; componentDidUpdate(prevProps: any, prevState: any): void; render(): JSX.Element; } export default Table;