diff --git a/src/main/cluster.ts b/src/main/cluster.ts index cada76b655..2ec97c792a 100644 --- a/src/main/cluster.ts +++ b/src/main/cluster.ts @@ -37,16 +37,12 @@ import { ClusterMetadataKey, initialNodeShellImage, ClusterStatus } from "../com import { disposer, storedKubeConfigFolder, toJS } from "../common/utils"; import type { Response } from "request"; -export interface IHasName { - readonly name: string; -} - /** * Cluster * * @beta */ -export class Cluster implements ClusterModel, ClusterState, IHasName { +export class Cluster implements ClusterModel, ClusterState { /** Unique id for a cluster */ public readonly id: ClusterId; private kubeCtl: Kubectl; diff --git a/src/renderer/components/kube-object-menu/inject-naive/inject-naive.tsx b/src/renderer/components/kube-object-menu/inject-naive/inject-naive.tsx index c6ec0184ae..612cb44925 100644 --- a/src/renderer/components/kube-object-menu/inject-naive/inject-naive.tsx +++ b/src/renderer/components/kube-object-menu/inject-naive/inject-naive.tsx @@ -25,7 +25,8 @@ import { hideDetails } from "../../kube-detail-params"; import { apiManager } from "../../../../common/k8s-api/api-manager"; import { KubeObjectMenuRegistry } from "../../../../extensions/registries"; import { getActiveClusterEntity } from "../../../api/catalog-entity-registry"; - +import type { KubeObjectMenuDependencies } from "../kube-object-menu"; +import type { KubeObject } from "../../../../common/k8s-api/kube-object"; interface Props { Component: React.ReactType @@ -36,12 +37,12 @@ export const InjectNaive = ({ Component, ...props }: Props) => { const kubeObjectMenuRegistry = KubeObjectMenuRegistry.getInstance(); const cluster = getActiveClusterEntity(); - const dependencies = { + const dependencies: KubeObjectMenuDependencies = { + clusterName: cluster.name, editResourceTab, hideDetails, apiManager, kubeObjectMenuRegistry, - cluster, }; return ( diff --git a/src/renderer/components/kube-object-menu/kube-object-menu.test.tsx b/src/renderer/components/kube-object-menu/kube-object-menu.test.tsx index aa347e9aa3..2097baea05 100644 --- a/src/renderer/components/kube-object-menu/kube-object-menu.test.tsx +++ b/src/renderer/components/kube-object-menu/kube-object-menu.test.tsx @@ -32,7 +32,6 @@ import type { } from "../../../extensions/registries"; import type { IGettableStore } from "../../../common/k8s-api/api-manager"; import type { KubeObjectStore } from "../../../common/k8s-api/kube-object.store"; -import type { IHasName } from "../../../main/cluster"; import { ConfirmDialog } from "../confirm-dialog"; import asyncFn from "@async-fn/jest"; @@ -40,7 +39,6 @@ describe("kube-object-menu", () => { let hideDetailsStub: () => void; let editResourceTabStub: () => void; let apiManagerStub: IGettableStore; - let clusterStub: IHasName; let kubeObjectMenuRegistryStub: IHasGettableItemsForKind; let objectStub: KubeObject | null; let dependencies: KubeObjectMenuDependencies; @@ -63,8 +61,6 @@ describe("kube-object-menu", () => { ): TKubeObjectStore | undefined => undefined, }; - clusterStub = { name: "Some cluster name" }; - const MenuItemComponentStub: React.FC = () =>
Some menu item
; const dynamicMenuItemStub: KubeObjectMenuRegistration = { @@ -85,8 +81,8 @@ describe("kube-object-menu", () => { editResourceTabStub = () => {}; dependencies = { + clusterName: "Some cluster name", apiManager: apiManagerStub, - cluster: clusterStub, kubeObjectMenuRegistry: kubeObjectMenuRegistryStub, hideDetails: hideDetailsStub, editResourceTab: editResourceTabStub, 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 a4f0d23269..5125c5f001 100644 --- a/src/renderer/components/kube-object-menu/kube-object-menu.tsx +++ b/src/renderer/components/kube-object-menu/kube-object-menu.tsx @@ -27,12 +27,11 @@ import identity from "lodash/identity"; import type { IHasGettableItemsForKind } from "../../../extensions/registries"; import type { IGettableStore } from "../../../common/k8s-api/api-manager"; -import type { IHasName } from "../../../main/cluster"; export interface KubeObjectMenuDependencies{ apiManager: IGettableStore; kubeObjectMenuRegistry: IHasGettableItemsForKind; - cluster: IHasName; + clusterName: string, hideDetails: () => void; editResourceTab: (kubeObject: TKubeObject) => void; } @@ -93,7 +92,7 @@ export class KubeObjectMenu< } const breadcrumbParts = [ - this.dependencies.cluster?.name, + this.dependencies.clusterName, object.getNs(), object.kind, object.getName(),