From fa330ce545ab01d642081e091f2ad55d35bf70b7 Mon Sep 17 00:00:00 2001 From: Naumov Alexey Date: Wed, 22 Jun 2022 13:13:19 +0200 Subject: [PATCH] fix(core-app): CB-1675 pass tree context --- .../ElementsTree/ElementsTreeTools/ElementsTreeTools.tsx | 2 +- .../ElementsTreeTools/ElementsTreeToolsMenu.tsx | 7 ++++++- .../ElementsTreeTools/ElementsTreeToolsMenuService.ts | 8 +++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeTools.tsx b/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeTools.tsx index 8a1ab7c016..0ce963543a 100644 --- a/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeTools.tsx +++ b/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeTools.tsx @@ -81,7 +81,7 @@ export const ElementsTreeTools = observer>(functi - + {tree.settings?.configurable && ( (function ElementsTreeToolsMenu({ className }) { +export const ElementsTreeToolsMenu = observer(function ElementsTreeToolsMenu({ tree, className }) { const menu = useMenu({ menu: MENU_ELEMENTS_TREE_TOOLS }); + menu.context.set(DATA_CONTEXT_ELEMENTS_TREE, tree); + return styled(style)( diff --git a/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeToolsMenuService.ts b/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeToolsMenuService.ts index 8f035c32ea..7a7b76081a 100644 --- a/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeToolsMenuService.ts +++ b/webapp/packages/core-app/src/NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeToolsMenuService.ts @@ -31,12 +31,18 @@ export class ElementsTreeToolsMenuService { private readonly connectionSchemaManagerService: ConnectionSchemaManagerService, private readonly menuService: MenuService, private readonly localizationService: LocalizationService, - ) {} + ) { } register() { this.actionService.addHandler({ id: 'tree-tools-menu-base-handler', isActionApplicable(context, action) { + const tree = context.tryGet(DATA_CONTEXT_ELEMENTS_TREE); + + if (!tree) { + return false; + } + return [ACTION_LINK_OBJECT, ACTION_COLLAPSE_ALL].includes(action); }, getActionInfo: (context, action) => {