Fix incorrect context menu position after opening via enter key
[arvados.git] / src / store / context-menu / context-menu-actions.ts
index d85059d6e1e25a82dfb20c051a55c1c63ffcab0d..3ae79db40515e3381a421930095783b70a925812 100644 (file)
@@ -31,13 +31,18 @@ export type ContextMenuResource = {
     menuKind: ContextMenuKind;
     isTrashed?: boolean;
 };
-
+export const isKeyboardClick = (event: React.MouseEvent<HTMLElement>) =>
+    event.nativeEvent.detail === 0;
 export const openContextMenu = (event: React.MouseEvent<HTMLElement>, resource: ContextMenuResource) =>
     (dispatch: Dispatch) => {
         event.preventDefault();
+        const { left, top } = event.currentTarget.getBoundingClientRect();
         dispatch(
             contextMenuActions.OPEN_CONTEXT_MENU({
-                position: { x: event.clientX, y: event.clientY },
+                position: {
+                    x: event.clientX || left,
+                    y: event.clientY || top,
+                },
                 resource
             })
         );