diff --git a/src/components/common/TreeExplorerTreeNode.vue b/src/components/common/TreeExplorerTreeNode.vue index 6909b23ad..aad98f509 100644 --- a/src/components/common/TreeExplorerTreeNode.vue +++ b/src/components/common/TreeExplorerTreeNode.vue @@ -84,6 +84,7 @@ onMounted(() => { onDrop: (event) => { const dndData = event.source.data as TreeExplorerDragAndDropData if (dndData.type === 'tree-explorer-node') { + props.node.handleDrop?.(props.node, dndData) canDrop.value = false emit('itemDropped', props.node, dndData.data) } diff --git a/src/types/treeExplorerTypes.ts b/src/types/treeExplorerTypes.ts index 54d404fc8..c0ad20c0e 100644 --- a/src/types/treeExplorerTypes.ts +++ b/src/types/treeExplorerTypes.ts @@ -19,6 +19,11 @@ export interface TreeExplorerNode { draggable?: boolean // Whether the node is droppable droppable?: boolean + // Function to handle dropping a node + handleDrop?: ( + node: TreeExplorerNode, + data: TreeExplorerDragAndDropData + ) => void } export interface RenderedTreeExplorerNode extends TreeExplorerNode {