mirror of https://github.com/vector-im/riot-web
Don't open the regular browser or our context menu on right-clicking the `Options` button in the message action bar (#8648)
parent
395b167b20
commit
efc36acf93
|
@ -76,6 +76,17 @@ const OptionsButton: React.FC<IOptionsButtonProps> = ({
|
||||||
onFocusChange(menuDisplayed);
|
onFocusChange(menuDisplayed);
|
||||||
}, [onFocusChange, menuDisplayed]);
|
}, [onFocusChange, menuDisplayed]);
|
||||||
|
|
||||||
|
const onOptionsClick = (e: React.MouseEvent): void => {
|
||||||
|
// Don't open the regular browser or our context menu on right-click
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
openMenu();
|
||||||
|
// when the context menu is opened directly, e.g. via mouse click, the onFocus handler which tracks
|
||||||
|
// the element that is currently focused is skipped. So we want to call onFocus manually to keep the
|
||||||
|
// position in the page even when someone is clicking around.
|
||||||
|
onFocus();
|
||||||
|
};
|
||||||
|
|
||||||
let contextMenu: ReactElement | null;
|
let contextMenu: ReactElement | null;
|
||||||
if (menuDisplayed) {
|
if (menuDisplayed) {
|
||||||
const tile = getTile && getTile();
|
const tile = getTile && getTile();
|
||||||
|
@ -97,13 +108,7 @@ const OptionsButton: React.FC<IOptionsButtonProps> = ({
|
||||||
<ContextMenuTooltipButton
|
<ContextMenuTooltipButton
|
||||||
className="mx_MessageActionBar_maskButton mx_MessageActionBar_optionsButton"
|
className="mx_MessageActionBar_maskButton mx_MessageActionBar_optionsButton"
|
||||||
title={_t("Options")}
|
title={_t("Options")}
|
||||||
onClick={() => {
|
onClick={onOptionsClick}
|
||||||
openMenu();
|
|
||||||
// when the context menu is opened directly, e.g. via mouse click, the onFocus handler which tracks
|
|
||||||
// the element that is currently focused is skipped. So we want to call onFocus manually to keep the
|
|
||||||
// position in the page even when someone is clicking around.
|
|
||||||
onFocus();
|
|
||||||
}}
|
|
||||||
isExpanded={menuDisplayed}
|
isExpanded={menuDisplayed}
|
||||||
inputRef={ref}
|
inputRef={ref}
|
||||||
onFocus={onFocus}
|
onFocus={onFocus}
|
||||||
|
|
Loading…
Reference in New Issue