MCPcopy
hub / github.com/AutoMaker-Org/automaker / toggleFolder

Function toggleFolder

apps/ui/src/components/views/code-view.tsx:119–147  ·  view source on GitHub ↗
(node: FileTreeNode)

Source from the content-addressed store, hash-verified

117
118 // Toggle folder expansion
119 const toggleFolder = async (node: FileTreeNode) => {
120 const newExpanded = new Set(expandedFolders);
121
122 if (expandedFolders.has(node.path)) {
123 newExpanded.delete(node.path);
124 } else {
125 newExpanded.add(node.path);
126
127 // Load children if not already loaded
128 if (!node.children) {
129 const children = await loadSubdirectory(node.path);
130 // Update the tree with children
131 const updateTree = (nodes: FileTreeNode[]): FileTreeNode[] => {
132 return nodes.map((n) => {
133 if (n.path === node.path) {
134 return { ...n, children };
135 }
136 if (n.children) {
137 return { ...n, children: updateTree(n.children) };
138 }
139 return n;
140 });
141 };
142 setFileTree(updateTree(fileTree));
143 }
144 }
145
146 setExpandedFolders(newExpanded);
147 };
148
149 // Render file tree node
150 const renderNode = (node: FileTreeNode, depth: number = 0) => {

Callers 1

renderNodeFunction · 0.70

Calls 3

loadSubdirectoryFunction · 0.85
updateTreeFunction · 0.85
deleteMethod · 0.45

Tested by

no test coverage detected