Merge pull request #25794 from vfabioux/master

[rc-tree] Add icon and other missing fields to props
This commit is contained in:
Daniel Rosenwasser 2018-05-21 17:53:13 -07:00 committed by GitHub
commit 1bccf03183
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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 <https://github.com/johnnyreilly>, Methuselah96 <https://github.com/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<TreeNodeProps> { }
@ -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<any>;
/**
* 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<TreeProps> { }