diff --git a/webapp/packages/core-app/src/NavigationTree/NavigationTreeNode/useNavigationNode.ts b/webapp/packages/core-app/src/NavigationTree/NavigationTreeNode/useNavigationNode.ts index ed0754f932..c3f442d4d4 100644 --- a/webapp/packages/core-app/src/NavigationTree/NavigationTreeNode/useNavigationNode.ts +++ b/webapp/packages/core-app/src/NavigationTree/NavigationTreeNode/useNavigationNode.ts @@ -99,7 +99,12 @@ export function useNavigationNode(node: NavNode): INavigationNode { if (node && context?.isSelected?.(node)) { context.onSelect?.(node, true); } - }, [context, node]); + }, [context, node.id]); + + useEffect(() => () => { + // TODO: seems like selection & expand should be specific for separate tree definitions + navigationTreeService.expandNode(node.id, false); + }, [node.id]); return { control: context?.control, diff --git a/webapp/packages/core-app/src/NavigationTree/NavigationTreeService.ts b/webapp/packages/core-app/src/NavigationTree/NavigationTreeService.ts index 75211ac378..1299db75af 100644 --- a/webapp/packages/core-app/src/NavigationTree/NavigationTreeService.ts +++ b/webapp/packages/core-app/src/NavigationTree/NavigationTreeService.ts @@ -69,6 +69,11 @@ export class NavigationTreeService { this.navigationTreeMetadata.delete(key); }); }); + this.navTreeResource.onItemDelete.addHandler(key => { + ResourceKeyUtils.forEach(key, key => { + this.expandNode(key, false); + }); + }); } getChildren(id: string): string[] | undefined {