1
0
mirror of https://github.com/lensapp/lens.git synced 2024-09-20 13:57:23 +03:00

Remove unnecessary 'onlyVisibleForSource' (#2982)

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2021-06-09 00:01:26 -04:00 committed by GitHub
parent 6044d08a74
commit 6677e22371
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 17 additions and 24 deletions

View File

@ -101,20 +101,18 @@ export class KubernetesCluster extends CatalogEntity<CatalogEntityMetadata, Kube
}
async onContextMenuOpen(context: CatalogEntityContextMenuContext) {
context.menuItems = [
{
if (!this.metadata.source || this.metadata.source === "local") {
context.menuItems.push({
title: "Settings",
icon: "edit",
onlyVisibleForSource: "local",
onClick: async () => context.navigate(`/entity/${this.metadata.uid}/settings`)
},
];
});
}
if (this.metadata.labels["file"]?.startsWith(ClusterStore.storedKubeConfigFolder)) {
context.menuItems.push({
title: "Delete",
icon: "delete",
onlyVisibleForSource: "local",
onClick: async () => ClusterStore.getInstance().removeById(this.metadata.uid),
confirm: {
message: `Remove Kubernetes Cluster "${this.metadata.name} from ${productName}?`

View File

@ -104,10 +104,6 @@ export interface CatalogEntityContextMenu {
* Menu icon
*/
icon?: string;
/**
* Show only if empty or if value matches with entity.metadata.source
*/
onlyVisibleForSource?: string;
/**
* OnClick handler
*/

View File

@ -78,23 +78,24 @@ export class CatalogEntityDrawerMenu<T extends CatalogEntity> extends React.Comp
return [];
}
const menuItems = this.contextMenu.menuItems.filter((menuItem) => {
return menuItem.icon && !menuItem.onlyVisibleForSource || menuItem.onlyVisibleForSource === entity.metadata.source;
});
const items: React.ReactChild[] = [];
const items = menuItems.map((menuItem, index) => {
const props = menuItem.icon.includes("<svg") ? { svg: menuItem.icon } : { material: menuItem.icon };
for (const menuItem of this.contextMenu.menuItems) {
if (!menuItem.icon) {
continue;
}
return (
<MenuItem key={index} onClick={() => this.onMenuItemClick(menuItem)}>
const key = menuItem.icon.includes("<svg") ? "svg" : "material";
items.push(
<MenuItem key={menuItem.title} onClick={() => this.onMenuItemClick(menuItem)}>
<Icon
title={menuItem.title}
{...props}
{...{ [key]: menuItem.icon }}
/>
</MenuItem>
);
});
}
items.unshift(
<MenuItem key="add-to-hotbar" onClick={() => this.addToHotbar(entity) }>

View File

@ -171,12 +171,10 @@ export class Catalog extends React.Component<Props> {
}
renderItemMenu = (item: CatalogEntityItem) => {
const menuItems = this.contextMenu.menuItems.filter((menuItem) => !menuItem.onlyVisibleForSource || menuItem.onlyVisibleForSource === item.entity.metadata.source);
return (
<MenuActions onOpen={() => item.onContextMenuOpen(this.contextMenu)}>
{
menuItems.map((menuItem, index) => (
this.contextMenu.menuItems.map((menuItem, index) => (
<MenuItem key={index} onClick={() => this.onMenuItemClick(menuItem)}>
{menuItem.title}
</MenuItem>

View File

@ -106,7 +106,7 @@ export class HotbarEntityIcon extends React.Component<Props> {
};
const isActive = this.isActive(entity);
const isPersisted = this.isPersisted(entity);
const menuItems = this.contextMenu?.menuItems.filter((menuItem) => !menuItem.onlyVisibleForSource || menuItem.onlyVisibleForSource === entity.metadata.source);
const menuItems = this.contextMenu?.menuItems ?? [];
if (!isPersisted) {
menuItems.unshift({