choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
70 lines (69 loc) • 3.13 kB
TypeScript
import * as React from 'react';
import PropTypes from 'prop-types';
import { CellProps } from './Cell';
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?: (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 propTypes: {
index: PropTypes.Requireable<number>;
sortColumn: PropTypes.Requireable<string>;
dataIndex: PropTypes.Requireable<string>;
sortType: PropTypes.Requireable<string>;
sortable: PropTypes.Requireable<boolean>;
resizable: PropTypes.Requireable<boolean>;
minWidth: PropTypes.Requireable<number>;
onColumnResizeStart: PropTypes.Requireable<(...args: any[]) => any>;
onColumnResizeEnd: PropTypes.Requireable<(...args: any[]) => any>;
onResize: PropTypes.Requireable<(...args: any[]) => any>;
onColumnResizeMove: PropTypes.Requireable<(...args: any[]) => any>;
onSortColumn: PropTypes.Requireable<(...args: any[]) => any>;
flexGrow: PropTypes.Requireable<number>;
fixed: PropTypes.Requireable<string | boolean>;
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
onMouseEnterHandler: PropTypes.Requireable<(...args: any[]) => any>;
onMouseLeaveHandler: PropTypes.Requireable<(...args: any[]) => any>;
};
static get contextType(): React.Context<import("./TableContext").Props>;
static defaultProps: {
classPrefix: string;
};
static getDerivedStateFromProps(nextProps: HeaderCellProps, prevState: HeaderCelltate): {
width: number | undefined;
flexGrow: number | undefined;
columnWidth: number | undefined;
} | null;
constructor(props: HeaderCellProps);
handleColumnResizeStart: () => void;
handleColumnResizeMove: (width: any, left: number | undefined, fixed: any) => void;
handleColumnResizeEnd: (columnWidth?: number | undefined, cursorDelta?: number | undefined) => void;
handleClick: () => void;
handleShowMouseArea: (left: any) => void;
addPrefix: (name: string) => any;
renderResizeSpanner(): JSX.Element | null;
renderSortColumn(): React.ReactNode;
render(): JSX.Element;
}
export default HeaderCell;