From d66228c3d02c3dc302c673585ebf3d72ca269728 Mon Sep 17 00:00:00 2001 From: Wroud Date: Thu, 4 Mar 2021 22:40:56 +0300 Subject: [PATCH] fix(core-app): CB-668 navigation tree select & expand behavior --- .../NavigationTree/NavigationTreeNode/useNavigationNode.ts | 7 ++++++- .../core-app/src/NavigationTree/NavigationTreeService.ts | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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 {