|
|
|
// Project: https://github.com/vueComponent/ant-design-vue Definitions by:
|
|
|
|
// akki-jat <https://github.com/akki-jat> Definitions:
|
|
|
|
// https://github.com/vueComponent/ant-design-vue/types
|
|
|
|
|
|
|
|
import { AntdComponent, AntdProps } from '../component';
|
|
|
|
import { TreeNode } from '../tree-node';
|
|
|
|
import { DictionaryTree } from './dictionary-tree';
|
|
|
|
import { TreeData } from '../tree-select';
|
|
|
|
import { VNode } from 'vue';
|
|
|
|
export interface TreeProps {
|
|
|
|
/**
|
|
|
|
* Whether treeNode fill remaining horizontal space
|
|
|
|
* @version 1.5.0
|
|
|
|
*/
|
|
|
|
blockNode?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* whether can be selected
|
|
|
|
*/
|
|
|
|
selectable?: boolean;
|
|
|
|
/**
|
|
|
|
* treeNode of tree
|
|
|
|
* @type TreeNode[]
|
|
|
|
*/
|
|
|
|
treeData?: TreeData[];
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*@description Replace the title,key and children fields in treeNode with the corresponding fields in treeData
|
|
|
|
*/
|
|
|
|
replaceFields?: {
|
|
|
|
/**@default 'children' */
|
|
|
|
children?: string;
|
|
|
|
/**@default 'title' */
|
|
|
|
title?: string;
|
|
|
|
/**@default 'key' */
|
|
|
|
key?: string;
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Whether to automatically expand a parent treeNode
|
|
|
|
* @default true
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
autoExpandParent?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds a Checkbox before the treeNodes
|
|
|
|
* @default false
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
checkable?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* (Controlled) Specifies the keys of the checked treeNodes
|
|
|
|
* (PS: When this specifies the key of a treeNode which is also a parent treeNode,
|
|
|
|
* all the children treeNodes of will be checked; and vice versa,
|
|
|
|
* when it specifies the key of a treeNode which is a child treeNode,
|
|
|
|
* its parent treeNode will also be checked. When checkable and checkStrictly is true,
|
|
|
|
* its object has checked and halfChecked property. Regardless of whether the child or parent treeNode is checked,
|
|
|
|
* they won't impact each other.
|
|
|
|
* @default []
|
|
|
|
* @type string[] | number[] | { checked: string[]; halfChecked: string[] }
|
|
|
|
*/
|
|
|
|
checkedKeys?:
|
|
|
|
| string[]
|
|
|
|
| number[]
|
|
|
|
| {
|
|
|
|
checked: string[];
|
|
|
|
halfChecked: string[];
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Check treeNode precisely; parent treeNode and children treeNodes are not associated
|
|
|
|
* @default false
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
checkStrictly?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Specifies the keys of the default checked treeNodes
|
|
|
|
* @default []
|
|
|
|
* @type string[] | number[]
|
|
|
|
*/
|
|
|
|
defaultCheckedKeys?: string[] | number[];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Whether to expand all treeNodes by default
|
|
|
|
* @default false
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
defaultExpandAll?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Specify the keys of the default expanded treeNodes
|
|
|
|
* @default []
|
|
|
|
* @type string[] | number[]
|
|
|
|
*/
|
|
|
|
defaultExpandedKeys?: string[] | number[];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* auto expand parent treeNodes when init
|
|
|
|
* @default true
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
defaultExpandParent?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Specifies the keys of the default selected treeNodes
|
|
|
|
* @default []
|
|
|
|
* @type string[] | number[]
|
|
|
|
*/
|
|
|
|
defaultSelectedKeys?: string[] | number[];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* whether disabled the tree
|
|
|
|
* @default false
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
disabled?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Specifies whether this Tree is draggable (IE > 8)
|
|
|
|
* @default false
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
draggable?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* (Controlled) Specifies the keys of the expanded treeNodes
|
|
|
|
* @default []
|
|
|
|
* @type string[] | number[]
|
|
|
|
*/
|
|
|
|
expandedKeys?: string[] | number[];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Defines a function to filter (highlight) treeNodes.
|
|
|
|
* When the function returns true, the corresponding treeNode will be highlighted
|
|
|
|
* @type Function
|
|
|
|
*/
|
|
|
|
filterTreeNode?: (node?: VNode) => any | boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Load data asynchronously
|
|
|
|
* @type Function
|
|
|
|
*/
|
|
|
|
loadData?: (node?: VNode) => any;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* (Controlled) Set loaded tree nodes. Need work with loadData
|
|
|
|
* @default []
|
|
|
|
* @type string[]
|
|
|
|
*/
|
|
|
|
loadedKeys?: string[];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Allows selecting multiple treeNodes
|
|
|
|
* @default false
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
multiple?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* (Controlled) Specifies the keys of the selected treeNodes
|
|
|
|
* @type string[] | number[]
|
|
|
|
*/
|
|
|
|
selectedKeys?: string[] | number[];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Shows the icon before a TreeNode's title.
|
|
|
|
* There is no default style; you must set a custom style for it if set to true
|
|
|
|
* @default false
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
showIcon?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Shows a connecting line
|
|
|
|
* @default false
|
|
|
|
* @type boolean
|
|
|
|
*/
|
|
|
|
showLine?: boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the onCheck event occurs
|
|
|
|
* @param checkedKeys
|
|
|
|
* @param e
|
|
|
|
*/
|
|
|
|
onClick?: (
|
|
|
|
checkedKeys: string[],
|
|
|
|
e: { checked: boolean; checkedNodes: any[]; node: any; event: any },
|
|
|
|
) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the onDragEnd event occurs
|
|
|
|
* @param event
|
|
|
|
* @param node
|
|
|
|
*/
|
|
|
|
onDragend?: ({ event, node }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the onDragEnter event occurs
|
|
|
|
* @param event
|
|
|
|
* @param node
|
|
|
|
* @param expandedKeys
|
|
|
|
*/
|
|
|
|
onDragenter?: ({ event, node, expandedKeys }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the onDragLeave event occurs
|
|
|
|
* @param event
|
|
|
|
* @param node
|
|
|
|
*/
|
|
|
|
onDragleave?: ({ event, node }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the onDragOver event occurs
|
|
|
|
* @param event
|
|
|
|
* @param node
|
|
|
|
*/
|
|
|
|
onDragover?: ({ event, node }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the onDragStart event occurs
|
|
|
|
* @param event
|
|
|
|
* @param node
|
|
|
|
*/
|
|
|
|
onDragstart?: ({ event, node }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the onDrop event occurs
|
|
|
|
*
|
|
|
|
* @param event
|
|
|
|
* @param node
|
|
|
|
* @param dragNode
|
|
|
|
* @param dragNodesKeys
|
|
|
|
*/
|
|
|
|
onDrop?: ({ event, node, dragNode, dragNodesKeys }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when a treeNode is expanded or collapsed
|
|
|
|
* @param expandedKeys
|
|
|
|
* @param bool
|
|
|
|
* @param node
|
|
|
|
*/
|
|
|
|
onExpand?: (expandedKeys: string[], { expanded, node }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when a treeNode is loaded
|
|
|
|
* @param loadedKeys
|
|
|
|
* @param event
|
|
|
|
* @param node
|
|
|
|
*/
|
|
|
|
onLoad?: (loadedKeys: string[], { event, node }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the user right clicks a treeNode
|
|
|
|
* @param event
|
|
|
|
* @param node
|
|
|
|
*/
|
|
|
|
onRightClick?: ({ event, node }) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function for when the user clicks a treeNode
|
|
|
|
* @param selectedKeys
|
|
|
|
* @param event
|
|
|
|
*/
|
|
|
|
onSelect?: (selectedKeys: string[], event: { selected; selectedNodes; node; event }) => void;
|
|
|
|
}
|
|
|
|
export declare class Tree extends AntdComponent {
|
|
|
|
static TreeNode: typeof TreeNode;
|
|
|
|
static DirectoryTree: typeof DictionaryTree;
|
|
|
|
|
|
|
|
$props: AntdProps & TreeProps;
|
|
|
|
}
|