mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
fix(core-app): CB-1675 pass tree context
This commit is contained in:
+1
-1
@@ -81,7 +81,7 @@ export const ElementsTreeTools = observer<React.PropsWithChildren<Props>>(functi
|
||||
<tools>
|
||||
<actions>
|
||||
<fill />
|
||||
<ElementsTreeToolsMenu />
|
||||
<ElementsTreeToolsMenu tree={tree} />
|
||||
{tree.settings?.configurable && (
|
||||
<IconButton
|
||||
name='/icons/settings_cog_sm.svg'
|
||||
|
||||
+6
-1
@@ -12,6 +12,8 @@ import styled, { css } from 'reshadow';
|
||||
import { MenuBar } from '@cloudbeaver/core-ui';
|
||||
import { useMenu } from '@cloudbeaver/core-view';
|
||||
|
||||
import { DATA_CONTEXT_ELEMENTS_TREE } from '../DATA_CONTEXT_ELEMENTS_TREE';
|
||||
import type { IElementsTree } from '../useElementsTree';
|
||||
import { MENU_ELEMENTS_TREE_TOOLS } from './MENU_ELEMENTS_TREE_TOOLS';
|
||||
|
||||
const MENU_STYLES = css`
|
||||
@@ -74,12 +76,15 @@ const style = css`
|
||||
`;
|
||||
|
||||
interface Props {
|
||||
tree: IElementsTree;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export const ElementsTreeToolsMenu = observer<Props>(function ElementsTreeToolsMenu({ className }) {
|
||||
export const ElementsTreeToolsMenu = observer<Props>(function ElementsTreeToolsMenu({ tree, className }) {
|
||||
const menu = useMenu({ menu: MENU_ELEMENTS_TREE_TOOLS });
|
||||
|
||||
menu.context.set(DATA_CONTEXT_ELEMENTS_TREE, tree);
|
||||
|
||||
return styled(style)(
|
||||
<menu-wrapper className={className}>
|
||||
<MenuBar menu={menu} style={[MENU_STYLES]} />
|
||||
|
||||
+7
-1
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user