//
// SPDX-License-Identifier: AGPL-3.0
-import * as React from 'react';
-import Menu from '@material-ui/core/Menu';
-import IconButton from '@material-ui/core/IconButton';
-import { PopoverOrigin } from '@material-ui/core/Popover';
-import { Tooltip } from '@material-ui/core';
+import React from "react";
+import Menu from "@material-ui/core/Menu";
+import IconButton from "@material-ui/core/IconButton";
+import { PopoverOrigin } from "@material-ui/core/Popover";
+import { Tooltip } from "@material-ui/core";
interface DropdownMenuProps {
id: string;
export class DropdownMenu extends React.Component<DropdownMenuProps, DropdownMenuState> {
state = {
- anchorEl: undefined
+ anchorEl: undefined,
};
transformOrigin: PopoverOrigin = {
vertical: -50,
- horizontal: 0
+ horizontal: 0,
};
render() {
const { anchorEl } = this.state;
return (
<div>
- <IconButton
- aria-owns={anchorEl ? id : undefined}
- aria-haspopup="true"
- color="inherit"
- onClick={this.handleOpen}>
- <Tooltip title={title}>
+ <Tooltip
+ title={title}
+ disableFocusListener>
+ <IconButton
+ aria-owns={anchorEl ? id : undefined}
+ aria-haspopup="true"
+ color="inherit"
+ onClick={this.handleOpen}>
{icon}
- </Tooltip>
- </IconButton>
+ </IconButton>
+ </Tooltip>
<Menu
id={id}
anchorEl={anchorEl}
handleClose = () => {
this.setState({ anchorEl: undefined });
- }
+ };
handleOpen = (event: React.MouseEvent<HTMLButtonElement>) => {
this.setState({ anchorEl: event.currentTarget });
- }
+ };
}