MCPcopy Create free account
hub / github.com/esengine/esengine / restoreExpandedState

Function restoreExpandedState

packages/editor-app/src/components/FileTree.tsx:394–419  ·  view source on GitHub ↗
(node: TreeNode)

Source from the content-addressed store, hash-verified

392 // 恢复展开状态
393 if (expandedPaths.size > 0) {
394 const restoreExpandedState = async (node: TreeNode): Promise<TreeNode> => {
395 if (node.type === 'folder' && expandedPaths.has(node.path)) {
396 let children = node.children || [];
397 if (!node.loaded && node.children) {
398 children = await loadChildren(node);
399 }
400 const restoredChildren = await Promise.all(
401 children.map((child) => restoreExpandedState(child))
402 );
403 return {
404 ...node,
405 expanded: true,
406 loaded: true,
407 children: restoredChildren
408 };
409 } else if (node.type === 'folder' && node.children) {
410 const restoredChildren = await Promise.all(
411 node.children.map((child) => restoreExpandedState(child))
412 );
413 return {
414 ...node,
415 children: restoredChildren
416 };
417 }
418 return node;
419 };
420
421 rootNode = await restoreExpandedState(rootNode);
422 }

Callers 1

refreshTreeFunction · 0.85

Calls 4

loadChildrenFunction · 0.85
hasMethod · 0.65
allMethod · 0.45
mapMethod · 0.45

Tested by

no test coverage detected