From 6b769cfa0748384aee9d20d4f503f3ca53367fd0 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 22 Dec 2022 09:14:53 -0500 Subject: [PATCH] Remove usages of legacy global serviceApi Signed-off-by: Sebastian Malton --- .../k8s-api/endpoints/legacy-globals.ts | 6 ---- .../port-forward-details.tsx | 33 ++++++++++++++++--- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/common/k8s-api/endpoints/legacy-globals.ts b/src/common/k8s-api/endpoints/legacy-globals.ts index f8b6d4ca11..d93068645a 100644 --- a/src/common/k8s-api/endpoints/legacy-globals.ts +++ b/src/common/k8s-api/endpoints/legacy-globals.ts @@ -14,7 +14,6 @@ import podApiInjectable from "./pod.api.injectable"; import resourceQuotaApiInjectable from "./resource-quota.api.injectable"; import roleApiInjectable from "./role.api.injectable"; import secretApiInjectable from "./secret.api.injectable"; -import serviceApiInjectable from "./service.api.injectable"; /** * @deprecated use `di.inject(roleApiInjectable)` instead @@ -65,8 +64,3 @@ export const resourceQuotaApi = asLegacyGlobalForExtensionApi(resourceQuotaApiIn * @deprecated use `di.inject(secretApiInjectable)` instead */ export const secretApi = asLegacyGlobalForExtensionApi(secretApiInjectable); - -/** - * @deprecated use `di.inject(serviceApiInjectable)` instead - */ -export const serviceApi = asLegacyGlobalForExtensionApi(serviceApiInjectable); diff --git a/src/renderer/components/+network-port-forwards/port-forward-details.tsx b/src/renderer/components/+network-port-forwards/port-forward-details.tsx index dbc3156660..ba59ad7c10 100644 --- a/src/renderer/components/+network-port-forwards/port-forward-details.tsx +++ b/src/renderer/components/+network-port-forwards/port-forward-details.tsx @@ -11,19 +11,33 @@ import type { PortForwardItem } from "../../port-forward"; import { portForwardAddress } from "../../port-forward"; import { Drawer, DrawerItem } from "../drawer"; import { cssNames } from "../../utils"; -import { podApi, serviceApi } from "../../../common/k8s-api/endpoints"; -import { getDetailsUrl } from "../kube-detail-params"; +import type { PodApi, ServiceApi } from "../../../common/k8s-api/endpoints"; import { PortForwardMenu } from "./port-forward-menu"; +import { withInjectables } from "@ogre-tools/injectable-react"; +import serviceApiInjectable from "../../../common/k8s-api/endpoints/service.api.injectable"; +import type { GetDetailsUrl } from "../kube-detail-params/get-details-url.injectable"; +import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable"; +import podApiInjectable from "../../../common/k8s-api/endpoints/pod.api.injectable"; export interface PortForwardDetailsProps { portForward: PortForwardItem; hideDetails(): void; } -export class PortForwardDetails extends React.Component { +interface Dependencies { + serviceApi: ServiceApi; + getDetailsUrl: GetDetailsUrl; + podApi: PodApi; +} +class NonInjectedPortForwardDetails extends React.Component { renderResourceName() { - const { portForward } = this.props; + const { + portForward, + serviceApi, + podApi, + getDetailsUrl, + } = this.props; const name = portForward.getName(); const api = { "service": serviceApi, @@ -37,7 +51,7 @@ export class PortForwardDetails extends React.Component } return ( - + {name} ); @@ -99,3 +113,12 @@ export class PortForwardDetails extends React.Component ); } } + +export const PortForwardDetails = withInjectables(NonInjectedPortForwardDetails, { + getProps: (di, props) => ({ + ...props, + serviceApi: di.inject(serviceApiInjectable), + getDetailsUrl: di.inject(getDetailsUrlInjectable), + podApi: di.inject(podApiInjectable), + }), +});