diff --git a/src/extensions/registries/kube-object-menu-registry.ts b/src/extensions/registries/kube-object-menu-registry.ts index fbbc872d2b..cfc198ee04 100644 --- a/src/extensions/registries/kube-object-menu-registry.ts +++ b/src/extensions/registries/kube-object-menu-registry.ts @@ -32,10 +32,13 @@ export interface KubeObjectMenuRegistration { components: KubeObjectMenuComponents; } -export class KubeObjectMenuRegistry extends BaseRegistry { - getItemsForKind(kind: string, apiVersion: string) { - return this.getItems().filter((item) => { - return item.kind === kind && item.apiVersions.includes(apiVersion); - }); - } +export interface IHasGettableItemsForKind { + getItemsForKind(kind: string, apiVersion: string): any; +} + +export class KubeObjectMenuRegistry extends BaseRegistry implements IHasGettableItemsForKind { + getItemsForKind = (kind: string, apiVersion: string) => + this.getItems().filter((item) => + item.kind === kind && item.apiVersions.includes(apiVersion), + ); } diff --git a/src/renderer/components/kube-object-menu/kube-object-menu.tsx b/src/renderer/components/kube-object-menu/kube-object-menu.tsx index c7ec3d473a..1c21e92844 100644 --- a/src/renderer/components/kube-object-menu/kube-object-menu.tsx +++ b/src/renderer/components/kube-object-menu/kube-object-menu.tsx @@ -25,7 +25,10 @@ import type { KubeObject } from "../../../common/k8s-api/kube-object"; import { MenuActions, MenuActionsProps } from "../menu/menu-actions"; import identity from "lodash/identity"; -import type { KubeObjectMenuRegistry } from "../../../extensions/registries"; +import type { + IHasGettableItemsForKind, +} from "../../../extensions/registries"; + import type { CatalogEntityRegistry } from "../../api/catalog-entity-registry"; import type { IGettableStore } from "../../../common/k8s-api/api-manager"; @@ -38,10 +41,10 @@ export interface KubeObjectMenuProps extends MenuActionsProps { interface KubeObjectMenuDependencies extends KubeObjectMenuProps{ apiManager: IGettableStore, + kubeObjectMenuRegistry: IHasGettableItemsForKind hideDetails: Function, editResourceTab: Function, catalogEntityRegistry: CatalogEntityRegistry, - kubeObjectMenuRegistry: KubeObjectMenuRegistry } export class KubeObjectMenu extends React.Component> { @@ -125,11 +128,13 @@ export class KubeObjectMenu extends React.Component ( + .map(({ components: { MenuItem }}: { components: { MenuItem: React.ReactType }}, index: number) => ( )); }