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) => {