choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
56 lines (55 loc) • 1.93 kB
TypeScript
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { ColumnProps } from './Column';
import { ElementProps } from '../core/ViewComponent';
import DataSet from '../data-set/DataSet';
import Field from '../data-set/Field';
import EventManager from '../_util/EventManager';
export interface TableHeaderCellProps extends ElementProps {
dataSet: DataSet;
prevColumn?: ColumnProps;
column: ColumnProps;
resizeColumn?: ColumnProps;
rowSpan?: number;
colSpan?: number;
getHeaderNode: () => HTMLTableSectionElement | null;
}
export default class TableHeaderCell extends Component<TableHeaderCellProps, any> {
static displayName: string;
static propTypes: {
column: PropTypes.Validator<object>;
};
static contextType: React.Context<{
tableStore: import("./TableStore").default;
}>;
resizeEvent: EventManager;
resizeBoundary: number;
resizePosition?: number;
resizeColumn?: ColumnProps;
element?: HTMLDivElement | null;
nextFrameActionId?: number;
overflow?: boolean;
saveElement(element: any): void;
handleClick(): void;
getNode(column: any): Element | null | undefined;
setResizeColumn(column: any): void;
handleLeftResize(e: any): void;
handleStopResize(): void;
handleRightResize(e: any): void;
private delayResizeStart;
handleLeftDoubleClick(_e: any): void;
handleRightDoubleClick(_e: any): void;
resizeDoubleClick(): void;
resizeStart(e: any): void;
resize(e: any): void;
resizeEnd(): void;
setSplitLinePosition(left: number): number | undefined;
renderResizer(): (false | JSX.Element | undefined)[];
handleResize(): void;
syncSize(): void;
computeOverFlow(): boolean;
getHelpIcon(field?: Field): JSX.Element | undefined;
getSortIcon(): JSX.Element | undefined;
render(): JSX.Element;
componentWillUnmount(): void;
}