import React from 'react'; import { Key, FixedType, PositonType, RenderExpandIcon, DefaultRecordType } from './interface'; import { InnerColumnType } from './iTable'; export interface TableRowProps { expandIconColumnIndex: number; leftColumnsLength: number; centerColumnsLength: number; columns: InnerColumnType[]; record: T; fixedIndex?: number | undefined; indentSize?: number | undefined; index?: number | undefined; indent?: number | undefined; contentTable?: HTMLElement | null; childrenColumnName?: string; expanded?: boolean; className?: string; onDestroy?: (record?: T, index?: number, isExpandOperation?: boolean) => void; hoverKey?: Key; onRowClick?: (record?: T, index?: number, event?: React.MouseEvent) => void; onRowDoubleClick?: (record?: T, index?: number, event?: React.MouseEvent) => void; clsPrefix?: string; onHover?: (flag?: boolean, hoverKey?: Key, event?: React.MouseEvent, index?: number, record?: T) => void; height?: string | number; visible?: boolean; expandable?: boolean; onExpand?: (expanded?: boolean, record?: T, fixedIndex?: number, event?: React.MouseEvent) => void; needIndentSpaced?: boolean; expandIconAsCell?: boolean; expandRowByClick?: boolean; store?: any; rowDraggAble?: boolean; onRow?: (record?: T, index?: number) => void; selectedRowKeys?: Key[]; findRowKeys?: Key[]; locale?: string | Record; isExpandedRow?: boolean; oldMode?: boolean; treeType?: boolean; syncHover?: boolean; setRowHeight?: (height?: number, index?: number, rowKey?: Key) => void; expandedContentHeight?: number; fixed?: FixedType; setRowParentIndex?: number; rootIndex?: number; onPaste?: (event?: React.ClipboardEvent, positon?: PositonType) => void; hasLeftFixed?: boolean; useDragHandle?: boolean; isShowExpandIcon?: boolean; bodyDisplayInRow?: boolean; expandedIcon?: JSX.Element; collapsedIcon?: React.ReactNode; lazyStartIndex?: number; lazyEndIndex?: number; expandIconCellWidth?: number; getCellClassName?: (record?: T, index?: number, column?: T) => string; expandIcon?: RenderExpandIcon; fieldid?: string; tableUid?: string; bordered?: boolean; } export interface TableRowState { hovered?: boolean; notRowDrag?: boolean; }