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:
parent
6044d08a74
commit
6677e22371
@ -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}?`
|
||||
|
@ -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
|
||||
*/
|
||||
|
@ -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) }>
|
||||
|
@ -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>
|
||||
|
@ -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({
|
||||
|
Loading…
Reference in New Issue
Block a user