diff --git a/public/app/features/canvas/runtime/ables.tsx b/public/app/features/canvas/runtime/ables.tsx index 42504175971..8de918c412d 100644 --- a/public/app/features/canvas/runtime/ables.tsx +++ b/public/app/features/canvas/runtime/ables.tsx @@ -14,10 +14,25 @@ export const settingsViewable = (scene: Scene) => ({ return; } + const openSettings = (x: number, y: number) => { + const container = moveable.getContainer(); + const evt = new PointerEvent('contextmenu', { clientX: x, clientY: y }); + container.dispatchEvent(evt); + }; + + const onClick = (event: React.MouseEvent) => { + openSettings(event.clientX, event.clientY); + }; + + const onKeyPress = (event: React.KeyboardEvent) => { + if (event.key === 'Enter') { + const rect = event.currentTarget.getBoundingClientRect(); + openSettings(rect.x, rect.y); + } + }; + const rect = moveable.getRect(); return ( - // TODO: fix keyboard a11y - // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions