diff --git a/src/renderer/components/+network-endpoints/legacy-store.ts b/src/renderer/components/+network-endpoints/legacy-store.ts deleted file mode 100644 index f66d144619..0000000000 --- a/src/renderer/components/+network-endpoints/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 endpointsStoreInjectable from "./store.injectable"; - -/** - * @deprecated use `di.inject(endpointsStoreInjectable)` - */ -export const endpointsStore = asLegacyGlobalForExtensionApi(endpointsStoreInjectable); diff --git a/src/renderer/components/+network-services/service-details-endpoint.tsx b/src/renderer/components/+network-services/service-details-endpoint.tsx index 8d1e0f6166..f7dec5077a 100644 --- a/src/renderer/components/+network-services/service-details-endpoint.tsx +++ b/src/renderer/components/+network-services/service-details-endpoint.tsx @@ -7,31 +7,33 @@ import { observer } from "mobx-react"; import React from "react"; import { Table, TableHead, TableCell, TableRow } from "../table"; import { prevDefault } from "../../utils"; -import { endpointsStore } from "../+network-endpoints/legacy-store"; -import { Spinner } from "../spinner"; -import { showDetails } from "../kube-detail-params"; -import logger from "../../../common/logger"; +import type { Logger } from "../../../common/logger"; import { Endpoints } from "../../../common/k8s-api/endpoints"; +import type { ShowDetails } from "../kube-detail-params/show-details.injectable"; +import { withInjectables } from "@ogre-tools/injectable-react"; +import loggerInjectable from "../../../common/logger.injectable"; +import showDetailsInjectable from "../kube-detail-params/show-details.injectable"; export interface ServiceDetailsEndpointProps { endpoints: Endpoints; } +interface Dependencies { + logger: Logger; + showDetails: ShowDetails; +} + @observer -export class ServiceDetailsEndpoint extends React.Component { +class NonInjectedServiceDetailsEndpoint extends React.Component { render() { const { endpoints } = this.props; - if (!endpoints && !endpointsStore.isLoaded) return ( -
- ); - if (!endpoints) { return null; } if (!(endpoints instanceof Endpoints)) { - logger.error("[ServiceDetailsEndpoint]: passed object that is not an instanceof Endpoints", endpoints); + this.props.logger.error("[ServiceDetailsEndpoint]: passed object that is not an instanceof Endpoints", endpoints); return null; } @@ -51,7 +53,7 @@ export class ServiceDetailsEndpoint extends React.Component showDetails(endpoints.selfLink, false))} + onClick={prevDefault(() => this.props.showDetails(endpoints.selfLink, false))} > {endpoints.getName()} { endpoints.toString()} @@ -61,3 +63,11 @@ export class ServiceDetailsEndpoint extends React.Component(NonInjectedServiceDetailsEndpoint, { + getProps: (di, props) => ({ + ...props, + logger: di.inject(loggerInjectable), + showDetails: di.inject(showDetailsInjectable), + }), +});