choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
51 lines (50 loc) • 2.1 kB
TypeScript
import * as React from 'react';
import { CellProps } from './Cell';
import TableContext from './TableContext';
export interface HeaderCellProps extends CellProps {
index?: number;
minWidth?: number;
sortColumn?: string;
sortType?: 'desc' | 'asc';
sortable?: boolean;
style?: React.CSSProperties;
resizable?: boolean;
resizeLeft?: number;
onColumnResizeStart?: (columnWidth?: number, left?: number, fixed?: boolean) => void;
onColumnResizeEnd?: (columnWidth?: number, cursorDelta?: number, dataKey?: any, index?: number) => void;
onResize?: (columnWidth?: number, dataKey?: string) => void;
onColumnResizeMove?: (columnWidth?: number, columnLeft?: number, columnFixed?: boolean) => void;
onSortColumn?: (dataKey?: string) => void;
flexGrow?: number;
fixed?: boolean | 'left' | 'right';
dataIndex?: string;
onMouseEnterHandler?: (columnWidth: number, left: number, fixed: string | boolean | undefined) => void;
onMouseLeaveHandler?: () => void;
}
interface HeaderCelltate {
columnWidth?: number;
width?: number;
flexGrow?: number;
}
declare class HeaderCell extends React.PureComponent<HeaderCellProps, HeaderCelltate> {
static get contextType(): typeof TableContext;
static defaultProps: {
classPrefix: string;
};
static getDerivedStateFromProps(nextProps: HeaderCellProps, prevState: HeaderCelltate): {
width: number | undefined;
flexGrow: number | undefined;
columnWidth: number | undefined;
} | null;
constructor(props: HeaderCellProps);
handleColumnResizeStart: (columnWidth: number) => void;
handleColumnResizeMove: (width: any, left: number | undefined, fixed: any) => void;
handleColumnResizeEnd: (columnWidth?: number | undefined, cursorDelta?: number | undefined) => void;
handleClick: () => void;
handleShowMouseArea: (columnWidth: number) => void;
addPrefix: (name: string) => any;
renderResizeSpanner(): JSX.Element | null;
renderSortColumn(): React.ReactNode;
render(): JSX.Element;
}
export default HeaderCell;