choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
66 lines (65 loc) • 2.35 kB
TypeScript
import React, { Component, Key, ReactNode } from 'react';
import PropTypes from 'prop-types';
import { DraggableProvided, DraggableStateSnapshot } from 'react-beautiful-dnd';
import { ColumnProps } from './Column';
import { TableCellProps } from './TableCell';
import Record from '../data-set/Record';
import { ElementProps } from '../core/ViewComponent';
import { ColumnLock } from './enum';
export interface TableRowProps extends ElementProps {
lock?: ColumnLock | boolean;
columns: ColumnProps[];
record: Record;
index: number;
snapshot?: DraggableStateSnapshot;
provided?: DraggableProvided;
}
export default class TableRow extends Component<TableRowProps, any> {
static displayName: string;
static propTypes: {
lock: PropTypes.Requireable<boolean | ColumnLock>;
columns: PropTypes.Validator<any[]>;
record: PropTypes.Validator<Record>;
};
static contextType: React.Context<{
tableStore: import("./TableStore").default;
}>;
rowKey: Key;
rowExternalProps: any;
childrenRendered: boolean;
isCurrent: boolean;
node: HTMLTableRowElement | null;
get expandable(): boolean;
get isLoading(): boolean;
get isLoaded(): boolean;
get isExpanded(): boolean;
set isExpanded(expanded: boolean);
get isHover(): boolean;
get isClicked(): boolean;
set isClicked(click: boolean);
get isHighLightRow(): boolean;
set isHover(hover: boolean);
private saveRef;
handleMouseEnter(): void;
handleMouseLeave(): void;
handleSelectionByClick(e: any): Promise<void>;
handleSelectionByMouseDown(e: any): void;
handleSelectionByDblClick(e: any): void;
handleExpandChange(): void;
handleClickCapture(e: any): void;
handleClick(e: any): any;
handleResize(key: Key, height: number): void;
setRowHeight(key: Key, height: number): void;
getCell(column: ColumnProps, index: number, props: Partial<TableCellProps>): ReactNode;
focusRow(): void;
componentDidMount(): void;
componentDidUpdate(): void;
componentWillUnmount(): void;
handleSelection(): void;
hasExpandIcon(columnIndex: any): boolean;
syncLoadData(): void;
renderExpandIcon(): any;
renderExpandRow(): ReactNode[];
getColumns(): ({} | null | undefined)[];
render(): ({} | null | undefined)[];
}