diff --git a/src/extensions/extension-loader.ts b/src/extensions/extension-loader.ts index e32f44e208..f38c7c3ae9 100644 --- a/src/extensions/extension-loader.ts +++ b/src/extensions/extension-loader.ts @@ -56,30 +56,30 @@ export class ExtensionLoader { loadOnMain() { logger.info('[EXTENSIONS-LOADER]: load on main') - this.autoInitExtensions((extension: LensMainExtension) => [ - registries.menuRegistry.add(extension, extension.appMenus) + this.autoInitExtensions((ext: LensMainExtension) => [ + registries.menuRegistry.add(ext.appMenus, { ext }) ]); } loadOnClusterManagerRenderer() { logger.info('[EXTENSIONS-LOADER]: load on main renderer (cluster manager)') - this.autoInitExtensions((extension: LensRendererExtension) => [ - registries.globalPageRegistry.add(extension, extension.globalPages), - registries.globalPageMenuRegistry.add(extension, extension.globalPageMenus), - registries.appPreferenceRegistry.add(extension, extension.appPreferences), - registries.clusterFeatureRegistry.add(extension, extension.clusterFeatures), - registries.statusBarRegistry.add(extension, extension.statusBarItems), + this.autoInitExtensions((ext: LensRendererExtension) => [ + registries.globalPageRegistry.add(ext.globalPages, { ext }), + registries.globalPageMenuRegistry.add(ext.globalPageMenus, { ext }), + registries.appPreferenceRegistry.add(ext.appPreferences, { ext }), + registries.clusterFeatureRegistry.add(ext.clusterFeatures, { ext }), + registries.statusBarRegistry.add(ext.statusBarItems, { ext }), ]); } loadOnClusterRenderer() { logger.info('[EXTENSIONS-LOADER]: load on cluster renderer (dashboard)') - this.autoInitExtensions((extension: LensRendererExtension) => [ - registries.clusterPageRegistry.add(extension, extension.clusterPages), - registries.clusterPageMenuRegistry.add(extension, extension.clusterPageMenus), - registries.kubeObjectMenuRegistry.add(extension, extension.kubeObjectMenuItems), - registries.kubeObjectDetailRegistry.add(extension, extension.kubeObjectDetailItems), - registries.kubeObjectStatusRegistry.add(extension, extension.kubeObjectStatusTexts) + this.autoInitExtensions((ext: LensRendererExtension) => [ + registries.clusterPageRegistry.add(ext.clusterPages, { ext }), + registries.clusterPageMenuRegistry.add(ext.clusterPageMenus, { ext }), + registries.kubeObjectMenuRegistry.add(ext.kubeObjectMenuItems, { ext }), + registries.kubeObjectDetailRegistry.add(ext.kubeObjectDetailItems, { ext }), + registries.kubeObjectStatusRegistry.add(ext.kubeObjectStatusTexts, { ext }) ]) } diff --git a/src/extensions/registries/base-registry.ts b/src/extensions/registries/base-registry.ts index 41efa171d6..1f362862d1 100644 --- a/src/extensions/registries/base-registry.ts +++ b/src/extensions/registries/base-registry.ts @@ -2,6 +2,11 @@ import { action, observable } from "mobx"; import { LensExtension } from "../lens-extension"; +export interface BaseRegistryAddMeta { + ext?: LensExtension | null; + merge?: boolean +} + export class BaseRegistry { private items = observable.map([], { deep: false }); @@ -15,23 +20,28 @@ export class BaseRegistry { } @action - add(ext: LensExtension | null, items: T[], merge = true) { + add(items: T | T[], { ext = null, merge = true }: BaseRegistryAddMeta = {}) { + const itemsList: T[] = Array.isArray(items) ? items : [items]; if (merge && this.items.has(ext)) { const newItems = new Set(this.items.get(ext)); - items.forEach(item => newItems.add(item)) + itemsList.forEach(item => newItems.add(item)) this.items.set(ext, [...newItems]); } else { - this.items.set(ext, items); + this.items.set(ext, itemsList); } - return () => this.remove(ext, items) + return () => this.remove(itemsList, ext) } @action - remove(ext: LensExtension | null, items: T[]) { - const storedItems = this.items.get(ext); + remove(items: T[], key: LensExtension = null) { + const storedItems = this.items.get(key); if (storedItems) { const newItems = storedItems.filter(item => !items.includes(item)); // works because of {deep: false}; - this.items.set(ext, newItems); + if (newItems.length > 0) { + this.items.set(key, newItems) + } else { + this.items.delete(key); + } } } } diff --git a/src/renderer/components/+config-autoscalers/hpa-details.tsx b/src/renderer/components/+config-autoscalers/hpa-details.tsx index fd2f176301..edd2624ba4 100644 --- a/src/renderer/components/+config-autoscalers/hpa-details.tsx +++ b/src/renderer/components/+config-autoscalers/hpa-details.tsx @@ -128,12 +128,10 @@ export class HpaDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "HorizontalPodAutoscaler", - apiVersions: ["autoscaling/v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "HorizontalPodAutoscaler", + apiVersions: ["autoscaling/v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+config-maps/config-map-details.tsx b/src/renderer/components/+config-maps/config-map-details.tsx index 6cb5bd47c8..a0d824ae98 100644 --- a/src/renderer/components/+config-maps/config-map-details.tsx +++ b/src/renderer/components/+config-maps/config-map-details.tsx @@ -94,12 +94,10 @@ export class ConfigMapDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "ConfigMap", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "ConfigMap", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets-details.tsx b/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets-details.tsx index b98cb9e1a6..745d588be3 100644 --- a/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets-details.tsx +++ b/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets-details.tsx @@ -54,12 +54,10 @@ export class PodDisruptionBudgetDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "PodDisruptionBudget", - apiVersions: ["policy/v1beta1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "PodDisruptionBudget", + apiVersions: ["policy/v1beta1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+config-resource-quotas/resource-quota-details.tsx b/src/renderer/components/+config-resource-quotas/resource-quota-details.tsx index fcde6747cd..4a2ff08238 100644 --- a/src/renderer/components/+config-resource-quotas/resource-quota-details.tsx +++ b/src/renderer/components/+config-resource-quotas/resource-quota-details.tsx @@ -16,6 +16,8 @@ import { ReplicaSetDetails } from "../+workloads-replicasets"; interface Props extends KubeObjectDetailsProps { } +const onlyNumbers = /$[0-9]*^/g; + function transformUnit(name: string, value: string): number { if (name.includes("memory") || name.includes("storage")) { return unitsToBytes(value) @@ -96,12 +98,10 @@ export class ResourceQuotaDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "ResourceQuota", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "ResourceQuota", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+config-secrets/secret-details.tsx b/src/renderer/components/+config-secrets/secret-details.tsx index 8785fa9d67..5e10eee94c 100644 --- a/src/renderer/components/+config-secrets/secret-details.tsx +++ b/src/renderer/components/+config-secrets/secret-details.tsx @@ -113,12 +113,10 @@ export class SecretDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Secret", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "Secret", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+custom-resources/crd-details.tsx b/src/renderer/components/+custom-resources/crd-details.tsx index 25f50e7452..b921eb0d04 100644 --- a/src/renderer/components/+custom-resources/crd-details.tsx +++ b/src/renderer/components/+custom-resources/crd-details.tsx @@ -134,12 +134,10 @@ export class CRDDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "CustomResourceDefinition", - apiVersions: ["apiextensions.k8s.io/v1", "apiextensions.k8s.io/v1beta1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "CustomResourceDefinition", + apiVersions: ["apiextensions.k8s.io/v1", "apiextensions.k8s.io/v1beta1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+events/event-details.tsx b/src/renderer/components/+events/event-details.tsx index c11e5230a1..b3d80ce318 100644 --- a/src/renderer/components/+events/event-details.tsx +++ b/src/renderer/components/+events/event-details.tsx @@ -74,12 +74,10 @@ export class EventDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Event", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "Event", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+namespaces/namespace-details.tsx b/src/renderer/components/+namespaces/namespace-details.tsx index f2ca7600bc..a7e2abf2f3 100644 --- a/src/renderer/components/+namespaces/namespace-details.tsx +++ b/src/renderer/components/+namespaces/namespace-details.tsx @@ -56,12 +56,10 @@ export class NamespaceDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Namespace", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "Namespace", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+network-endpoints/endpoint-details.tsx b/src/renderer/components/+network-endpoints/endpoint-details.tsx index f934b3d4fe..27d25956f5 100644 --- a/src/renderer/components/+network-endpoints/endpoint-details.tsx +++ b/src/renderer/components/+network-endpoints/endpoint-details.tsx @@ -7,6 +7,7 @@ import { DrawerTitle } from "../drawer"; import { KubeEventDetails } from "../+events/kube-event-details"; import { KubeObjectDetailsProps } from "../kube-object"; import { Endpoint } from "../../api/endpoints"; +import { _i18n } from "../../i18n"; import { KubeObjectMeta } from "../kube-object/kube-object-meta"; import { EndpointSubsetList } from "./endpoint-subset-list"; import { kubeObjectDetailRegistry } from "../../api/kube-object-detail-registry"; @@ -37,12 +38,10 @@ export class EndpointDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Endpoints", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "Endpoints", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+network-ingresses/ingress-details.tsx b/src/renderer/components/+network-ingresses/ingress-details.tsx index 6a0fc440cf..f87da6fc7b 100644 --- a/src/renderer/components/+network-ingresses/ingress-details.tsx +++ b/src/renderer/components/+network-ingresses/ingress-details.tsx @@ -134,12 +134,10 @@ export class IngressDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Ingress", - apiVersions: ["extensions/v1beta1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "Ingress", + apiVersions: ["extensions/v1beta1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+network-policies/network-policy-details.tsx b/src/renderer/components/+network-policies/network-policy-details.tsx index b1e65469c7..bf936a9477 100644 --- a/src/renderer/components/+network-policies/network-policy-details.tsx +++ b/src/renderer/components/+network-policies/network-policy-details.tsx @@ -144,12 +144,10 @@ export class NetworkPolicyDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "NetworkPolicy", - apiVersions: ["networking.k8s.io/v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "NetworkPolicy", + apiVersions: ["networking.k8s.io/v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+network-services/service-details.tsx b/src/renderer/components/+network-services/service-details.tsx index f3c9b32c35..5f438b498a 100644 --- a/src/renderer/components/+network-services/service-details.tsx +++ b/src/renderer/components/+network-services/service-details.tsx @@ -85,12 +85,10 @@ export class ServiceDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Service", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "Service", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+nodes/node-details.tsx b/src/renderer/components/+nodes/node-details.tsx index 691c0b54fa..9a09242c1f 100644 --- a/src/renderer/components/+nodes/node-details.tsx +++ b/src/renderer/components/+nodes/node-details.tsx @@ -155,12 +155,10 @@ export class NodeDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Node", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "Node", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+pod-security-policies/pod-security-policy-details.tsx b/src/renderer/components/+pod-security-policies/pod-security-policy-details.tsx index 6bf1e88911..2c50a4b668 100644 --- a/src/renderer/components/+pod-security-policies/pod-security-policy-details.tsx +++ b/src/renderer/components/+pod-security-policies/pod-security-policy-details.tsx @@ -209,12 +209,10 @@ export class PodSecurityPolicyDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "PodSecurityPolicy", - apiVersions: ["policy/v1beta1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "PodSecurityPolicy", + apiVersions: ["policy/v1beta1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+storage-classes/storage-class-details.tsx b/src/renderer/components/+storage-classes/storage-class-details.tsx index bdbb9f89f2..1d24a61861 100644 --- a/src/renderer/components/+storage-classes/storage-class-details.tsx +++ b/src/renderer/components/+storage-classes/storage-class-details.tsx @@ -62,12 +62,10 @@ export class StorageClassDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "StorageClass", - apiVersions: ["storage.k8s.io/v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "StorageClass", + apiVersions: ["storage.k8s.io/v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+storage-volume-claims/volume-claim-details.tsx b/src/renderer/components/+storage-volume-claims/volume-claim-details.tsx index b480e06322..8b4e6187f1 100644 --- a/src/renderer/components/+storage-volume-claims/volume-claim-details.tsx +++ b/src/renderer/components/+storage-volume-claims/volume-claim-details.tsx @@ -95,12 +95,10 @@ export class PersistentVolumeClaimDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "PersistentVolumeClaim", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "PersistentVolumeClaim", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+storage-volumes/volume-details.tsx b/src/renderer/components/+storage-volumes/volume-details.tsx index db3dbc9092..158eed4289 100644 --- a/src/renderer/components/+storage-volumes/volume-details.tsx +++ b/src/renderer/components/+storage-volumes/volume-details.tsx @@ -103,12 +103,10 @@ export class PersistentVolumeDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "PersistentVolume", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "PersistentVolume", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx b/src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx index 01dd131f96..0d7de24412 100644 --- a/src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx +++ b/src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx @@ -125,19 +125,17 @@ export class RoleBindingDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "RoleBinding", - apiVersions: ["rbac.authorization.k8s.io/v1"], - components: { - Details: (props) => - } - }, - { - kind: "ClusterRoleBinding", - apiVersions: ["rbac.authorization.k8s.io/v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "RoleBinding", + apiVersions: ["rbac.authorization.k8s.io/v1"], + components: { + Details: (props) => } -]) +}) +kubeObjectDetailRegistry.add({ + kind: "ClusterRoleBinding", + apiVersions: ["rbac.authorization.k8s.io/v1"], + components: { + Details: (props) => + } +}) diff --git a/src/renderer/components/+user-management-roles/role-details.tsx b/src/renderer/components/+user-management-roles/role-details.tsx index 82af634b67..164fbef093 100644 --- a/src/renderer/components/+user-management-roles/role-details.tsx +++ b/src/renderer/components/+user-management-roles/role-details.tsx @@ -66,19 +66,18 @@ export class RoleDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Role", - apiVersions: ["rbac.authorization.k8s.io/v1"], - components: { - Details: (props) => - } - }, - { - kind: "ClusterRole", - apiVersions: ["rbac.authorization.k8s.io/v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "Role", + apiVersions: ["rbac.authorization.k8s.io/v1"], + components: { + Details: (props) => } -]) \ No newline at end of file +}) + +kubeObjectDetailRegistry.add({ + kind: "ClusterRole", + apiVersions: ["rbac.authorization.k8s.io/v1"], + components: { + Details: (props) => + } +}) diff --git a/src/renderer/components/+user-management-service-accounts/service-accounts-details.tsx b/src/renderer/components/+user-management-service-accounts/service-accounts-details.tsx index 4ff5e46bc5..1d2fac6437 100644 --- a/src/renderer/components/+user-management-service-accounts/service-accounts-details.tsx +++ b/src/renderer/components/+user-management-service-accounts/service-accounts-details.tsx @@ -132,12 +132,10 @@ export class ServiceAccountsDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "ServiceAccount", - apiVersions: ["v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "ServiceAccount", + apiVersions: ["v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+user-management-service-accounts/service-accounts.tsx b/src/renderer/components/+user-management-service-accounts/service-accounts.tsx index b0d139d766..0455a5cdc0 100644 --- a/src/renderer/components/+user-management-service-accounts/service-accounts.tsx +++ b/src/renderer/components/+user-management-service-accounts/service-accounts.tsx @@ -77,12 +77,10 @@ function ServiceAccountMenu(props: KubeObjectMenuProps) { ) } -kubeObjectMenuRegistry.add(null, [ - { - kind: "ServiceAccount", - apiVersions: ["v1"], - components: { - MenuItem: ServiceAccountMenu - } +kubeObjectMenuRegistry.add({ + kind: "ServiceAccount", + apiVersions: ["v1"], + components: { + MenuItem: ServiceAccountMenu } -]) +}) diff --git a/src/renderer/components/+workloads-cronjobs/cronjob-details.tsx b/src/renderer/components/+workloads-cronjobs/cronjob-details.tsx index be2fb0c9ba..477819deb8 100644 --- a/src/renderer/components/+workloads-cronjobs/cronjob-details.tsx +++ b/src/renderer/components/+workloads-cronjobs/cronjob-details.tsx @@ -87,12 +87,10 @@ export class CronJobDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "CronJob", - apiVersions: ["batch/v1"], - components: { - Details: (props) => - } +kubeObjectDetailRegistry.add({ + kind: "CronJob", + apiVersions: ["batch/v1"], + components: { + Details: (props) => } -]) +}) diff --git a/src/renderer/components/+workloads-cronjobs/cronjobs.tsx b/src/renderer/components/+workloads-cronjobs/cronjobs.tsx index 2448e3887c..ab7609de81 100644 --- a/src/renderer/components/+workloads-cronjobs/cronjobs.tsx +++ b/src/renderer/components/+workloads-cronjobs/cronjobs.tsx @@ -88,12 +88,10 @@ export function CronJobMenu(props: KubeObjectMenuProps) { ) } -kubeObjectMenuRegistry.add(null, [ - { - kind: "CronJob", - apiVersions: ["batch/v1beta1"], - components: { - MenuItem: CronJobMenu - } +kubeObjectMenuRegistry.add({ + kind: "CronJob", + apiVersions: ["batch/v1beta1"], + components: { + MenuItem: CronJobMenu } -]) +}) diff --git a/src/renderer/components/+workloads-daemonsets/daemonset-details.tsx b/src/renderer/components/+workloads-daemonsets/daemonset-details.tsx index 7aaee14dfb..1904bed4f0 100644 --- a/src/renderer/components/+workloads-daemonsets/daemonset-details.tsx +++ b/src/renderer/components/+workloads-daemonsets/daemonset-details.tsx @@ -97,12 +97,10 @@ export class DaemonSetDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "DaemonSet", - apiVersions: ["apps/v1"], - components: { - Details: (props: any) => - } +kubeObjectDetailRegistry.add({ + kind: "DaemonSet", + apiVersions: ["apps/v1"], + components: { + Details: (props: any) => } -]) +}) diff --git a/src/renderer/components/+workloads-deployments/deployment-details.tsx b/src/renderer/components/+workloads-deployments/deployment-details.tsx index 405eceec36..8e373cfd52 100644 --- a/src/renderer/components/+workloads-deployments/deployment-details.tsx +++ b/src/renderer/components/+workloads-deployments/deployment-details.tsx @@ -6,7 +6,7 @@ import { disposeOnUnmount, observer } from "mobx-react"; import { t, Trans } from "@lingui/macro"; import { DrawerItem } from "../drawer"; import { Badge } from "../badge"; -import { Deployment } from "../../api/endpoints"; +import { Deployment, deploymentApi } from "../../api/endpoints"; import { cssNames } from "../../utils"; import { PodDetailsTolerations } from "../+workloads-pods/pod-details-tolerations"; import { PodDetailsAffinities } from "../+workloads-pods/pod-details-affinities"; @@ -122,12 +122,10 @@ export class DeploymentDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Deployment", - apiVersions: ["apps/v1"], - components: { - Details: (props: any) => - } +kubeObjectDetailRegistry.add({ + kind: "Deployment", + apiVersions: ["apps/v1"], + components: { + Details: (props: any) => } -]) +}) diff --git a/src/renderer/components/+workloads-deployments/deployments.tsx b/src/renderer/components/+workloads-deployments/deployments.tsx index 47b94aa23f..fdc7348590 100644 --- a/src/renderer/components/+workloads-deployments/deployments.tsx +++ b/src/renderer/components/+workloads-deployments/deployments.tsx @@ -129,12 +129,10 @@ export function DeploymentMenu(props: KubeObjectMenuProps) { ) } -kubeObjectMenuRegistry.add(null, [ - { - kind: "Deployment", - apiVersions: ["apps/v1"], - components: { - MenuItem: DeploymentMenu - } +kubeObjectMenuRegistry.add({ + kind: "Deployment", + apiVersions: ["apps/v1"], + components: { + MenuItem: DeploymentMenu } -]) +}) diff --git a/src/renderer/components/+workloads-jobs/job-details.tsx b/src/renderer/components/+workloads-jobs/job-details.tsx index 32d5826401..7e537bc1f1 100644 --- a/src/renderer/components/+workloads-jobs/job-details.tsx +++ b/src/renderer/components/+workloads-jobs/job-details.tsx @@ -107,12 +107,10 @@ export class JobDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Job", - apiVersions: ["batch/v1"], - components: { - Details: (props: any) => - } +kubeObjectDetailRegistry.add({ + kind: "Job", + apiVersions: ["batch/v1"], + components: { + Details: (props: any) => } -]) +}) diff --git a/src/renderer/components/+workloads-pods/pod-details.tsx b/src/renderer/components/+workloads-pods/pod-details.tsx index 1aaffb8c1e..a029591bbd 100644 --- a/src/renderer/components/+workloads-pods/pod-details.tsx +++ b/src/renderer/components/+workloads-pods/pod-details.tsx @@ -221,12 +221,10 @@ export class PodDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "Pod", - apiVersions: ["v1"], - components: { - Details: (props: any) => - } +kubeObjectDetailRegistry.add({ + kind: "Pod", + apiVersions: ["v1"], + components: { + Details: (props: any) => } -]) +}) diff --git a/src/renderer/components/+workloads-replicasets/replicaset-details.tsx b/src/renderer/components/+workloads-replicasets/replicaset-details.tsx index 6f3683c522..9e8f9a5a3d 100644 --- a/src/renderer/components/+workloads-replicasets/replicaset-details.tsx +++ b/src/renderer/components/+workloads-replicasets/replicaset-details.tsx @@ -97,12 +97,10 @@ export class ReplicaSetDetails extends React.Component { } } -kubeObjectDetailRegistry.add(null, [ - { - kind: "ReplicaSet", - apiVersions: ["apps/v1"], - components: { - Details: (props: any) => - } +kubeObjectDetailRegistry.add({ + kind: "ReplicaSet", + apiVersions: ["apps/v1"], + components: { + Details: (props: any) => } -]) +}) diff --git a/src/renderer/components/+workloads-statefulsets/statefulset-details.tsx b/src/renderer/components/+workloads-statefulsets/statefulset-details.tsx index 63c2744697..236a4bfe4a 100644 --- a/src/renderer/components/+workloads-statefulsets/statefulset-details.tsx +++ b/src/renderer/components/+workloads-statefulsets/statefulset-details.tsx @@ -96,12 +96,10 @@ export class StatefulSetDetails extends React.Component { } -kubeObjectDetailRegistry.add(null, [ - { - kind: "StatefulSet", - apiVersions: ["apps/v1"], - components: { - Details: (props: any) => - } +kubeObjectDetailRegistry.add({ + kind: "StatefulSet", + apiVersions: ["apps/v1"], + components: { + Details: (props: any) => } -]) +})