1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Use withInjectables

Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
This commit is contained in:
Piotr Roszatycki 2022-10-10 00:04:24 +02:00
parent 253ef2d289
commit 6161070061

View File

@ -10,7 +10,7 @@ import kebabCase from "lodash/kebabCase";
import { disposeOnUnmount, observer } from "mobx-react"; import { disposeOnUnmount, observer } from "mobx-react";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import { observable, reaction, makeObservable } from "mobx"; import { observable, reaction, makeObservable } from "mobx";
import { Pod, priorityClassApi, runtimeClassApi, serviceAccountApi } from "../../../common/k8s-api/endpoints"; import { Pod, PriorityClassApi, RuntimeClassApi, ServiceAccountApi } from "../../../common/k8s-api/endpoints";
import type { NodeApi } from "../../../common/k8s-api/endpoints"; import type { NodeApi } from "../../../common/k8s-api/endpoints";
import { DrawerItem, DrawerTitle } from "../drawer"; import { DrawerItem, DrawerTitle } from "../drawer";
import { Badge } from "../badge"; import { Badge } from "../badge";
@ -35,6 +35,9 @@ import type { GetDetailsUrl } from "../kube-detail-params/get-details-url.inject
import getActiveClusterEntityInjectable from "../../api/catalog/entity/get-active-cluster-entity.injectable"; import getActiveClusterEntityInjectable from "../../api/catalog/entity/get-active-cluster-entity.injectable";
import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable"; import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable";
import nodeApiInjectable from "../../../common/k8s-api/endpoints/node.api.injectable"; import nodeApiInjectable from "../../../common/k8s-api/endpoints/node.api.injectable";
import runtimeClassApiInjectable from "../../../common/k8s-api/endpoints/runtime-class.api.injectable";
import serviceAccountApiInjectable from "../../../common/k8s-api/endpoints/service-account.api.injectable";
import priorityClassApiInjectable from "../../../common/k8s-api/endpoints/priority-class.api.injectable";
export interface PodDetailsProps extends KubeObjectDetailsProps<Pod> { export interface PodDetailsProps extends KubeObjectDetailsProps<Pod> {
} }
@ -44,6 +47,9 @@ interface Dependencies {
getActiveClusterEntity: GetActiveClusterEntity; getActiveClusterEntity: GetActiveClusterEntity;
getDetailsUrl: GetDetailsUrl; getDetailsUrl: GetDetailsUrl;
nodeApi: NodeApi; nodeApi: NodeApi;
priorityClassApi: PriorityClassApi;
runtimeClassApi: RuntimeClassApi;
serviceAccountApi: ServiceAccountApi
} }
@observer @observer
@ -98,13 +104,13 @@ class NonInjectedPodDetails extends React.Component<PodDetailsProps & Dependenci
const runtimeClassName = pod.getRuntimeClassName(); const runtimeClassName = pod.getRuntimeClassName();
const serviceAccountName = pod.getServiceAccountName(); const serviceAccountName = pod.getServiceAccountName();
const priorityClassDetailsUrl = getDetailsUrl(priorityClassApi.getUrl({ const priorityClassDetailsUrl = getDetailsUrl(this.props.priorityClassApi.getUrl({
name: priorityClassName, name: priorityClassName,
})); }));
const runtimeClassDetailsUrl = getDetailsUrl(runtimeClassApi.getUrl({ const runtimeClassDetailsUrl = getDetailsUrl(this.props.runtimeClassApi.getUrl({
name: runtimeClassName, name: runtimeClassName,
})); }));
const serviceAccountDetailsUrl = getDetailsUrl(serviceAccountApi.getUrl({ const serviceAccountDetailsUrl = getDetailsUrl(this.props.serviceAccountApi.getUrl({
name: serviceAccountName, name: serviceAccountName,
})); }));
@ -239,5 +245,8 @@ export const PodDetails = withInjectables<Dependencies, PodDetailsProps>(NonInje
getActiveClusterEntity: di.inject(getActiveClusterEntityInjectable), getActiveClusterEntity: di.inject(getActiveClusterEntityInjectable),
getDetailsUrl: di.inject(getDetailsUrlInjectable), getDetailsUrl: di.inject(getDetailsUrlInjectable),
nodeApi: di.inject(nodeApiInjectable), nodeApi: di.inject(nodeApiInjectable),
priorityClassApi: di.inject(priorityClassApiInjectable),
runtimeClassApi: di.inject(runtimeClassApiInjectable),
serviceAccountApi: di.inject(serviceAccountApiInjectable),
}), }),
}); });