import React, { Component } from "react"; import { TableHeaderProps } from './iTableHeader'; import { DefaultRecordType, DataIndex } from './interface'; import { ColumnType } from './iTable'; declare class TableHeader extends Component { theadKey: number; drag: { option: string; newWidth?: number; currIndex?: number; dragTarget?: HTMLElement; enterTarget?: HTMLElement; }; minWidth: number; table: DefaultRecordType; _thead: HTMLElement | null; event: boolean; isIE: boolean; tableNoneContId: string; currentDome: HTMLElement | null; gap: HTMLDivElement | null; constructor(props: TableHeaderProps); static defaultProps: { columnsChildrenList: never[]; rows: never[]; draggable: boolean; onDragEnd: null; onDrop: null; contentWidthDiff: number; }; componentWillReceiveProps(nextProps: TableHeaderProps): void; componentDidUpdate(): void; createTableNone: () => HTMLDivElement | undefined; destroyTableNone: () => void; componentDidMount(): void; componentWillUnmount(): void; /** * 获取table的属性存放在this.table 中。(公用方法) * @returns * @memberof TableHeader */ initTable(): void; /** * 事件初始化 */ initEvent(): void; doEventList(trs: JSX.Element[], action: (tr: JSX.Element) => void): void; /** * 拖拽列宽事件的监听 */ dragBorderEvent(): { off: () => void; on: () => void; }; eventListen(events: DefaultRecordType, type: string, eventSource: JSX.Element | HTMLElement): void; /** * *根据 data-type 来获取当前拖拽的对象的Object,如果为null表示拖动的对象并非是online * @memberof TableHeader */ /** * 调整列宽的down事件 * @memberof TableHeader */ onDragMouseDown: (e?: React.DragEvent) => void; /** * 根据当前节点查找到有data-type类型的容器返回。 * @memberof TableHeader */ getTargetToType: (targetEvent: HTMLElement) => HTMLElement; /** * 判断当前的target 是否是 th,如果不是,直接递归查找。 * @memberof TableHeader */ /** * 调整列宽的move事件 * @memberof TableHeader * @deprecated */ /** * 调整列宽的up事件 * @memberof TableHeader */ onTrMouseUp: (e?: React.MouseEvent) => void; mouseClear(): void; clearThsDr: () => void; /** * 当前对象上绑定全局事件,用于拖拽区域以外时的事件处理 * @param {*} events * @param {*} type * @memberof TableHeader */ bodyonLineMouseUp: () => void; /** *相关滚动条联动操作 * * @memberof TableHeader */ /** * 添加换列的事件监听 */ dragAbleEvent(): { off: () => void; on: () => void; }; /** * 按下调整交换列的事件 */ dragAbleMouseDown: (e: React.DragEvent) => void; /** * 开始调整交换列的事件 */ onDragStart: (e: React.DragEvent) => void; onDragOver: (e: React.DragEvent) => void; /** * 在一个拖动过程中,释放鼠标键时触发此事件。【目标事件】 * @memberof TableHeader */ onDrop: (e: React.DragEvent) => void; onDragEnter: (e: React.DragEvent) => void; onDragEnd: (e: React.DragEvent) => void; onDragLeave: (e: React.DragEvent) => void; /** * 获取当前th上的对象数据 * @param {*} e * @returns * @memberof TableHeader */ /** * 根据当前鼠标点击的节点,进行递归遍历,最终找到th * @param {*} element * @returns 对象 * @memberof TableHeader */ getThDome: (element: HTMLElement) => HTMLElement | null; /** * 过滤输入后或下拉条件的回调函数 */ handlerFilterChange: (key: DataIndex, value: string, condition: 'LIKE' | 'EQ') => void; /** * 过滤行清除回调 */ handlerFilterClear: (field: DataIndex) => void; /** * 过滤渲染的组件类型 */ filterRenderType: (type: string, dataIndex: DataIndex, index: number) => JSX.Element; onCopy: (data: ColumnType, index?: number, event?: React.ClipboardEventHandler) => void; onExpand: () => void; renderCell: (props: TableHeaderProps, columns: any, row: any, index: number, leftFixedColIndex: number, rightFixedColIndex: number, centerColIndex: number) => any; renderRows: (props: TableHeaderProps, columns: any, onHeaderRowObj: any, row: any, index: number, leftFixedColIndex: number, rightFixedColIndex: number, centerColIndex: number) => JSX.Element; renderHeader: (props: TableHeaderProps) => JSX.Element; render(): JSX.Element; } export default TableHeader;