vue3-tree-vue
Version:
A Simple vue3 project for rendering items in a tree.
37 lines (36 loc) • 1.32 kB
TypeScript
export interface TreeViewItem {
name: string;
id?: string | number;
children?: TreeViewItem[];
checked?: boolean;
selected?: boolean;
expanded?: boolean;
disabled?: boolean;
disableDragAndDrop?: boolean;
collapsible?: boolean;
styles?: string[];
meta?: any;
}
export declare type _InternalItem = TreeViewItem & {
id: string;
indeterminate: boolean;
};
export declare const _TREE_STATE_PROVIDER_INJECT_KEY = "VUE3_TREE_VUE_TREE_STATE";
export interface TreeState {
detach(id: string): void;
attach(item: _InternalItem): void;
getNode(id: string | number): _InternalItem;
getParent(childId: string | number): TreeViewItem | undefined;
trackNode(childNode: TreeViewItem, parentNode: TreeViewItem | undefined): void;
emitItemSelected(node: TreeViewItem): void;
emitItemCheckedChange(): void;
emitItemCheckedChanged(item: TreeViewItem): void;
emitItemUnchecked(item: TreeViewItem): void;
emitItemExpanded(expandedItem: TreeViewItem): void;
emitItemCollapsed(collapsedItem: TreeViewItem): void;
}
export interface TreeEvents {
updateMultiSelectedItems(): void;
updateSingleSelectedItem(): void;
}
export declare type IsValidDropCallback = (droppedItem: TreeViewItem, dropHost: TreeViewItem | undefined) => Promise<boolean>;