From 3dedee96ecf6985f9ce7ceafebf0e808303bce98 Mon Sep 17 00:00:00 2001 From: Naumov Alexey Date: Tue, 30 Mar 2021 19:23:26 +0300 Subject: [PATCH] fix(core-app): CB-863 remove default onClick behavior from TreeNodeControl --- .../NavigationNode/NavigationNodeControl.tsx | 8 ++++++-- .../core-blocks/src/Tree/TreeNode/TreeNodeControl.tsx | 7 ++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/webapp/packages/core-app/src/NavigationTree/NavigationTreeNode/NavigationNode/NavigationNodeControl.tsx b/webapp/packages/core-app/src/NavigationTree/NavigationTreeNode/NavigationNode/NavigationNodeControl.tsx index 8f44f9cdeb..9016180952 100644 --- a/webapp/packages/core-app/src/NavigationTree/NavigationTreeNode/NavigationNode/NavigationNodeControl.tsx +++ b/webapp/packages/core-app/src/NavigationTree/NavigationTreeNode/NavigationNode/NavigationNodeControl.tsx @@ -7,7 +7,7 @@ */ import { observer } from 'mobx-react-lite'; -import { useContext } from 'react'; +import { useCallback, useContext } from 'react'; import styled, { css } from 'reshadow'; import { TreeNodeContext, TreeNodeControl, TreeNodeExpand, TreeNodeIcon, TreeNodeName, TREE_NODE_STYLES } from '@cloudbeaver/core-blocks'; @@ -71,8 +71,12 @@ export const NavigationNodeControl: React.FC = observer(function Navigati connected = !!connectionInfo?.connected; } + const onClickHandler = useCallback((event: React.MouseEvent) => { + context?.select(event.ctrlKey || event.metaKey); + }, [context]); + return styled(useStyles(TREE_NODE_STYLES, styles))( - + {connected && } diff --git a/webapp/packages/core-blocks/src/Tree/TreeNode/TreeNodeControl.tsx b/webapp/packages/core-blocks/src/Tree/TreeNode/TreeNodeControl.tsx index 6a62f46f1f..2ef30759d2 100644 --- a/webapp/packages/core-blocks/src/Tree/TreeNode/TreeNodeControl.tsx +++ b/webapp/packages/core-blocks/src/Tree/TreeNode/TreeNodeControl.tsx @@ -15,11 +15,13 @@ const KEY = { }; interface Props { + onClick?: (event: React.MouseEvent) => void; className?: string; big?: boolean; } export const TreeNodeControl: React.FC = function TreeNodeControl({ + onClick, className, children, }) { @@ -41,7 +43,10 @@ export const TreeNodeControl: React.FC = function TreeNodeControl({ const handleClick = (event: React.MouseEvent) => { event.stopPropagation(); - context?.select(event.ctrlKey || event.metaKey); + + if (onClick) { + onClick(event); + } }; return (