diff --git a/types/rc-tree/index.d.ts b/types/rc-tree/index.d.ts index aac9e1ea9f..1ec7cc1e26 100644 --- a/types/rc-tree/index.d.ts +++ b/types/rc-tree/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for rc-tree 1.10 +// Type definitions for rc-tree 1.11 // Project: https://github.com/react-component/tree // Definitions by: John Reilly , Methuselah96 // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -41,6 +41,10 @@ export interface TreeNodeProps { * whether it is a leaf node */ isLeaf?: boolean; + /** + * customize icon. When you pass component, whose render will receive full TreeNode props as component props + */ + icon?: JSX.Element | ((props: InternalTreeNodeProps) => JSX.Element); } export class TreeNode extends Component { } @@ -65,6 +69,21 @@ export interface SelectData { event: "select"; } +export interface OnRightClickData { + event: Event; + node: InternalTreeNode; +} + +export interface OnMouseEnterData { + event: Event; + node: InternalTreeNode; +} + +export interface OnMouseLeaveData { + event: Event; + node: InternalTreeNode; +} + export interface OnDragStartData { event: Event; node: InternalTreeNode; @@ -76,6 +95,16 @@ export interface OnDragEnterData { expandedKeys: string[]; } +export interface OnDragOverData { + event: Event; + node: InternalTreeNode; +} + +export interface OnDragLeaveData { + event: Event; + node: InternalTreeNode; +} + export interface OnDropData { event: Event; node: InternalTreeNode; @@ -83,6 +112,11 @@ export interface OnDropData { dragNodesKeys: string[]; } +export interface OnDragEndData { + event: Event; + node: InternalTreeNode; +} + export interface TreeProps { /** * additional css class of root dom node @@ -92,6 +126,10 @@ export interface TreeProps { * prefix class */ prefixCls?: string; + /** + * whether disabled the tree + */ + disabled?: boolean; /** * whether show line */ @@ -124,6 +162,10 @@ export interface TreeProps { * control expanding of specific treeNodes */ expandedKeys?: string[]; + /** + * auto expand parent treeNodes when init + */ + defaultExpandParent?: boolean; /** * whether auto expand parent treeNodes */ @@ -146,6 +188,10 @@ export interface TreeProps { * default selected treeNodes */ defaultSelectedKeys?: string[]; + /** + * customize icon. When you pass component, whose render will receive full TreeNode props as component props + */ + icon?: JSX.Element | ((props: InternalTreeNodeProps) => JSX.Element); /** * Controlled selected treeNodes(After setting, defaultSelectedKeys will not work) */ @@ -170,6 +216,18 @@ export interface TreeProps { * load data asynchronously */ loadData?(node: InternalTreeNode): Promise; + /** + * select current treeNode and show customized contextmenu + */ + onRightClick?: (props: OnRightClickData) => void; + /** + * call when mouse enter a treeNode + */ + onMouseEnter?: (props: OnMouseEnterData) => void; + /** + * call when mouse leave a treeNode + */ + onMouseLeave?: (props: OnMouseLeaveData) => void; /** * whether can drag treeNode. */ @@ -182,10 +240,22 @@ export interface TreeProps { * event on drag enter */ onDragEnter?: (props: OnDragEnterData) => void; + /** + * it execs when fire the tree's dragover event + */ + onDragOver?: (props: OnDragOverData) => void; + /** + * it execs when fire the tree's dragleave event + */ + onDragLeave?: (props: OnDragLeaveData) => void; /** * event on drag drop */ onDrop?: (props: OnDropData) => void; + /** + * it execs when fire the tree's dragend event + */ + onDragEnd?: (props: OnDragEndData) => void; } export default class Tree extends Component { }