1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Use <MenuActions> instead of <Menu> in cluster actions menu

Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
This commit is contained in:
Alex Culliere 2021-02-12 12:29:59 +02:00
parent f00f2686d4
commit dc99dd1302

View File

@ -1,12 +1,10 @@
import React, { useState } from "react"; import React from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { uniqueId } from "lodash";
import { ClusterActions } from "../cluster-manager"; import { ClusterActions } from "../cluster-manager";
import { Cluster } from "../../../main/cluster"; import { Cluster } from "../../../main/cluster";
import { cssNames } from "../../utils"; import { cssNames } from "../../utils";
import { Icon } from "../icon"; import { MenuActions, MenuItem } from "../menu";
import { Menu, MenuItem } from "../menu";
interface Props { interface Props {
cluster: Cluster cluster: Cluster
@ -14,18 +12,8 @@ interface Props {
} }
export const MainLayoutHeader = observer(({ cluster, className }: Props) => { export const MainLayoutHeader = observer(({ cluster, className }: Props) => {
const [isMenuOpen, setMenuOpen] = useState(false);
const id = uniqueId("cluster_actions_");
const actions = ClusterActions(cluster); const actions = ClusterActions(cluster);
const renderMenu = () => <MenuActions>
const renderMenu = () => <Menu
usePortal
isOpen={isMenuOpen}
open={() => setMenuOpen(true)}
close={() => setMenuOpen(false)}
className="ClusterActionsMenu"
htmlFor={id}
toggleEvent="click">
<MenuItem onClick={actions.SHOW_SETTINGS}> <MenuItem onClick={actions.SHOW_SETTINGS}>
<span>Settings</span> <span>Settings</span>
</MenuItem> </MenuItem>
@ -35,16 +23,11 @@ export const MainLayoutHeader = observer(({ cluster, className }: Props) => {
{ !cluster.isManaged && <MenuItem onClick={actions.REMOVE}> { !cluster.isManaged && <MenuItem onClick={actions.REMOVE}>
<span>Remove</span> <span>Remove</span>
</MenuItem> } </MenuItem> }
</Menu>; </MenuActions>;
return ( return (
<header className={cssNames("flex gaps align-center justify-space-between", className)}> <header className={cssNames("flex gaps align-center justify-space-between", className)}>
<span className="cluster">{cluster.name}</span> <span className="cluster">{cluster.name}</span>
<Icon
id={id}
material="more_vert"
interactive
/>
{renderMenu()} {renderMenu()}
</header> </header>
); );