Open context menu on right click

This commit is contained in:
AlexandreSi
2023-09-18 14:05:03 +02:00
parent 2140cdb17f
commit 514e143364

View File

@@ -83,20 +83,20 @@ const TreeViewRow = <Item: ItemBaseAttributes>(props: Props<Item>) => {
const left = node.depth * 20;
const [isStayingOver, setIsStayingOver] = React.useState<boolean>(false);
const openWhenOverTimeoutId = React.useRef<?TimeoutID>(null);
const longTouchForContextMenuProps = useLongTouch(
React.useCallback(
({ clientX, clientY }) => {
onContextMenu({
index: index,
item: node.item,
x: clientX,
y: clientY,
});
},
[onContextMenu, index, node.item]
)
const openContextMenu = React.useCallback(
({ clientX, clientY }) => {
onContextMenu({
index: index,
item: node.item,
x: clientX,
y: clientY,
});
},
[onContextMenu, index, node.item]
);
const longTouchForContextMenuProps = useLongTouch(openContextMenu);
const onClick = React.useCallback(
event => {
if (!node) return;
@@ -105,6 +105,14 @@ const TreeViewRow = <Item: ItemBaseAttributes>(props: Props<Item>) => {
[onSelect, node]
);
const selectAndOpenContextMenu = React.useCallback(
(event: MouseEvent) => {
onClick(event);
openContextMenu(event);
},
[onClick, openContextMenu]
);
React.useEffect(
() => {
if (
@@ -173,6 +181,7 @@ const TreeViewRow = <Item: ItemBaseAttributes>(props: Props<Item>) => {
onDoubleClick={
onEditItem ? () => onEditItem(node.item) : undefined
}
onContextMenu={selectAndOpenContextMenu}
{...longTouchForContextMenuProps}
>
{connectDragPreview(