From b7b1e97a7ba831f3575aaa2c79428b529e427ba8 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 3 Jan 2023 11:25:19 -0500 Subject: [PATCH] Remove last usages of legacy global getDetailsUrl Signed-off-by: Sebastian Malton --- .../+workloads-cronjobs/cronjob-details.tsx | 7 +++-- .../details/volumes/variant-helpers.tsx | 31 ++++++++++++++++--- .../components/kube-detail-params/index.ts | 6 ---- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/renderer/components/+workloads-cronjobs/cronjob-details.tsx b/src/renderer/components/+workloads-cronjobs/cronjob-details.tsx index 68f05a54fe..c8f925edc1 100644 --- a/src/renderer/components/+workloads-cronjobs/cronjob-details.tsx +++ b/src/renderer/components/+workloads-cronjobs/cronjob-details.tsx @@ -14,7 +14,6 @@ import type { JobStore } from "../+workloads-jobs/store"; import { Link } from "react-router-dom"; import type { CronJobStore } from "./store"; import type { KubeObjectDetailsProps } from "../kube-object-details"; -import { getDetailsUrl } from "../kube-detail-params"; import type { Job } from "../../../common/k8s-api/endpoints"; import { CronJob } from "../../../common/k8s-api/endpoints"; import type { Logger } from "../../../common/logger"; @@ -24,6 +23,8 @@ import subscribeStoresInjectable from "../../kube-watch-api/subscribe-stores.inj import cronJobStoreInjectable from "./store.injectable"; import jobStoreInjectable from "../+workloads-jobs/store.injectable"; import loggerInjectable from "../../../common/logger.injectable"; +import type { GetDetailsUrl } from "../kube-detail-params/get-details-url.injectable"; +import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable"; export interface CronJobDetailsProps extends KubeObjectDetailsProps { } @@ -33,6 +34,7 @@ interface Dependencies { jobStore: JobStore; cronJobStore: CronJobStore; logger: Logger; + getDetailsUrl: GetDetailsUrl; } @observer @@ -46,7 +48,7 @@ class NonInjectedCronJobDetails extends React.Component cronJobStore: di.inject(cronJobStoreInjectable), jobStore: di.inject(jobStoreInjectable), logger: di.inject(loggerInjectable), + getDetailsUrl: di.inject(getDetailsUrlInjectable), }), }); diff --git a/src/renderer/components/+workloads-pods/details/volumes/variant-helpers.tsx b/src/renderer/components/+workloads-pods/details/volumes/variant-helpers.tsx index 127f78cdcc..b0f0662da3 100644 --- a/src/renderer/components/+workloads-pods/details/volumes/variant-helpers.tsx +++ b/src/renderer/components/+workloads-pods/details/volumes/variant-helpers.tsx @@ -2,13 +2,15 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ +import { withInjectables } from "@ogre-tools/injectable-react"; import React from "react"; import { Link } from "react-router-dom"; import type { PodVolumeVariants, Pod, SecretReference } from "../../../../../common/k8s-api/endpoints"; import type { KubeApiQueryParams, ResourceDescriptor } from "../../../../../common/k8s-api/kube-api"; import type { LocalObjectReference } from "../../../../../common/k8s-api/kube-object"; import { DrawerItem } from "../../../drawer"; -import { getDetailsUrl } from "../../../kube-detail-params"; +import type { GetDetailsUrl } from "../../../kube-detail-params/get-details-url.injectable"; +import getDetailsUrlInjectable from "../../../kube-detail-params/get-details-url.injectable"; export interface PodVolumeVariantSpecificProps { variant: PodVolumeVariants[Kind]; @@ -29,16 +31,35 @@ export interface LocalRefProps { api: LocalRefPropsApi; } -export const LocalRef = ({ pod, title, kubeRef: ref, api }: LocalRefProps) => { - if (!ref) { +interface Dependencies { + getDetailsUrl: GetDetailsUrl; +} + +const NonInjectedLocalRef = (props: LocalRefProps & Dependencies) => { + const { + pod, + title, + kubeRef, + api, + getDetailsUrl, + } = props; + + if (!kubeRef) { return null; } return ( - - {ref.name} + + {kubeRef.name} ); }; + +export const LocalRef = withInjectables(NonInjectedLocalRef, { + getProps: (di, props) => ({ + ...props, + getDetailsUrl: di.inject(getDetailsUrlInjectable), + }), +}); diff --git a/src/renderer/components/kube-detail-params/index.ts b/src/renderer/components/kube-detail-params/index.ts index beef30557a..b88de9f4af 100644 --- a/src/renderer/components/kube-detail-params/index.ts +++ b/src/renderer/components/kube-detail-params/index.ts @@ -4,14 +4,8 @@ */ import { asLegacyGlobalFunctionForExtensionApi } from "../../../extensions/as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api"; -import getDetailsUrlInjectable from "./get-details-url.injectable"; import showDetailsInjectable from "./show-details.injectable"; -/** - * @deprecated use `di.inject(getDetailsUrlInjectable)` instead - */ -export const getDetailsUrl = asLegacyGlobalFunctionForExtensionApi(getDetailsUrlInjectable); - /** * @deprecated use `di.inject(showDetailsInjectable)` instead */