MCPcopy Create free account
hub / github.com/Datakitpage/Datakit / handleDrop

Function handleDrop

frontend/src/components/workspace/FolderTreeView.tsx:228–253  ·  view source on GitHub ↗
(e: React.DragEvent, targetNode: FolderNode)

Source from the content-addressed store, hash-verified

226
227 // Handle drop
228 const handleDrop = (e: React.DragEvent, targetNode: FolderNode) => {
229 e.preventDefault();
230 e.stopPropagation();
231
232 const draggedNode = draggedNodeRef.current;
233 if (draggedNode && targetNode.type === 'folder' && draggedNode.nodeId !== targetNode.id) {
234 // Don't allow dropping a folder into its own descendant
235 let parent = getNodeById(targetNode.id);
236 let canDrop = true;
237
238 while (parent) {
239 if (parent.id === draggedNode.nodeId) {
240 canDrop = false;
241 break;
242 }
243 parent = parent.parentId ? getNodeById(parent.parentId) : undefined;
244 }
245
246 if (canDrop) {
247 moveNode(draggedNode.nodeId, targetNode.id);
248 }
249 }
250
251 setDraggedOver(null);
252 draggedNodeRef.current = null;
253 };
254
255 // Handle file/folder selection
256 const handleNodeClick = (node: FolderNode, e: React.MouseEvent) => {

Callers 2

renderNodeFunction · 0.85
handleDropGlobalFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected