diff --git a/src/renderer/components/+workloads-deployments/deployment-replicasets.tsx b/src/renderer/components/+workloads-deployments/deployment-replicasets.tsx index fdc2bdf804..1f73e176db 100644 --- a/src/renderer/components/+workloads-deployments/deployment-replicasets.tsx +++ b/src/renderer/components/+workloads-deployments/deployment-replicasets.tsx @@ -15,9 +15,12 @@ import { prevDefault, stopPropagation } from "../../utils"; import { DrawerTitle } from "../drawer"; import { Table, TableCell, TableHead, TableRow } from "../table"; import { KubeObjectStatusIcon } from "../kube-object-status-icon"; -import { replicaSetStore } from "../+workloads-replicasets/legacy-store"; -import { showDetails } from "../kube-detail-params"; import { KubeObjectAge } from "../kube-object/age"; +import type { ReplicaSetStore } from "../+workloads-replicasets/store"; +import type { ShowDetails } from "../kube-detail-params/show-details.injectable"; +import { withInjectables } from "@ogre-tools/injectable-react"; +import showDetailsInjectable from "../kube-detail-params/show-details.injectable"; +import replicaSetStoreInjectable from "../+workloads-replicasets/store.injectable"; enum sortBy { @@ -31,14 +34,23 @@ export interface DeploymentReplicaSetsProps { replicaSets: ReplicaSet[]; } +interface Dependencies { + replicaSetStore: ReplicaSetStore; + showDetails: ShowDetails; +} + @observer -export class DeploymentReplicaSets extends React.Component { +class NonInjectedDeploymentReplicaSets extends React.Component { getPodsLength(replicaSet: ReplicaSet) { - return replicaSetStore.getChildPods(replicaSet).length; + return this.props.replicaSetStore.getChildPods(replicaSet).length; } render() { - const { replicaSets } = this.props; + const { + replicaSets, + replicaSetStore, + showDetails, + } = this.props; if (!replicaSets.length && !replicaSetStore.isLoaded) return (
@@ -95,6 +107,14 @@ export class DeploymentReplicaSets extends React.Component(NonInjectedDeploymentReplicaSets, { + getProps: (di, props) => ({ + ...props, + replicaSetStore: di.inject(replicaSetStoreInjectable), + showDetails: di.inject(showDetailsInjectable), + }), +}); + export function ReplicaSetMenu(props: KubeObjectMenuProps) { return ( diff --git a/src/renderer/components/+workloads-replicasets/legacy-store.ts b/src/renderer/components/+workloads-replicasets/legacy-store.ts deleted file mode 100644 index ac835163d4..0000000000 --- a/src/renderer/components/+workloads-replicasets/legacy-store.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { asLegacyGlobalForExtensionApi } from "../../../extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api"; -import replicaSetStoreInjectable from "./store.injectable"; - -/** - * @deprecated use `di.inject(replicaSetStoreInjectable)` instead - */ -export const replicaSetStore = asLegacyGlobalForExtensionApi(replicaSetStoreInjectable);