mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
clean up: get rid of old implementation of currentKubeObjectInDetailsInjectable
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
998a9e8e96
commit
5a88444845
@ -5,6 +5,9 @@
|
|||||||
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import type { ClusterMetricsResourceType } from "../../../../common/cluster-types";
|
import type { ClusterMetricsResourceType } from "../../../../common/cluster-types";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../../components/kube-object-details/current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../../components/kube-object-details/current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../../components/kube-object-details/current-kube-object-in-details.injectable";
|
||||||
import enabledMetricsInjectable from "./metrics-enabled.injectable";
|
import enabledMetricsInjectable from "./metrics-enabled.injectable";
|
||||||
|
|
||||||
@ -15,13 +18,13 @@ const metricsDetailsComponentEnabledInjectable = getInjectable({
|
|||||||
const currentKubeObjectInDetails = di.inject(currentKubeObjectInDetailsInjectable);
|
const currentKubeObjectInDetails = di.inject(currentKubeObjectInDetailsInjectable);
|
||||||
|
|
||||||
return computed(() => {
|
return computed(() => {
|
||||||
const current = currentKubeObjectInDetails.value.get();
|
const kubeObject = currentKubeObjectInDetails.get() as KubeObjectDetailsItem;
|
||||||
|
|
||||||
if (!current?.object) {
|
if (kubeObject) {
|
||||||
return false;
|
return kubeObject.kind == kind && metricsEnabled.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
return current.object.kind == kind && metricsEnabled.get();
|
return false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
lifecycle: lifecycleEnum.keyedSingleton({
|
lifecycle: lifecycleEnum.keyedSingleton({
|
||||||
|
|||||||
@ -2,59 +2,25 @@
|
|||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
|
import { action, computed, type IComputedValue, observable, runInAction } from "mobx";
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import kubeDetailsUrlParamInjectable from "../kube-detail-params/kube-details-url.injectable";
|
import kubeDetailsUrlParamInjectable from "../kube-detail-params/kube-details-url.injectable";
|
||||||
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
|
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
|
||||||
import { asyncComputed } from "@ogre-tools/injectable-react";
|
|
||||||
import type { KubeObject } from "../../../common/k8s-api/kube-object";
|
import type { KubeObject } from "../../../common/k8s-api/kube-object";
|
||||||
import type { IComputedValue } from "mobx";
|
|
||||||
import { action, computed, observable, runInAction } from "mobx";
|
|
||||||
|
|
||||||
export type CurrentKubeObject =
|
export type KubeObjectDetailsItem = KubeObject;
|
||||||
| undefined
|
export type KubeObjectDetailsValue = KubeObjectDetailsItem | Error | undefined;
|
||||||
| { object: KubeObject; error?: undefined }
|
export type KubeObjectDetailsComputedValue = IComputedValue<KubeObjectDetailsValue>;
|
||||||
| { object?: undefined; error: string };
|
|
||||||
|
|
||||||
const currentKubeObjectInDetailsInjectable = getInjectable({
|
const currentKubeObjectInDetailsInjectable = getInjectable({
|
||||||
id: "current-kube-object-in-details",
|
id: "current-kube-object-in-details",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate(di): KubeObjectDetailsComputedValue {
|
||||||
const urlParam = di.inject(kubeDetailsUrlParamInjectable);
|
|
||||||
const apiManager = di.inject(apiManagerInjectable);
|
|
||||||
|
|
||||||
return asyncComputed({
|
|
||||||
getValueFromObservedPromise: async (): Promise<CurrentKubeObject> => {
|
|
||||||
const path = urlParam.get();
|
|
||||||
const store = apiManager.getStore(path);
|
|
||||||
|
|
||||||
if (!store) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
const object = await store.loadFromPath(path);
|
|
||||||
|
|
||||||
return { object };
|
|
||||||
} catch (error) {
|
|
||||||
return { error: String(error) };
|
|
||||||
}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
export type KubeObjectDetailsItemValue = KubeObject | Error | undefined;
|
|
||||||
export type KubeObjectDetailsItemComputed = IComputedValue<KubeObjectDetailsItemValue>;
|
|
||||||
|
|
||||||
export const currentKubeObjectInDetailsInjectable2 = getInjectable({
|
|
||||||
id: "current-kube-object-in-details-2",
|
|
||||||
|
|
||||||
instantiate(di): KubeObjectDetailsItemComputed {
|
|
||||||
const kubeObjectUrlParam = di.inject(kubeDetailsUrlParamInjectable);
|
const kubeObjectUrlParam = di.inject(kubeDetailsUrlParamInjectable);
|
||||||
const apiManager = di.inject(apiManagerInjectable);
|
const apiManager = di.inject(apiManagerInjectable);
|
||||||
const kubeObject = observable.box<KubeObjectDetailsItemValue>();
|
const kubeObject = observable.box<KubeObjectDetailsValue>();
|
||||||
|
|
||||||
return computed(() => {
|
return computed<KubeObjectDetailsValue>(() => {
|
||||||
const kubeObjUrlPath = kubeObjectUrlParam.get();
|
const kubeObjUrlPath = kubeObjectUrlParam.get();
|
||||||
|
|
||||||
if (!kubeObjUrlPath) return; // details panel is hidden
|
if (!kubeObjUrlPath) return; // details panel is hidden
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { computed } from "mobx";
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { CustomResourceDetails } from "../+custom-resources";
|
import { CustomResourceDetails } from "../+custom-resources";
|
||||||
import customResourceDefinitionStoreInjectable from "../+custom-resources/definition.store.injectable";
|
import customResourceDefinitionStoreInjectable from "../+custom-resources/definition.store.injectable";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "./current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "./current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "./current-kube-object-in-details.injectable";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "./kube-object-detail-items/kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "./kube-object-detail-items/kube-object-detail-item-injection-token";
|
||||||
|
|
||||||
@ -16,13 +19,13 @@ const customResourceDetailItemInjectable = getInjectable({
|
|||||||
const customResourceDefinitionStore = di.inject(customResourceDefinitionStoreInjectable);
|
const customResourceDefinitionStore = di.inject(customResourceDefinitionStoreInjectable);
|
||||||
const currentKubeObjectInDetails = di.inject(currentKubeObjectInDetailsInjectable);
|
const currentKubeObjectInDetails = di.inject(currentKubeObjectInDetailsInjectable);
|
||||||
const currentCustomResourceDefinition = computed(() => {
|
const currentCustomResourceDefinition = computed(() => {
|
||||||
const { object } = currentKubeObjectInDetails.value.get() ?? {};
|
const object = currentKubeObjectInDetails.get();
|
||||||
|
|
||||||
if (!object) {
|
if (!object) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
return customResourceDefinitionStore.getByObject(object);
|
return customResourceDefinitionStore.getByObject(object as KubeObjectDetailsItem);
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -6,6 +6,9 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ClusterRoleBindingDetails } from "../../../+user-management/+cluster-role-bindings";
|
import { ClusterRoleBindingDetails } from "../../../+user-management/+cluster-role-bindings";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
|
||||||
@ -17,7 +20,7 @@ const clusterRoleBindingDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: ClusterRoleBindingDetails,
|
Component: ClusterRoleBindingDetails,
|
||||||
enabled: computed(() => isClusterRoleBinding(kubeObject.value.get()?.object)),
|
enabled: computed(() => isClusterRoleBinding(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -6,6 +6,9 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ClusterRoleDetails } from "../../../+user-management/+cluster-roles";
|
import { ClusterRoleDetails } from "../../../+user-management/+cluster-roles";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
|
||||||
@ -17,7 +20,7 @@ const clusterRoleDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: ClusterRoleDetails,
|
Component: ClusterRoleDetails,
|
||||||
enabled: computed(() => isClusterRole(kubeObject.value.get()?.object)),
|
enabled: computed(() => isClusterRole(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ConfigMapDetails } from "../../../+config-maps";
|
import { ConfigMapDetails } from "../../../+config-maps";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const configMapDetailItemInjectable = getInjectable({
|
const configMapDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const configMapDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: ConfigMapDetails,
|
Component: ConfigMapDetails,
|
||||||
enabled: computed(() => isConfigMap(kubeObject.value.get()?.object)),
|
enabled: computed(() => isConfigMap(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -6,6 +6,9 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { CronJobDetails } from "../../../+workloads-cronjobs";
|
import { CronJobDetails } from "../../../+workloads-cronjobs";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
|
||||||
@ -17,7 +20,7 @@ const cronJobDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: CronJobDetails,
|
Component: CronJobDetails,
|
||||||
enabled: computed(() => isCronJob(kubeObject.value.get()?.object)),
|
enabled: computed(() => isCronJob(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { CRDDetails } from "../../../+custom-resources";
|
import { CRDDetails } from "../../../+custom-resources";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const customResourceDefinitionsDetailItemInjectable = getInjectable({
|
const customResourceDefinitionsDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const customResourceDefinitionsDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: CRDDetails,
|
Component: CRDDetails,
|
||||||
enabled: computed(() => isCustomResourceDefinition(kubeObject.value.get()?.object)),
|
enabled: computed(() => isCustomResourceDefinition(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -6,7 +6,12 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { DaemonSetDetails } from "../../../+workloads-daemonsets";
|
import { DaemonSetDetails } from "../../../+workloads-daemonsets";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import {
|
||||||
|
kubeObjectMatchesToKindAndApiVersion,
|
||||||
|
} from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const daemonSetDetailItemInjectable = getInjectable({
|
const daemonSetDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +22,7 @@ const daemonSetDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: DaemonSetDetails,
|
Component: DaemonSetDetails,
|
||||||
enabled: computed(() => isDaemonSet(kubeObject.value.get()?.object)),
|
enabled: computed(() => isDaemonSet(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -6,6 +6,9 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { DeploymentDetails } from "../../../+workloads-deployments";
|
import { DeploymentDetails } from "../../../+workloads-deployments";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
|
||||||
@ -17,7 +20,7 @@ const deploymentDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: DeploymentDetails,
|
Component: DeploymentDetails,
|
||||||
enabled: computed(() => isDeployment(kubeObject.value.get()?.object)),
|
enabled: computed(() => isDeployment(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { EndpointsDetails } from "../../../+network-endpoints";
|
import { EndpointsDetails } from "../../../+network-endpoints";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const endpointsDetailItemInjectable = getInjectable({
|
const endpointsDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const endpointsDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: EndpointsDetails,
|
Component: EndpointsDetails,
|
||||||
enabled: computed(() => isEndpoint(kubeObject.value.get()?.object)),
|
enabled: computed(() => isEndpoint(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { EventDetails } from "../../../+events";
|
import { EventDetails } from "../../../+events";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const eventsDetailItemInjectable = getInjectable({
|
const eventsDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const eventsDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: EventDetails,
|
Component: EventDetails,
|
||||||
enabled: computed(() => isEvent(kubeObject.value.get()?.object)),
|
enabled: computed(() => isEvent(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { HpaDetails } from "../../../+config-horizontal-pod-autoscalers";
|
import { HpaDetails } from "../../../+config-horizontal-pod-autoscalers";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const horizontalPodAutoscalerDetailItemInjectable = getInjectable({
|
const horizontalPodAutoscalerDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const horizontalPodAutoscalerDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: HpaDetails,
|
Component: HpaDetails,
|
||||||
enabled: computed(() => isHorizontalPodAutoscaler(kubeObject.value.get()?.object)),
|
enabled: computed(() => isHorizontalPodAutoscaler(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { IngressClassDetails } from "../../../+network-ingresses";
|
import { IngressClassDetails } from "../../../+network-ingresses";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const ingressClassDetailItemInjectable = getInjectable({
|
const ingressClassDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const ingressClassDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: IngressClassDetails,
|
Component: IngressClassDetails,
|
||||||
enabled: computed(() => isIngressClass(kubeObject.value.get()?.object)),
|
enabled: computed(() => isIngressClass(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { IngressDetails } from "../../../+network-ingresses";
|
import { IngressDetails } from "../../../+network-ingresses";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const ingressDetailItemInjectable = getInjectable({
|
const ingressDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const ingressDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: IngressDetails,
|
Component: IngressDetails,
|
||||||
enabled: computed(() => isIngress(kubeObject.value.get()?.object)),
|
enabled: computed(() => isIngress(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { JobDetails } from "../../../+workloads-jobs";
|
import { JobDetails } from "../../../+workloads-jobs";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const jobDetailItemInjectable = getInjectable({
|
const jobDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const jobDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: JobDetails,
|
Component: JobDetails,
|
||||||
enabled: computed(() => isJob(kubeObject.value.get()?.object)),
|
enabled: computed(() => isJob(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { LeaseDetails } from "../../../+config-leases";
|
import { LeaseDetails } from "../../../+config-leases";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const leaseDetailItemInjectable = getInjectable({
|
const leaseDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const leaseDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: LeaseDetails,
|
Component: LeaseDetails,
|
||||||
enabled: computed(() => isLease(kubeObject.value.get()?.object)),
|
enabled: computed(() => isLease(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { LimitRangeDetails } from "../../../+config-limit-ranges";
|
import { LimitRangeDetails } from "../../../+config-limit-ranges";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const limitRangeDetailItemInjectable = getInjectable({
|
const limitRangeDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const limitRangeDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: LimitRangeDetails,
|
Component: LimitRangeDetails,
|
||||||
enabled: computed(() => isLimitRange(kubeObject.value.get()?.object)),
|
enabled: computed(() => isLimitRange(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -9,20 +9,20 @@ import { NamespaceDetails } from "../../../+namespaces";
|
|||||||
import {
|
import {
|
||||||
kubeObjectMatchesToKindAndApiVersion,
|
kubeObjectMatchesToKindAndApiVersion,
|
||||||
} from "../kube-object-matches-to-kind-and-api-version";
|
} from "../kube-object-matches-to-kind-and-api-version";
|
||||||
import {
|
import type {
|
||||||
currentKubeObjectInDetailsInjectable2,
|
KubeObjectDetailsItem,
|
||||||
} from "../../current-kube-object-in-details.injectable";
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import type { KubeObject } from "../../../../../common/k8s-api/kube-object";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const namespacesDetailItemInjectable = getInjectable({
|
const namespacesDetailItemInjectable = getInjectable({
|
||||||
id: "namespaces-detail-item",
|
id: "namespaces-detail-item",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const kubeObject = di.inject(currentKubeObjectInDetailsInjectable2);
|
const kubeObject = di.inject(currentKubeObjectInDetailsInjectable);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
Component: NamespaceDetails,
|
Component: NamespaceDetails,
|
||||||
enabled: computed(() => isNamespace(kubeObject.get() as KubeObject)),
|
enabled: computed(() => isNamespace(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { NetworkPolicyDetails } from "../../../+network-policies";
|
import { NetworkPolicyDetails } from "../../../+network-policies";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const networkPolicyDetailItemInjectable = getInjectable({
|
const networkPolicyDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const networkPolicyDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: NetworkPolicyDetails,
|
Component: NetworkPolicyDetails,
|
||||||
enabled: computed(() => isNetworkPolicy(kubeObject.value.get()?.object)),
|
enabled: computed(() => isNetworkPolicy(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -6,6 +6,9 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { NodeDetails } from "../../../+nodes/details";
|
import { NodeDetails } from "../../../+nodes/details";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
|
||||||
@ -17,7 +20,7 @@ const nodeDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: NodeDetails,
|
Component: NodeDetails,
|
||||||
enabled: computed(() => isNode(kubeObject.value.get()?.object)),
|
enabled: computed(() => isNode(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PersistentVolumeClaimDetails } from "../../../+storage-volume-claims";
|
import { PersistentVolumeClaimDetails } from "../../../+storage-volume-claims";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const persistentVolumeClaimDetailItemInjectable = getInjectable({
|
const persistentVolumeClaimDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const persistentVolumeClaimDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: PersistentVolumeClaimDetails,
|
Component: PersistentVolumeClaimDetails,
|
||||||
enabled: computed(() => isPersistentVolumeClaim(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPersistentVolumeClaim(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PersistentVolumeDetails } from "../../../+storage-volumes";
|
import { PersistentVolumeDetails } from "../../../+storage-volumes";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const persistentVolumeDetailItemInjectable = getInjectable({
|
const persistentVolumeDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const persistentVolumeDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: PersistentVolumeDetails,
|
Component: PersistentVolumeDetails,
|
||||||
enabled: computed(() => isPersistentVolume(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPersistentVolume(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PodDetails } from "../../../+workloads-pods";
|
import { PodDetails } from "../../../+workloads-pods";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const podDetailItemInjectable = getInjectable({
|
const podDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const podDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: PodDetails,
|
Component: PodDetails,
|
||||||
enabled: computed(() => isPod(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPod(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -17,7 +17,7 @@ const podDisruptionBudgetDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: PodDisruptionBudgetDetails,
|
Component: PodDisruptionBudgetDetails,
|
||||||
enabled: computed(() => kubeObject.value.get()?.object instanceof PodDisruptionBudget),
|
enabled: computed(() => kubeObject.get() instanceof PodDisruptionBudget),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PodSecurityPolicyDetails } from "../../../+pod-security-policies";
|
import { PodSecurityPolicyDetails } from "../../../+pod-security-policies";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const podSecurityPolicyDetailItemInjectable = getInjectable({
|
const podSecurityPolicyDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const podSecurityPolicyDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: PodSecurityPolicyDetails,
|
Component: PodSecurityPolicyDetails,
|
||||||
enabled: computed(() => isPodSecurityPolicy(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPodSecurityPolicy(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { PriorityClassesDetails } from "../../../+config-priority-classes";
|
import { PriorityClassesDetails } from "../../../+config-priority-classes";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const priorityClassDetailItemInjectable = getInjectable({
|
const priorityClassDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const priorityClassDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: PriorityClassesDetails,
|
Component: PriorityClassesDetails,
|
||||||
enabled: computed(() => isPriorityClass(kubeObject.value.get()?.object)),
|
enabled: computed(() => isPriorityClass(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ReplicaSetDetails } from "../../../+workloads-replicasets";
|
import { ReplicaSetDetails } from "../../../+workloads-replicasets";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const replicaSetDetailItemInjectable = getInjectable({
|
const replicaSetDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const replicaSetDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: ReplicaSetDetails,
|
Component: ReplicaSetDetails,
|
||||||
enabled: computed(() => isReplicaSet(kubeObject.value.get()?.object)),
|
enabled: computed(() => isReplicaSet(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -8,21 +8,21 @@ import { computed } from "mobx";
|
|||||||
import {
|
import {
|
||||||
kubeObjectMatchesToKindAndApiVersion,
|
kubeObjectMatchesToKindAndApiVersion,
|
||||||
} from "../kube-object-matches-to-kind-and-api-version";
|
} from "../kube-object-matches-to-kind-and-api-version";
|
||||||
import {
|
import type {
|
||||||
currentKubeObjectInDetailsInjectable2,
|
KubeObjectDetailsItem,
|
||||||
} from "../../current-kube-object-in-details.injectable";
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
import { ReplicationControllerDetails } from "../../../+workloads-replicationcontrollers";
|
import { ReplicationControllerDetails } from "../../../+workloads-replicationcontrollers";
|
||||||
import type { KubeObject } from "../../../../../common/k8s-api/kube-object";
|
|
||||||
|
|
||||||
const replicationControllerDetailItemInjectable = getInjectable({
|
const replicationControllerDetailItemInjectable = getInjectable({
|
||||||
id: "replication-controller-detail-item",
|
id: "replication-controller-detail-item",
|
||||||
|
|
||||||
instantiate(di) {
|
instantiate(di) {
|
||||||
const kubeObject = di.inject(currentKubeObjectInDetailsInjectable2);
|
const kubeObject = di.inject(currentKubeObjectInDetailsInjectable);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
Component: ReplicationControllerDetails,
|
Component: ReplicationControllerDetails,
|
||||||
enabled: computed(() => isReplicationController(kubeObject.get() as KubeObject)),
|
enabled: computed(() => isReplicationController(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ResourceQuotaDetails } from "../../../+config-resource-quotas";
|
import { ResourceQuotaDetails } from "../../../+config-resource-quotas";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const resourceQuotaDetailItemInjectable = getInjectable({
|
const resourceQuotaDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const resourceQuotaDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: ResourceQuotaDetails,
|
Component: ResourceQuotaDetails,
|
||||||
enabled: computed(() => isResourceQuota(kubeObject.value.get()?.object)),
|
enabled: computed(() => isResourceQuota(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { RoleBindingDetails } from "../../../+user-management/+role-bindings";
|
import { RoleBindingDetails } from "../../../+user-management/+role-bindings";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const roleBindingDetailItemInjectable = getInjectable({
|
const roleBindingDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const roleBindingDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: RoleBindingDetails,
|
Component: RoleBindingDetails,
|
||||||
enabled: computed(() => isRoleBinding(kubeObject.value.get()?.object)),
|
enabled: computed(() => isRoleBinding(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { RoleDetails } from "../../../+user-management/+roles";
|
import { RoleDetails } from "../../../+user-management/+roles";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const roleDetailItemInjectable = getInjectable({
|
const roleDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const roleDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: RoleDetails,
|
Component: RoleDetails,
|
||||||
enabled: computed(() => isRole(kubeObject.value.get()?.object)),
|
enabled: computed(() => isRole(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { RuntimeClassesDetails } from "../../../+config-runtime-classes";
|
import { RuntimeClassesDetails } from "../../../+config-runtime-classes";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const runtimeClassDetailItemInjectable = getInjectable({
|
const runtimeClassDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const runtimeClassDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: RuntimeClassesDetails,
|
Component: RuntimeClassesDetails,
|
||||||
enabled: computed(() => isRuntimeClass(kubeObject.value.get()?.object)),
|
enabled: computed(() => isRuntimeClass(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { SecretDetails } from "../../../+config-secrets";
|
import { SecretDetails } from "../../../+config-secrets";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const secretsDetailItemInjectable = getInjectable({
|
const secretsDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const secretsDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: SecretDetails,
|
Component: SecretDetails,
|
||||||
enabled: computed(() => isSecret(kubeObject.value.get()?.object)),
|
enabled: computed(() => isSecret(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ServiceAccountsDetails } from "../../../+user-management/+service-accounts";
|
import { ServiceAccountsDetails } from "../../../+user-management/+service-accounts";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const serviceAccountDetailItemInjectable = getInjectable({
|
const serviceAccountDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const serviceAccountDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: ServiceAccountsDetails,
|
Component: ServiceAccountsDetails,
|
||||||
enabled: computed(() => isServiceAccount(kubeObject.value.get()?.object)),
|
enabled: computed(() => isServiceAccount(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { ServiceDetails } from "../../../+network-services";
|
import { ServiceDetails } from "../../../+network-services";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const serviceDetailItemInjectable = getInjectable({
|
const serviceDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const serviceDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: ServiceDetails,
|
Component: ServiceDetails,
|
||||||
enabled: computed(() => isService(kubeObject.value.get()?.object)),
|
enabled: computed(() => isService(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { StatefulSetDetails } from "../../../+workloads-statefulsets";
|
import { StatefulSetDetails } from "../../../+workloads-statefulsets";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const statefulSetDetailItemInjectable = getInjectable({
|
const statefulSetDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const statefulSetDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: StatefulSetDetails,
|
Component: StatefulSetDetails,
|
||||||
enabled: computed(() => isStatefulSet(kubeObject.value.get()?.object)),
|
enabled: computed(() => isStatefulSet(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { StorageClassDetails } from "../../../+storage-classes";
|
import { StorageClassDetails } from "../../../+storage-classes";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const storageClassDetailItemInjectable = getInjectable({
|
const storageClassDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const storageClassDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: StorageClassDetails,
|
Component: StorageClassDetails,
|
||||||
enabled: computed(() => isStorageClass(kubeObject.value.get()?.object)),
|
enabled: computed(() => isStorageClass(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-i
|
|||||||
import { VpaDetails } from "../../../+config-vertical-pod-autoscalers";
|
import { VpaDetails } from "../../../+config-vertical-pod-autoscalers";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
const verticalPodAutoscalerDetailItemInjectable = getInjectable({
|
const verticalPodAutoscalerDetailItemInjectable = getInjectable({
|
||||||
@ -17,7 +20,7 @@ const verticalPodAutoscalerDetailItemInjectable = getInjectable({
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
Component: VpaDetails,
|
Component: VpaDetails,
|
||||||
enabled: computed(() => isVerticalPodAutoscaler(kubeObject.value.get()?.object)),
|
enabled: computed(() => isVerticalPodAutoscaler(kubeObject.get() as KubeObjectDetailsItem)),
|
||||||
orderNumber: 10,
|
orderNumber: 10,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -9,6 +9,9 @@ import type { LensRendererExtension } from "../../../../extensions/lens-renderer
|
|||||||
import extensionShouldBeEnabledForClusterFrameInjectable from "../../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
|
import extensionShouldBeEnabledForClusterFrameInjectable from "../../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
|
||||||
import { kubeObjectDetailItemInjectionToken } from "./kube-object-detail-item-injection-token";
|
import { kubeObjectDetailItemInjectionToken } from "./kube-object-detail-item-injection-token";
|
||||||
import { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token";
|
import { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token";
|
||||||
|
import type {
|
||||||
|
KubeObjectDetailsItem,
|
||||||
|
} from "../current-kube-object-in-details.injectable";
|
||||||
import currentKubeObjectInDetailsInjectable from "../current-kube-object-in-details.injectable";
|
import currentKubeObjectInDetailsInjectable from "../current-kube-object-in-details.injectable";
|
||||||
import { kubeObjectMatchesToKindAndApiVersion } from "./kube-object-matches-to-kind-and-api-version";
|
import { kubeObjectMatchesToKindAndApiVersion } from "./kube-object-matches-to-kind-and-api-version";
|
||||||
|
|
||||||
@ -55,7 +58,7 @@ const kubeObjectDetailItemRegistratorInjectable = getInjectable({
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isRelevantKubeObject(kubeObject.value.get()?.object)) {
|
if (!isRelevantKubeObject(kubeObject.get() as KubeObjectDetailsItem)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,11 +18,10 @@ import hideDetailsInjectable from "../kube-detail-params/hide-details.injectable
|
|||||||
import kubeObjectDetailItemsInjectable
|
import kubeObjectDetailItemsInjectable
|
||||||
from "./kube-object-detail-items/kube-object-detail-items.injectable";
|
from "./kube-object-detail-items/kube-object-detail-items.injectable";
|
||||||
import type {
|
import type {
|
||||||
KubeObjectDetailsItemComputed,
|
KubeObjectDetailsItem,
|
||||||
} from "./current-kube-object-in-details.injectable";
|
KubeObjectDetailsComputedValue,
|
||||||
import {
|
|
||||||
currentKubeObjectInDetailsInjectable2,
|
|
||||||
} from "./current-kube-object-in-details.injectable";
|
} from "./current-kube-object-in-details.injectable";
|
||||||
|
import currentKubeObjectInDetailsInjectable from "./current-kube-object-in-details.injectable";
|
||||||
|
|
||||||
export interface KubeObjectDetailsProps<Kube extends KubeObject = KubeObject> {
|
export interface KubeObjectDetailsProps<Kube extends KubeObject = KubeObject> {
|
||||||
className?: string;
|
className?: string;
|
||||||
@ -31,7 +30,7 @@ export interface KubeObjectDetailsProps<Kube extends KubeObject = KubeObject> {
|
|||||||
|
|
||||||
interface Dependencies {
|
interface Dependencies {
|
||||||
detailComponents: IComputedValue<React.ElementType[]>;
|
detailComponents: IComputedValue<React.ElementType[]>;
|
||||||
kubeObject: KubeObjectDetailsItemComputed;
|
kubeObjectDetails: KubeObjectDetailsComputedValue;
|
||||||
hideDetails: HideDetails;
|
hideDetails: HideDetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,30 +38,38 @@ const NonInjectedKubeObjectDetails = observer((props: Dependencies) => {
|
|||||||
const {
|
const {
|
||||||
detailComponents,
|
detailComponents,
|
||||||
hideDetails,
|
hideDetails,
|
||||||
kubeObject,
|
kubeObjectDetails,
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
const object = kubeObject.get();
|
const kubeObject = kubeObjectDetails.get();
|
||||||
|
const isError = kubeObject instanceof Error;
|
||||||
|
const isLoading = !kubeObject && !isError;
|
||||||
|
|
||||||
|
const title = (kubeObject instanceof KubeObject)
|
||||||
|
? `${kubeObject.kind}: ${kubeObject.getName()}`
|
||||||
|
: "KubeResourceDetails";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Drawer
|
<Drawer
|
||||||
className="KubeObjectDetails flex column"
|
className="KubeObjectDetails flex column"
|
||||||
open={!!object}
|
open={!!kubeObject}
|
||||||
title={
|
title={title}
|
||||||
object instanceof KubeObject ? `${object.kind}: ${object.getName()}` : ""
|
toolbar={kubeObject &&
|
||||||
}
|
<KubeObjectMenu object={kubeObject as KubeObjectDetailsItem} toolbar />}
|
||||||
toolbar={object && <KubeObjectMenu object={object as KubeObject} toolbar />}
|
|
||||||
onClose={hideDetails}
|
onClose={hideDetails}
|
||||||
>
|
>
|
||||||
{!object && <Spinner center />}
|
{isLoading && <Spinner center />}
|
||||||
{object instanceof Error && (
|
|
||||||
|
{isError ? (
|
||||||
<div className="box center">
|
<div className="box center">
|
||||||
Resource loading has failed:
|
Resource loading has failed:
|
||||||
<b>{object}</b>
|
{" "}
|
||||||
|
<b>{String(kubeObject)}</b>
|
||||||
</div>
|
</div>
|
||||||
|
) : (
|
||||||
|
kubeObject && detailComponents.get()
|
||||||
|
.map((Component, index) => <Component key={index} object={kubeObject} />)
|
||||||
)}
|
)}
|
||||||
{object && detailComponents.get()
|
|
||||||
.map((Component, index) => <Component key={index} object={object} />)}
|
|
||||||
</Drawer>
|
</Drawer>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@ -72,6 +79,6 @@ export const KubeObjectDetails = withInjectables<Dependencies>(NonInjectedKubeOb
|
|||||||
...props,
|
...props,
|
||||||
hideDetails: di.inject(hideDetailsInjectable),
|
hideDetails: di.inject(hideDetailsInjectable),
|
||||||
detailComponents: di.inject(kubeObjectDetailItemsInjectable),
|
detailComponents: di.inject(kubeObjectDetailItemsInjectable),
|
||||||
kubeObject: di.inject(currentKubeObjectInDetailsInjectable2),
|
kubeObjectDetails: di.inject(currentKubeObjectInDetailsInjectable),
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user