import React from 'react'; export interface OperateConfigProps { menusGroup?: Object[]; buttonsGroup?: Object[]; moreGroup?: Object[]; } export interface LoadConfigProps { onScroll?: Function; distanceToLoad?: number; } export interface EmitChangeProps { emitChangeCell: Function; emitChangeRow?: Function; emitChangeColumns?: Function; emitChangeOperate?: Function; } export interface TableProps extends LoadConfigProps { columns: any[]; dataSource: any[]; rowClassName?: string | Function; rowStyle?: Object | Function; rowRenderer?: Function; bordered?: boolean; height?: number; width?: number; emitChangeCell: Function; } export interface TableState { columns: any[]; dataSource: any[]; tableHeight?: number; tableWidth?: number; } export interface CommonProps extends TableProps { operateConfig?: OperateConfigProps; } export interface CommonState extends TableState {} export interface RowRendererParams { rowClassName?: string | Function; columns: Array; rowIndex: number; isScrolling: boolean; onRowClick?: Function; onRowDoubleClick?: Function; onRowMouseOver?: Function; onRowMouseOut?: Function; onRowRightClick?: Function; rowData: any; rowStyle?: any; key: string; } export interface ColumnProps { type: string; title: string; width?: number; columnAttrObj?: any; } export interface BaseComponentProps { value: any[] | undefined; columnConfig: any; formatter?: Function; onChange?: Function; onEmitChange?: Function; } export interface BaseComponentState { // value: any[] | undefined; columnConfig: any; } export interface CellProps { rowIndex: number; columnIndex: number; columnConfig: any; rowData: any; cellData: any; emitChangeCell: Function; cellClassName?: string; cellStyle: any; } export interface CellState { status: string; } export interface EditCellProps { columns: any[]; columnConfig: any; rowData: any; value: any[]; tableId: number; cellData: any; rowId: number; component: any; onChange: Function; componentAttr?: any; columnObj?: any; record: any; } export interface EditCellState { prevProps: EditCellProps; columnConfig: any; }