diff --git a/superset-frontend/src/dashboard/components/menu/WithPopoverMenu.tsx b/superset-frontend/src/dashboard/components/menu/WithPopoverMenu.tsx index 0845e2e964b920c3a7cc299fb803978c724d04bc..7081445c9d06679eda43f73ee570b1ae6b016bf4 100644 --- a/superset-frontend/src/dashboard/components/menu/WithPopoverMenu.tsx +++ b/superset-frontend/src/dashboard/components/menu/WithPopoverMenu.tsx @@ -115,10 +115,12 @@ export default class WithPopoverMenu extends PureComponent< onChangeFocus: null, menuItems: [], isFocused: false, - shouldFocus: (event: any, container: ShouldFocusContainer) => - container?.contains(event.target) || - event.target.id === 'menu-item' || - event.target.parentNode?.id === 'menu-item', + shouldFocus: (event: any, container: ShouldFocusContainer) => { + if (container?.contains(event.target)) return true; + if (event.target.id === 'menu-item') return true; + if (event.target.parentNode?.id === 'menu-item') return true; + return false; + }, style: null, }; @@ -156,6 +158,9 @@ export default class WithPopoverMenu extends PureComponent< if (!this.props.editMode) { return; } + + event.stopPropagation(); + const { onChangeFocus, shouldFocus: shouldFocusFunc,