import React, { ReactNode } from 'react'; import { TableProps } from '@alifd/next/types/table'; import { ICommonMethods } from "../mixin/commonMethods"; import { IColumnMethods } from "../mixin/columnMethods"; import { IWebToolbarProps } from "../component/webToolbar"; import { IEditableMethods, IEditableMethodsProps } from "../mixin/editableMethods"; import { IWebNextTableActionCellProps } from "../component/webNextTableActionCell"; import { IWebNextTableCellProps } from "../component/webNextTableCell"; import { LoadingProps } from '@alifd/next/types/loading'; export interface IWebTableProps extends IWebToolbarProps, IEditableMethodsProps, Omit, Omit { data?: any; columns?: any[]; nextTablePrefix?: string; isPagination?: boolean; actionTitle?: string; actionFixed?: string; actionWidth?: number | string; pagination?: any; primaryKey?: string; onFetchData?: (options: Pick & { from: string; }) => void; onLoadData?: (...options: any[]) => void; onColumnsChange?: (columns: IWebTableProps['columns']) => void; setEmptyContent?: boolean; emptyContent?: (() => ReactNode) | ReactNode; noPadding?: boolean; dataSource?: any; device?: string; actionHidden?: boolean; theme?: string; width?: string | number; height?: string | number; showRowSelector?: boolean; onSelect?: NonNullable['onSelect']; onSelectAll?: NonNullable['onSelectAll']; isRowSelectorDisabled?: (rowData: any, index: number) => boolean; rowSelector?: string; onCellDataChange?: IWebNextTableCellProps['onCellDataChange']; clsPrefix?: string; tablePrefix?: string; className?: string; loadingComponent?: (props: LoadingProps) => ReactNode; } interface IWebTableState { originalColumns?: any[]; currentColumns?: any[]; currentPage: number; pageSize: number; searchKey: string; orderColumn: string; orderType: string; dataSource: any; totalCount: number; isCustomColumnDrawerShown: boolean; } interface WebTable extends React.Component, Omit, Omit, Omit { } declare class WebTable extends React.Component { static displayName: string; constructor(props: IWebTableProps); componentWillReceiveProps(nextProps: IWebTableProps): void; renderColumn(column: any): JSX.Element; renderColumns(columns: IWebTableState['currentColumns']): JSX.Element[]; renderActionColumns(): JSX.Element; render(): JSX.Element; } export default WebTable;