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

change cluster menu

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
Jari Kolehmainen 2021-03-09 15:32:49 +02:00
parent cfff6556e9
commit af961a3004
3 changed files with 25 additions and 31 deletions

View File

@ -28,7 +28,8 @@ export class LandingPage extends React.Component {
if (showStartupHint && noClustersInScope) {
Notifications.info(<><b>Welcome!</b><p>Get started by associating one or more clusters to Lens</p></>, {
timeout: 30_000
timeout: 30_000,
id: "landing-welcome"
});
}
}

View File

@ -27,7 +27,7 @@
}
}
> .WorkspaceOverview {
> .WorkspaceMenu {
position: relative;
margin-bottom: $margin;

View File

@ -21,8 +21,9 @@ import { getExtensionPageUrl, globalPageMenuRegistry, globalPageRegistry } from
import { clusterDisconnectHandler } from "../../../common/cluster-ipc";
import { commandRegistry } from "../../../extensions/registries/command-registry";
import { CommandOverlay } from "../command-palette/command-container";
import { computed } from "mobx";
import { computed, observable } from "mobx";
import { Select } from "../select";
import { Menu, MenuItem } from "../menu";
interface Props {
className?: IClassName;
@ -30,6 +31,8 @@ interface Props {
@observer
export class ClustersMenu extends React.Component<Props> {
@observable workspaceMenuVisible = false;
showCluster = (clusterId: ClusterId) => {
navigate(clusterViewURL({ params: { clusterId } }));
};
@ -89,32 +92,6 @@ export class ClustersMenu extends React.Component<Props> {
});
};
showWorkspaceContextMenu() {
const { Menu, MenuItem } = remote;
const menu = new Menu();
const workspace = workspaceStore.getById(workspaceStore.currentWorkspaceId);
if (!workspace.isManaged) {
menu.append(new MenuItem({
label: `Add cluster`,
click: () => {
navigate(addClusterURL());
}
}));
}
menu.append(new MenuItem({
label: `Workspace Overview`,
click: () => {
navigate(landingURL());
}
}));
menu.popup({
window: remote.getCurrentWindow()
});
}
@autobind()
swapClusterIconOrder(result: DropResult) {
if (result.reason === "DROP") {
@ -168,8 +145,24 @@ export class ClustersMenu extends React.Component<Props> {
</DragDropContext>
</div>
<div className="WorkspaceOverview">
<Icon big material="menu" id="workspace-overview-icon" onClick={this.showWorkspaceContextMenu} />
<div className="WorkspaceMenu">
<Icon big material="menu" id="workspace-menu-icon" data-test-id="workspace-menu" />
<Menu
usePortal
htmlFor="workspace-menu-icon"
className="WorkspaceMenu"
isOpen={this.workspaceMenuVisible}
open={() => this.workspaceMenuVisible = true}
close={() => this.workspaceMenuVisible = false}
toggleEvent="click"
>
<MenuItem onClick={() => navigate(addClusterURL())} data-test-id="add-cluster-menu-item">
<Icon small material="add" /> Add Cluster
</MenuItem>
<MenuItem onClick={() => navigate(landingURL())} data-test-id="workspace-overview-menu-item">
<Icon small material="dashboard" /> Workspace Overview
</MenuItem>
</Menu>
</div>
<div className="extensions">
{globalPageMenuRegistry.getItems().map(({ title, target, components: { Icon } }) => {