element-plus
Version:
A Component Library for Vue 3
468 lines (467 loc) • 21.8 kB
TypeScript
import TreeStore from "./tree-store.js";
import Node from "./node.js";
import { treeEmits } from "../tree.js";
import { AllowDragFunction, AllowDropFunction, FakeNode, FilterNodeMethodFunction, FilterValue, LoadFunction, NodeDropType, TreeData, TreeKey, TreeNodeData, TreeNodeLoadedDefaultProps, TreeStoreNodesMap } from "../tree.type.js";
import { InjectionKey, Ref, SetupContext } from "vue";
//#region ../../packages/components/tree/src/model/useDragNode.d.ts
interface TreeNode {
node: Node;
$el?: HTMLElement;
}
interface DragOptions {
event: DragEvent;
treeNode: TreeNode;
}
interface Props {
props: {
allowDrag?: AllowDragFunction;
allowDrop?: AllowDropFunction;
};
ctx: SetupContext<typeof treeEmits>;
el$: Ref<HTMLElement | null>;
dropIndicator$: Ref<HTMLElement | null>;
store: Ref<TreeStore>;
}
interface DragEvents {
treeNodeDragStart: (options: DragOptions) => void;
treeNodeDragOver: (options: DragOptions) => void;
treeNodeDragEnd: (event: DragEvent) => void;
}
declare const dragEventsKey: InjectionKey<DragEvents>;
declare function useDragNodeHandler({
props,
ctx,
el$,
dropIndicator$,
store
}: Props): {
dragState: Ref<{
allowDrop: boolean;
dropType: NodeDropType | null;
draggingNode: {
node: {
id: number;
text: string | null;
checked: boolean;
indeterminate: boolean;
data: TreeNodeData;
expanded: boolean;
parent: /*elided*/any | null;
visible: boolean;
isCurrent: boolean;
store: {
currentNode: /*elided*/any | null;
currentNodeKey: TreeKey | null;
nodesMap: TreeStoreNodesMap;
root: /*elided*/any;
data: TreeNodeData[];
lazy: boolean;
load?: LoadFunction | undefined;
filterNodeMethod?: FilterNodeMethodFunction | undefined;
key: TreeKey;
defaultCheckedKeys?: TreeKey[] | undefined;
checkStrictly: boolean;
defaultExpandedKeys?: TreeKey[] | undefined;
autoExpandParent: boolean;
defaultExpandAll: boolean;
checkDescendants: boolean;
props: {
children?: string | undefined;
label?: string | ((data: TreeNodeData, node: Node) => string) | undefined;
disabled?: string | ((data: TreeNodeData, node: Node) => boolean) | undefined;
isLeaf?: string | ((data: TreeNodeData, node: Node) => boolean) | undefined;
class?: ((data: TreeNodeData, node: Node) => string | {
[key: string]: boolean;
}) | undefined;
};
initialize: () => void;
filter: (value: FilterValue) => void;
setData: (newVal: TreeData) => void;
getNode: (data: TreeKey | TreeNodeData | Node) => Node;
insertBefore: (data: TreeNodeData, refData: TreeKey | TreeNodeData | Node) => void;
insertAfter: (data: TreeNodeData, refData: TreeKey | TreeNodeData | Node) => void;
remove: (data: TreeNodeData | Node) => void;
append: (data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node) => void;
_initDefaultCheckedNodes: () => void;
_initDefaultCheckedNode: (node: Node) => void;
setDefaultCheckedKey: (newVal: TreeKey[]) => void;
registerNode: (node: Node) => void;
deregisterNode: (node: Node) => void;
getCheckedNodes: (leafOnly?: boolean, includeHalfChecked?: boolean) => TreeNodeData[];
getCheckedKeys: (leafOnly?: boolean) => TreeKey[];
getHalfCheckedNodes: () => TreeNodeData[];
getHalfCheckedKeys: () => TreeKey[];
_getAllNodes: () => Node[];
updateChildren: (key: TreeKey, data: TreeData) => void;
_setCheckedKeys: (key: TreeKey, leafOnly: boolean | undefined, checkedKeys: {
[key: string]: boolean;
}) => void;
setCheckedNodes: (array: Node[], leafOnly?: boolean) => void;
setCheckedKeys: (keys: TreeKey[], leafOnly?: boolean) => void;
setDefaultExpandedKeys: (keys: TreeKey[]) => void;
setChecked: (data: TreeKey | TreeNodeData, checked: boolean, deep: boolean) => void;
getCurrentNode: () => Node | null;
setCurrentNode: (currentNode: Node) => void;
setUserCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
setCurrentNodeKey: (key: TreeKey | null, shouldAutoExpandParent?: boolean) => void;
};
isLeafByUser: boolean | undefined;
isLeaf: boolean | undefined;
canFocus: boolean;
level: number;
loaded: boolean;
childNodes: /*elided*/any[];
loading: boolean;
isEffectivelyChecked: boolean;
initialize: () => void;
setData: (data: TreeNodeData) => void;
readonly label: string;
readonly key: TreeKey | null | undefined;
readonly disabled: boolean;
readonly nextSibling: /*elided*/any | null;
readonly previousSibling: /*elided*/any | null;
contains: (target: Node, deep?: boolean) => boolean;
remove: () => void;
insertChild: (child?: FakeNode | Node, index?: number, batch?: boolean) => void;
insertBefore: (child: FakeNode | Node, ref: Node) => void;
insertAfter: (child: FakeNode | Node, ref: Node) => void;
removeChild: (child: Node) => void;
removeChildByData: (data: TreeNodeData | null) => void;
expand: (callback?: (() => void) | null, expandParent?: boolean) => void;
doCreateChildren: (array: TreeNodeData[], defaultProps?: TreeNodeLoadedDefaultProps) => void;
collapse: () => void;
shouldLoadData: () => boolean;
updateLeafState: () => void;
setChecked: (value?: boolean | string, deep?: boolean, recursion?: boolean, passValue?: boolean) => void;
getChildren: (forceInit?: boolean) => TreeNodeData | TreeNodeData[] | null;
updateChildren: () => void;
loadData: (callback: (data?: TreeNodeData[]) => void, defaultProps?: TreeNodeLoadedDefaultProps) => void;
eachNode: (callback: (node: Node) => void) => void;
reInitChecked: () => void;
};
$el?: HTMLElement | undefined;
} | null;
showDropIndicator: boolean;
dropNode: {
node: {
id: number;
text: string | null;
checked: boolean;
indeterminate: boolean;
data: TreeNodeData;
expanded: boolean;
parent: /*elided*/any | null;
visible: boolean;
isCurrent: boolean;
store: {
currentNode: /*elided*/any | null;
currentNodeKey: TreeKey | null;
nodesMap: TreeStoreNodesMap;
root: /*elided*/any;
data: TreeNodeData[];
lazy: boolean;
load?: LoadFunction | undefined;
filterNodeMethod?: FilterNodeMethodFunction | undefined;
key: TreeKey;
defaultCheckedKeys?: TreeKey[] | undefined;
checkStrictly: boolean;
defaultExpandedKeys?: TreeKey[] | undefined;
autoExpandParent: boolean;
defaultExpandAll: boolean;
checkDescendants: boolean;
props: {
children?: string | undefined;
label?: string | ((data: TreeNodeData, node: Node) => string) | undefined;
disabled?: string | ((data: TreeNodeData, node: Node) => boolean) | undefined;
isLeaf?: string | ((data: TreeNodeData, node: Node) => boolean) | undefined;
class?: ((data: TreeNodeData, node: Node) => string | {
[key: string]: boolean;
}) | undefined;
};
initialize: () => void;
filter: (value: FilterValue) => void;
setData: (newVal: TreeData) => void;
getNode: (data: TreeKey | TreeNodeData | Node) => Node;
insertBefore: (data: TreeNodeData, refData: TreeKey | TreeNodeData | Node) => void;
insertAfter: (data: TreeNodeData, refData: TreeKey | TreeNodeData | Node) => void;
remove: (data: TreeNodeData | Node) => void;
append: (data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node) => void;
_initDefaultCheckedNodes: () => void;
_initDefaultCheckedNode: (node: Node) => void;
setDefaultCheckedKey: (newVal: TreeKey[]) => void;
registerNode: (node: Node) => void;
deregisterNode: (node: Node) => void;
getCheckedNodes: (leafOnly?: boolean, includeHalfChecked?: boolean) => TreeNodeData[];
getCheckedKeys: (leafOnly?: boolean) => TreeKey[];
getHalfCheckedNodes: () => TreeNodeData[];
getHalfCheckedKeys: () => TreeKey[];
_getAllNodes: () => Node[];
updateChildren: (key: TreeKey, data: TreeData) => void;
_setCheckedKeys: (key: TreeKey, leafOnly: boolean | undefined, checkedKeys: {
[key: string]: boolean;
}) => void;
setCheckedNodes: (array: Node[], leafOnly?: boolean) => void;
setCheckedKeys: (keys: TreeKey[], leafOnly?: boolean) => void;
setDefaultExpandedKeys: (keys: TreeKey[]) => void;
setChecked: (data: TreeKey | TreeNodeData, checked: boolean, deep: boolean) => void;
getCurrentNode: () => Node | null;
setCurrentNode: (currentNode: Node) => void;
setUserCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
setCurrentNodeKey: (key: TreeKey | null, shouldAutoExpandParent?: boolean) => void;
};
isLeafByUser: boolean | undefined;
isLeaf: boolean | undefined;
canFocus: boolean;
level: number;
loaded: boolean;
childNodes: /*elided*/any[];
loading: boolean;
isEffectivelyChecked: boolean;
initialize: () => void;
setData: (data: TreeNodeData) => void;
readonly label: string;
readonly key: TreeKey | null | undefined;
readonly disabled: boolean;
readonly nextSibling: /*elided*/any | null;
readonly previousSibling: /*elided*/any | null;
contains: (target: Node, deep?: boolean) => boolean;
remove: () => void;
insertChild: (child?: FakeNode | Node, index?: number, batch?: boolean) => void;
insertBefore: (child: FakeNode | Node, ref: Node) => void;
insertAfter: (child: FakeNode | Node, ref: Node) => void;
removeChild: (child: Node) => void;
removeChildByData: (data: TreeNodeData | null) => void;
expand: (callback?: (() => void) | null, expandParent?: boolean) => void;
doCreateChildren: (array: TreeNodeData[], defaultProps?: TreeNodeLoadedDefaultProps) => void;
collapse: () => void;
shouldLoadData: () => boolean;
updateLeafState: () => void;
setChecked: (value?: boolean | string, deep?: boolean, recursion?: boolean, passValue?: boolean) => void;
getChildren: (forceInit?: boolean) => TreeNodeData | TreeNodeData[] | null;
updateChildren: () => void;
loadData: (callback: (data?: TreeNodeData[]) => void, defaultProps?: TreeNodeLoadedDefaultProps) => void;
eachNode: (callback: (node: Node) => void) => void;
reInitChecked: () => void;
};
$el?: HTMLElement | undefined;
} | null;
}, {
allowDrop: boolean;
dropType: NodeDropType | null;
draggingNode: TreeNode | null;
showDropIndicator: boolean;
dropNode: TreeNode | null;
} | {
allowDrop: boolean;
dropType: NodeDropType | null;
draggingNode: {
node: {
id: number;
text: string | null;
checked: boolean;
indeterminate: boolean;
data: TreeNodeData;
expanded: boolean;
parent: /*elided*/any | null;
visible: boolean;
isCurrent: boolean;
store: {
currentNode: /*elided*/any | null;
currentNodeKey: TreeKey | null;
nodesMap: TreeStoreNodesMap;
root: /*elided*/any;
data: TreeNodeData[];
lazy: boolean;
load?: LoadFunction | undefined;
filterNodeMethod?: FilterNodeMethodFunction | undefined;
key: TreeKey;
defaultCheckedKeys?: TreeKey[] | undefined;
checkStrictly: boolean;
defaultExpandedKeys?: TreeKey[] | undefined;
autoExpandParent: boolean;
defaultExpandAll: boolean;
checkDescendants: boolean;
props: {
children?: string | undefined;
label?: string | ((data: TreeNodeData, node: Node) => string) | undefined;
disabled?: string | ((data: TreeNodeData, node: Node) => boolean) | undefined;
isLeaf?: string | ((data: TreeNodeData, node: Node) => boolean) | undefined;
class?: ((data: TreeNodeData, node: Node) => string | {
[key: string]: boolean;
}) | undefined;
};
initialize: () => void;
filter: (value: FilterValue) => void;
setData: (newVal: TreeData) => void;
getNode: (data: TreeKey | TreeNodeData | Node) => Node;
insertBefore: (data: TreeNodeData, refData: TreeKey | TreeNodeData | Node) => void;
insertAfter: (data: TreeNodeData, refData: TreeKey | TreeNodeData | Node) => void;
remove: (data: TreeNodeData | Node) => void;
append: (data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node) => void;
_initDefaultCheckedNodes: () => void;
_initDefaultCheckedNode: (node: Node) => void;
setDefaultCheckedKey: (newVal: TreeKey[]) => void;
registerNode: (node: Node) => void;
deregisterNode: (node: Node) => void;
getCheckedNodes: (leafOnly?: boolean, includeHalfChecked?: boolean) => TreeNodeData[];
getCheckedKeys: (leafOnly?: boolean) => TreeKey[];
getHalfCheckedNodes: () => TreeNodeData[];
getHalfCheckedKeys: () => TreeKey[];
_getAllNodes: () => Node[];
updateChildren: (key: TreeKey, data: TreeData) => void;
_setCheckedKeys: (key: TreeKey, leafOnly: boolean | undefined, checkedKeys: {
[key: string]: boolean;
}) => void;
setCheckedNodes: (array: Node[], leafOnly?: boolean) => void;
setCheckedKeys: (keys: TreeKey[], leafOnly?: boolean) => void;
setDefaultExpandedKeys: (keys: TreeKey[]) => void;
setChecked: (data: TreeKey | TreeNodeData, checked: boolean, deep: boolean) => void;
getCurrentNode: () => Node | null;
setCurrentNode: (currentNode: Node) => void;
setUserCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
setCurrentNodeKey: (key: TreeKey | null, shouldAutoExpandParent?: boolean) => void;
};
isLeafByUser: boolean | undefined;
isLeaf: boolean | undefined;
canFocus: boolean;
level: number;
loaded: boolean;
childNodes: /*elided*/any[];
loading: boolean;
isEffectivelyChecked: boolean;
initialize: () => void;
setData: (data: TreeNodeData) => void;
readonly label: string;
readonly key: TreeKey | null | undefined;
readonly disabled: boolean;
readonly nextSibling: /*elided*/any | null;
readonly previousSibling: /*elided*/any | null;
contains: (target: Node, deep?: boolean) => boolean;
remove: () => void;
insertChild: (child?: FakeNode | Node, index?: number, batch?: boolean) => void;
insertBefore: (child: FakeNode | Node, ref: Node) => void;
insertAfter: (child: FakeNode | Node, ref: Node) => void;
removeChild: (child: Node) => void;
removeChildByData: (data: TreeNodeData | null) => void;
expand: (callback?: (() => void) | null, expandParent?: boolean) => void;
doCreateChildren: (array: TreeNodeData[], defaultProps?: TreeNodeLoadedDefaultProps) => void;
collapse: () => void;
shouldLoadData: () => boolean;
updateLeafState: () => void;
setChecked: (value?: boolean | string, deep?: boolean, recursion?: boolean, passValue?: boolean) => void;
getChildren: (forceInit?: boolean) => TreeNodeData | TreeNodeData[] | null;
updateChildren: () => void;
loadData: (callback: (data?: TreeNodeData[]) => void, defaultProps?: TreeNodeLoadedDefaultProps) => void;
eachNode: (callback: (node: Node) => void) => void;
reInitChecked: () => void;
};
$el?: HTMLElement | undefined;
} | null;
showDropIndicator: boolean;
dropNode: {
node: {
id: number;
text: string | null;
checked: boolean;
indeterminate: boolean;
data: TreeNodeData;
expanded: boolean;
parent: /*elided*/any | null;
visible: boolean;
isCurrent: boolean;
store: {
currentNode: /*elided*/any | null;
currentNodeKey: TreeKey | null;
nodesMap: TreeStoreNodesMap;
root: /*elided*/any;
data: TreeNodeData[];
lazy: boolean;
load?: LoadFunction | undefined;
filterNodeMethod?: FilterNodeMethodFunction | undefined;
key: TreeKey;
defaultCheckedKeys?: TreeKey[] | undefined;
checkStrictly: boolean;
defaultExpandedKeys?: TreeKey[] | undefined;
autoExpandParent: boolean;
defaultExpandAll: boolean;
checkDescendants: boolean;
props: {
children?: string | undefined;
label?: string | ((data: TreeNodeData, node: Node) => string) | undefined;
disabled?: string | ((data: TreeNodeData, node: Node) => boolean) | undefined;
isLeaf?: string | ((data: TreeNodeData, node: Node) => boolean) | undefined;
class?: ((data: TreeNodeData, node: Node) => string | {
[key: string]: boolean;
}) | undefined;
};
initialize: () => void;
filter: (value: FilterValue) => void;
setData: (newVal: TreeData) => void;
getNode: (data: TreeKey | TreeNodeData | Node) => Node;
insertBefore: (data: TreeNodeData, refData: TreeKey | TreeNodeData | Node) => void;
insertAfter: (data: TreeNodeData, refData: TreeKey | TreeNodeData | Node) => void;
remove: (data: TreeNodeData | Node) => void;
append: (data: TreeNodeData, parentData: TreeNodeData | TreeKey | Node) => void;
_initDefaultCheckedNodes: () => void;
_initDefaultCheckedNode: (node: Node) => void;
setDefaultCheckedKey: (newVal: TreeKey[]) => void;
registerNode: (node: Node) => void;
deregisterNode: (node: Node) => void;
getCheckedNodes: (leafOnly?: boolean, includeHalfChecked?: boolean) => TreeNodeData[];
getCheckedKeys: (leafOnly?: boolean) => TreeKey[];
getHalfCheckedNodes: () => TreeNodeData[];
getHalfCheckedKeys: () => TreeKey[];
_getAllNodes: () => Node[];
updateChildren: (key: TreeKey, data: TreeData) => void;
_setCheckedKeys: (key: TreeKey, leafOnly: boolean | undefined, checkedKeys: {
[key: string]: boolean;
}) => void;
setCheckedNodes: (array: Node[], leafOnly?: boolean) => void;
setCheckedKeys: (keys: TreeKey[], leafOnly?: boolean) => void;
setDefaultExpandedKeys: (keys: TreeKey[]) => void;
setChecked: (data: TreeKey | TreeNodeData, checked: boolean, deep: boolean) => void;
getCurrentNode: () => Node | null;
setCurrentNode: (currentNode: Node) => void;
setUserCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
setCurrentNodeKey: (key: TreeKey | null, shouldAutoExpandParent?: boolean) => void;
};
isLeafByUser: boolean | undefined;
isLeaf: boolean | undefined;
canFocus: boolean;
level: number;
loaded: boolean;
childNodes: /*elided*/any[];
loading: boolean;
isEffectivelyChecked: boolean;
initialize: () => void;
setData: (data: TreeNodeData) => void;
readonly label: string;
readonly key: TreeKey | null | undefined;
readonly disabled: boolean;
readonly nextSibling: /*elided*/any | null;
readonly previousSibling: /*elided*/any | null;
contains: (target: Node, deep?: boolean) => boolean;
remove: () => void;
insertChild: (child?: FakeNode | Node, index?: number, batch?: boolean) => void;
insertBefore: (child: FakeNode | Node, ref: Node) => void;
insertAfter: (child: FakeNode | Node, ref: Node) => void;
removeChild: (child: Node) => void;
removeChildByData: (data: TreeNodeData | null) => void;
expand: (callback?: (() => void) | null, expandParent?: boolean) => void;
doCreateChildren: (array: TreeNodeData[], defaultProps?: TreeNodeLoadedDefaultProps) => void;
collapse: () => void;
shouldLoadData: () => boolean;
updateLeafState: () => void;
setChecked: (value?: boolean | string, deep?: boolean, recursion?: boolean, passValue?: boolean) => void;
getChildren: (forceInit?: boolean) => TreeNodeData | TreeNodeData[] | null;
updateChildren: () => void;
loadData: (callback: (data?: TreeNodeData[]) => void, defaultProps?: TreeNodeLoadedDefaultProps) => void;
eachNode: (callback: (node: Node) => void) => void;
reInitChecked: () => void;
};
$el?: HTMLElement | undefined;
} | null;
}>;
};
//#endregion
export { DragEvents, TreeNode, dragEventsKey, useDragNodeHandler };