import React from 'react'; import { FixedType, PositonType, GetComponentProps, DefaultRecordType, RenderLinkTypeConfig, RenderNumberConfig, RenderDateConfig, RenderSelectConfig, ColMenuType } from './interface'; import { InnerColumnType } from './iTable'; export interface CellColumnType extends InnerColumnType { cellMenu?: ColMenuType; draggable?: boolean; linkConfig?: RenderLinkTypeConfig; boolConfig?: { trueText?: string; falseText?: string; }; currencyConfig?: RenderNumberConfig; numberConfig?: RenderNumberConfig; dateConfig?: RenderDateConfig; selectConfig?: RenderSelectConfig; } export interface TableCellProps { column: CellColumnType; record: T; index: number; indent: number; indentSize: number; clsPrefix?: string; expandIcon?: JSX.Element | null | undefined; onPaste?: (event?: React.ClipboardEvent, positon?: PositonType) => void; fixed?: FixedType; showSum?: boolean; col?: number; bodyDisplayInRow?: boolean; stopRowDrag?: (isStop?: boolean) => void; lazyStartIndex?: number; lazyEndIndex?: number; getCellClassName?: (record?: T, index?: number, column?: T) => string; onCell?: GetComponentProps; locale?: string | Record; isExpandedRow?: boolean; fieldid?: string; } export interface TableCellState { showDropdowm: boolean; }