From e763df755a6a5d3e0e6343f79750aa036920bcfd Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 22 Dec 2022 10:47:00 -0500 Subject: [PATCH] Remove usages of legacy global persistentVolumeClaimApi Signed-off-by: Sebastian Malton --- .../k8s-api/endpoints/legacy-globals.ts | 6 ---- .../variants/persistent-volume-claim.tsx | 34 ++++++++++++++----- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/common/k8s-api/endpoints/legacy-globals.ts b/src/common/k8s-api/endpoints/legacy-globals.ts index a008316a96..282a4eaf1f 100644 --- a/src/common/k8s-api/endpoints/legacy-globals.ts +++ b/src/common/k8s-api/endpoints/legacy-globals.ts @@ -9,7 +9,6 @@ import cronJobApiInjectable from "./cron-job.api.injectable"; import jobApiInjectable from "./job.api.injectable"; import networkPolicyApiInjectable from "./network-policy.api.injectable"; import nodeApiInjectable from "./node.api.injectable"; -import persistentVolumeClaimApiInjectable from "./persistent-volume-claim.api.injectable"; import podApiInjectable from "./pod.api.injectable"; import roleApiInjectable from "./role.api.injectable"; @@ -47,8 +46,3 @@ export const networkPolicyApi = asLegacyGlobalForExtensionApi(networkPolicyApiIn * @deprecated use `di.inject(nodeApiInjectable)` instead */ export const nodeApi = asLegacyGlobalForExtensionApi(nodeApiInjectable); - -/** - * @deprecated use `di.inject(persistentVolumeClaimApiInjectable)` instead - */ -export const persistentVolumeClaimApi = asLegacyGlobalForExtensionApi(persistentVolumeClaimApiInjectable); diff --git a/src/renderer/components/+workloads-pods/details/volumes/variants/persistent-volume-claim.tsx b/src/renderer/components/+workloads-pods/details/volumes/variants/persistent-volume-claim.tsx index 641442d0ac..bbf786c5b9 100644 --- a/src/renderer/components/+workloads-pods/details/volumes/variants/persistent-volume-claim.tsx +++ b/src/renderer/components/+workloads-pods/details/volumes/variants/persistent-volume-claim.tsx @@ -3,18 +3,36 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ +import { withInjectables } from "@ogre-tools/injectable-react"; import React from "react"; -import { persistentVolumeClaimApi } from "../../../../../../common/k8s-api/endpoints"; -import type { VolumeVariantComponent } from "../variant-helpers"; +import type { PersistentVolumeClaimApi } from "../../../../../../common/k8s-api/endpoints"; +import persistentVolumeClaimApiInjectable from "../../../../../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable"; +import type { PodVolumeVariantSpecificProps } from "../variant-helpers"; import { LocalRef } from "../variant-helpers"; -export const PersistentVolumeClaim: VolumeVariantComponent<"persistentVolumeClaim"> = ( - ({ pod, variant: { claimName }}) => ( +interface Dependencies { + persistentVolumeClaimApi: PersistentVolumeClaimApi; +} + +const NonInjectedPersistentVolumeClaim = (props: PodVolumeVariantSpecificProps<"persistentVolumeClaim"> & Dependencies) => { + const { + pod, + variant: { claimName }, + persistentVolumeClaimApi, + } = props; + + return ( - ) -); + api={persistentVolumeClaimApi} /> + ); +}; + +export const PersistentVolumeClaim = withInjectables>(NonInjectedPersistentVolumeClaim, { + getProps: (di, props) => ({ + ...props, + persistentVolumeClaimApi: di.inject(persistentVolumeClaimApiInjectable), + }), +});