X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/eede2d8dc696f24552414b2425bb5d3a745280cc..9e4b7889a99ff2f76d8029aef3a85c4620178ba3:/src/components/dropdown-menu/dropdown-menu.tsx diff --git a/src/components/dropdown-menu/dropdown-menu.tsx b/src/components/dropdown-menu/dropdown-menu.tsx new file mode 100644 index 00000000..4f2b83af --- /dev/null +++ b/src/components/dropdown-menu/dropdown-menu.tsx @@ -0,0 +1,65 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + +import * as React from 'react'; +import { Menu, IconButton } from '@material-ui/core'; +import { PopoverOrigin } from '@material-ui/core/Popover'; + + +interface DropdownMenuProps { + id: string; + icon: React.ComponentType; +} + +class DropdownMenu extends React.Component { + + state = { + anchorEl: undefined + }; + + transformOrigin: PopoverOrigin = { + vertical: "top", + horizontal: "center" + }; + + render() { + const { icon: Icon, id, children } = this.props; + const { anchorEl } = this.state; + return ( +
+ + + + + {children} + +
+ ); + } + + handleClose = () => { + this.setState({ anchorEl: undefined }); + } + + handleOpen = (event: React.MouseEvent) => { + this.setState({ anchorEl: event.currentTarget }); + } +} + + +export default DropdownMenu;