import React, { Component } from "react"; import { IDragRowLineProps, IDragRowLineState } from './iTable'; type GetTableRowDomsType = { centerTrs: HTMLCollectionOf | null; leftTrs: HTMLCollectionOf | null; rightTrs: HTMLCollectionOf | null; }; /** * * @author Dio.Zhu * 提供表格拖拽行排序的能力,显示拖拽行的尺标线 */ export default class DragRowLine extends Component { static defaultProps: { clsPrefix: string; container: null; onRowDragStart: null; onRowDragDrop: null; rowDraggAble: boolean; useDragHandle: boolean; bigData: boolean; }; isTouchDragRow: boolean; constructor(props: IDragRowLineProps); componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: IDragRowLineProps): void; getTableRowDoms: () => GetTableRowDomsType | void; initEvent: () => void; removeEvent: () => void; /** * 【交换行】开始拖拽 */ onDragStart: (e: React.DragEvent, touchTarget: React.ReactNode) => void; /** * 【交换行】拖拽经过目标行 */ onDragEnter: (e: React.DragEvent, touchTarget: ParentNode | null) => void; /** * 【交换行】结束拖拽 */ onDragEnd: () => void; onDragOver: (e: React.DragEvent) => void; onTouchStart: (e: React.DragEvent) => void; onTouchMove: (e: React.DragEvent) => void; onTouchEnd: (e: React.DragEvent) => void; getTouchDom: (event: React.TouchEvent) => Element | null; /** * 设置尺标线显示的位置 * @param targetContainer * @param targetDom * @param targetAlign */ setLinePosition: (targetContainer: HTMLElement | null, targetDom: HTMLElement | null, targetAlign: string | null) => void; render(): JSX.Element; } export {};