From 4c7fe8b432677a5ff5614b0bbc54b4db23e442cf Mon Sep 17 00:00:00 2001 From: Vincent Fabioux Date: Tue, 15 May 2018 14:36:46 +0200 Subject: [PATCH 1/2] [rc-tree] Add icon and other missing fields to props --- types/rc-tree/index.d.ts | 57 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/types/rc-tree/index.d.ts b/types/rc-tree/index.d.ts index aac9e1ea9f..e8cdb487e6 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 { } @@ -76,6 +80,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 +97,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 +111,10 @@ export interface TreeProps { * prefix class */ prefixCls?: string; + /** + * whether disabled the tree + */ + disabled?: boolean; /** * whether show line */ @@ -124,6 +147,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 +173,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 +201,18 @@ export interface TreeProps { * load data asynchronously */ loadData?(node: InternalTreeNode): Promise; + /** + * select current treeNode and show customized contextmenu + */ + onRightClick?: (node: InternalTreeNode) => void; + /** + * call when mouse enter a treeNode + */ + onMouseEnter?: (node: InternalTreeNode) => void; + /** + * call when mouse leave a treeNode + */ + onMouseLeave?: (node: InternalTreeNode) => void; /** * whether can drag treeNode. */ @@ -182,10 +225,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 { } From 41b4cf88d9a7e1d38d1ac8a5512071810090680b Mon Sep 17 00:00:00 2001 From: Vincent Fabioux Date: Wed, 16 May 2018 13:43:46 +0200 Subject: [PATCH 2/2] [rc-tree] Fix incorrect right click, mouse enter and mouse leave props type. --- types/rc-tree/index.d.ts | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/types/rc-tree/index.d.ts b/types/rc-tree/index.d.ts index e8cdb487e6..1ec7cc1e26 100644 --- a/types/rc-tree/index.d.ts +++ b/types/rc-tree/index.d.ts @@ -69,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; @@ -204,15 +219,15 @@ export interface TreeProps { /** * select current treeNode and show customized contextmenu */ - onRightClick?: (node: InternalTreeNode) => void; + onRightClick?: (props: OnRightClickData) => void; /** * call when mouse enter a treeNode */ - onMouseEnter?: (node: InternalTreeNode) => void; + onMouseEnter?: (props: OnMouseEnterData) => void; /** * call when mouse leave a treeNode */ - onMouseLeave?: (node: InternalTreeNode) => void; + onMouseLeave?: (props: OnMouseLeaveData) => void; /** * whether can drag treeNode. */