import React from 'react'; import { OcTreeProps, OcTreeState } from './OcTree.types'; import { NodeMouseEventHandler, NodeDragEventHandler } from './contextTypes'; import { DataNode, Key, FlattenNode, EventDataNode, NodeInstance, ScrollTo, BasicDataNode } from './OcTree.types'; import { NodeListRef } from './NodeList'; declare class Tree extends React.Component, OcTreeState> { static defaultProps: any; static TreeNode: React.FC>; destroyed: boolean; delayedDragEnterLogic: Record; loadingRetryTimes: Record; state: OcTreeState; dragStartMousePosition: { x: number; y: number; }; dragNode: NodeInstance; currentMouseOverDroppableNodeKey: Key; listRef: React.RefObject; componentDidMount(): void; componentDidUpdate(): void; onUpdated(): void; componentWillUnmount(): void; static getDerivedStateFromProps(props: OcTreeProps, prevState: OcTreeState): Partial>; onNodeDragStart: NodeDragEventHandler; /** * [Legacy] Select handler is smaller than node, * so that this will trigger when drag enter node or select handler. * This is a little tricky if customize css without padding. * Better for use mouse move event to refresh drag state. * But let's just keep it to avoid event trigger logic change. */ onNodeDragEnter: (event: React.DragEvent, node: NodeInstance) => void; onNodeDragOver: (event: React.DragEvent, node: NodeInstance) => void; onNodeDragLeave: NodeDragEventHandler; onWindowDragEnd: (event: React.DragEvent) => void; onNodeDragEnd: NodeDragEventHandler; onNodeDrop: (event: React.DragEvent, _node: any, outsideTree?: boolean) => void; resetDragState(): void; cleanDragState: () => void; triggerExpandActionExpand: NodeMouseEventHandler; onNodeClick: NodeMouseEventHandler; onNodeDoubleClick: NodeMouseEventHandler; onNodeSelect: NodeMouseEventHandler; onNodeCheck: (e: React.MouseEvent, treeNode: EventDataNode, checked: boolean) => void; onNodeLoad: (treeNode: EventDataNode) => Promise; onNodeMouseEnter: NodeMouseEventHandler; onNodeMouseLeave: NodeMouseEventHandler; onNodeContextMenu: NodeMouseEventHandler; onFocus: React.FocusEventHandler; onBlur: React.FocusEventHandler; getTreeNodeRequiredProps: () => { expandedKeys: Key[]; selectedKeys: Key[]; loadedKeys: Key[]; loadingKeys: Key[]; checkedKeys: Key[]; halfCheckedKeys: Key[]; dragOverNodeKey: Key; dropPosition: 0 | 1 | -1; keyEntities: Record>; }; /** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */ setExpandedKeys: (expandedKeys: Key[]) => void; onNodeExpand: (e: React.MouseEvent, treeNode: EventDataNode) => void; onListChangeStart: () => void; onListChangeEnd: () => void; onActiveChange: (newActiveKey: Key) => void; getActiveItem: () => FlattenNode; offsetActiveKey: (offset: number) => void; onKeyDown: React.KeyboardEventHandler; /** * Only update the value which is not in props */ setUncontrolledState: (state: Partial>, atomic?: boolean, forceState?: Partial> | null) => void; scrollTo: ScrollTo; render(): React.JSX.Element; } export default Tree;