1 |
|
2 |
|
3 |
|
4 |
|
5 | import * as React from 'react';
|
6 | import { IconType, Key, DataEntity, EventDataNode, NodeInstance, DataNode, Direction, BasicDataNode } from './interface';
|
7 | import { DraggableConfig } from './Tree';
|
8 | export type NodeMouseEventParams<TreeDataType extends BasicDataNode = DataNode, T = HTMLSpanElement> = {
|
9 | event: React.MouseEvent<T>;
|
10 | node: EventDataNode<TreeDataType>;
|
11 | };
|
12 | export type NodeDragEventParams<TreeDataType extends BasicDataNode = DataNode, T = HTMLDivElement> = {
|
13 | event: React.DragEvent<T>;
|
14 | node: EventDataNode<TreeDataType>;
|
15 | };
|
16 | export type NodeMouseEventHandler<TreeDataType extends BasicDataNode = DataNode, T = HTMLSpanElement> = (e: React.MouseEvent<T>, node: EventDataNode<TreeDataType>) => void;
|
17 | export type NodeDragEventHandler<TreeDataType extends BasicDataNode = DataNode, T = HTMLDivElement> = (e: React.DragEvent<T>, node: NodeInstance<TreeDataType>, outsideTree?: boolean) => void;
|
18 | export interface TreeContextProps<TreeDataType extends BasicDataNode = DataNode> {
|
19 | prefixCls: string;
|
20 | selectable: boolean;
|
21 | showIcon: boolean;
|
22 | icon: IconType;
|
23 | switcherIcon: IconType;
|
24 | draggable?: DraggableConfig;
|
25 | draggingNodeKey?: React.Key;
|
26 | checkable: boolean | React.ReactNode;
|
27 | checkStrictly: boolean;
|
28 | disabled: boolean;
|
29 | keyEntities: Record<Key, DataEntity<any>>;
|
30 | dropLevelOffset?: number;
|
31 | dropContainerKey: Key | null;
|
32 | dropTargetKey: Key | null;
|
33 | dropPosition: -1 | 0 | 1 | null;
|
34 | indent: number | null;
|
35 | dropIndicatorRender: (props: {
|
36 | dropPosition: -1 | 0 | 1;
|
37 | dropLevelOffset: number;
|
38 | indent: any;
|
39 | prefixCls: any;
|
40 | direction: Direction;
|
41 | }) => React.ReactNode;
|
42 | dragOverNodeKey: Key | null;
|
43 | direction: Direction;
|
44 | loadData: (treeNode: EventDataNode<TreeDataType>) => Promise<void>;
|
45 | filterTreeNode: (treeNode: EventDataNode<TreeDataType>) => boolean;
|
46 | titleRender?: (node: any) => React.ReactNode;
|
47 | onNodeClick: NodeMouseEventHandler<TreeDataType>;
|
48 | onNodeDoubleClick: NodeMouseEventHandler<TreeDataType>;
|
49 | onNodeExpand: NodeMouseEventHandler<TreeDataType>;
|
50 | onNodeSelect: NodeMouseEventHandler<TreeDataType>;
|
51 | onNodeCheck: (e: React.MouseEvent<HTMLSpanElement>, treeNode: EventDataNode<TreeDataType>, checked: boolean) => void;
|
52 | onNodeLoad: (treeNode: EventDataNode<TreeDataType>) => void;
|
53 | onNodeMouseEnter: NodeMouseEventHandler<TreeDataType>;
|
54 | onNodeMouseLeave: NodeMouseEventHandler<TreeDataType>;
|
55 | onNodeContextMenu: NodeMouseEventHandler<TreeDataType>;
|
56 | onNodeDragStart: NodeDragEventHandler<any, any>;
|
57 | onNodeDragEnter: NodeDragEventHandler<any, any>;
|
58 | onNodeDragOver: NodeDragEventHandler<any, any>;
|
59 | onNodeDragLeave: NodeDragEventHandler<any, any>;
|
60 | onNodeDragEnd: NodeDragEventHandler<any, any>;
|
61 | onNodeDrop: NodeDragEventHandler<any, any>;
|
62 | }
|
63 | export declare const TreeContext: React.Context<TreeContextProps<any> | null>;
|