Fix incorrect context menu position after opening via enter key
authorMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Wed, 26 Sep 2018 18:57:14 +0000 (20:57 +0200)
committerMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Wed, 26 Sep 2018 18:57:14 +0000 (20:57 +0200)
refs #14222

Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski@contractors.roche.com>

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
             })
         );