From 6784b5ea8f4e588eb921b20dd263f79e57ffcf4d Mon Sep 17 00:00:00 2001 From: Wroud Date: Tue, 7 Jun 2022 16:36:34 +0300 Subject: [PATCH] fix(core-app): CB-1835 exit from unavailable folders --- .../src/NavigationTree/ElementsTree/ElementsTree.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTree.tsx b/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTree.tsx index c035b395fa..0802d48e02 100644 --- a/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTree.tsx +++ b/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTree.tsx @@ -102,6 +102,11 @@ export const ElementsTree = observer(function ElementsTree({ const root = folderExplorer.state.folder; const fullPath = folderExplorer.state.fullPath; + function exitFolders(path: string[]) { + path = path.filter(nodeId => ref.getChildren(nodeId) !== undefined); + folderExplorer.open(path.slice(0, path.length - 1), path[path.length - 1]); + } + const autoOpenFolders = useCallback(async function autoOpenFolders(nodeId: string, path: string[]) { path = [...path]; @@ -136,7 +141,8 @@ export const ElementsTree = observer(function ElementsTree({ const preload = await resource.preloadNodeParents(fullPath); if (!preload) { - return false; + exitFolders(fullPath); + return true; } return await autoOpenFolders(root, folderExplorer.state.path);