[rc-tree] Add icon and other missing fields to props

This commit is contained in:
Vincent Fabioux
2018-05-15 14:36:46 +02:00
parent d11cc3b1a2
commit 4c7fe8b432

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> { }
@@ -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<any>;
/**
* 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<TreeProps> { }