ivue-material-plus
Version:
A high quality UI components Library with Vue.js
33 lines (32 loc) • 833 B
TypeScript
import type { InjectionKey } from 'vue';
import type Node from '../store/node';
interface TreeNode {
node: Node;
$el?: HTMLElement;
}
interface DragOptions {
event: DragEvent;
treeNode: TreeNode;
}
export interface DragEvents {
treeNodeDragStart: (options: DragOptions) => void;
treeNodeDragOver: (options: DragOptions) => void;
treeNodeDragEnd: (event: DragEvent) => void;
}
export declare const dragEventsKey: InjectionKey<DragEvents>;
export declare function useDragNodeHandler({ props, ctx, treeRef, dropIndicator, store, }: {
props: any;
ctx: any;
treeRef: any;
dropIndicator: any;
store: any;
}): {
dragState: {
showDropIndicator: boolean;
draggingStartNode: any;
dropNode: any;
allowDrop: boolean;
dropType: any;
};
};
export {};