From 02d56b30d0595fd62145398be9259bafdcdefb05 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 23 May 2023 09:09:13 -0400 Subject: [PATCH] Revert "chore: Convert sidebarItemInjectionToken to use InjectWithMetadata instead of duplicating the IDs" This reverts commit 81293304a73b82c74eae0825bfad0cf9964422f7. --- .../src/sidebar-items.injectable.ts | 30 ++++++++++--------- packages/cluster-sidebar/src/tokens.ts | 9 ++++-- ...tems-when-cluster-is-not-relevant.test.tsx | 8 ++--- .../cluster/order-of-sidebar-items.test.tsx | 30 +++++++++++-------- ...debar-and-tab-navigation-for-core.test.tsx | 8 +++-- .../visibility-of-sidebar-items.test.tsx | 7 +++-- ...uster-overview-sidebar-item.injectable.tsx | 3 +- .../sidebar-items.injectable.tsx | 5 ++-- .../leases-sidebar-item.injectable.tsx | 5 ++-- .../limit-ranges-sidebar-item.injectable.tsx | 5 ++-- .../config-maps-sidebar-item.injectable.tsx | 5 ++-- ...configurations-sidebar-items.injectable.ts | 5 ++-- ...uption-budgets-sidebar-item.injectable.tsx | 5 ++-- .../priority-classes-items.injectable.tsx | 5 ++-- ...esource-quotas-sidebar-item.injectable.tsx | 5 ++-- ...untime-classes-sidebar-item.injectable.tsx | 5 ++-- .../secrets-sidebar-item.injectable.tsx | 5 ++-- ...configurations-sidebar-items.injectable.ts | 5 ++-- ...d-auto-scalers-sidebar-item.injectable.tsx | 5 ++-- .../config/config-sidebar-item.injectable.tsx | 3 +- ...roups-sidebar-items-computed.injectable.ts | 12 ++++---- ...rce-definitions-sidebar-item.injectable.ts | 5 ++-- ...stom-resources-sidebar-item.injectable.tsx | 3 +- .../events/events-sidebar-item.injectable.tsx | 3 +- .../helm-charts-sidebar-item.injectable.tsx | 5 ++-- .../helm-releases-sidebar-item.injectable.tsx | 5 ++-- .../helm/helm-sidebar-item.injectable.tsx | 3 +- ...on-sidebar-item-registrator.injectable.tsx | 3 +- .../layout/siblings-in-tab-layout.tsx | 4 +-- .../components/layout/sidebar-item.tsx | 10 +++---- .../renderer/components/layout/sidebar.tsx | 4 +-- .../components/layout/tab-layout-2.tsx | 4 +-- .../namespaces-sidebar-item.injectable.tsx | 3 +- .../endpoints-sidebar-item.injectable.tsx | 5 ++-- ...ingress-classes-sidebar-item.injectable.ts | 5 ++-- .../ingresses-sidebar-items.injectable.ts | 5 ++-- ...twork-policies-sidebar-item.injectable.tsx | 5 ++-- .../port-forwards-sidebar-item.injectable.tsx | 5 ++-- .../services-sidebar-item.injectable.tsx | 5 ++-- .../network-sidebar-item.injectable.tsx | 3 +- .../nodes/nodes-sidebar-item.injectable.tsx | 3 +- ...urity-policies-sidebar-item.injectable.tsx | 5 ++-- ...torage-classes-sidebar-item.injectable.tsx | 5 ++-- ...-volume-claims-sidebar-item.injectable.tsx | 5 ++-- ...istent-volumes-sidebar-item.injectable.tsx | 5 ++-- .../storage-sidebar-item.injectable.tsx | 3 +- ...-role-bindings-sidebar-item.injectable.tsx | 5 ++-- .../cluster-roles-sidebar-item.injectable.tsx | 5 ++-- .../role-bindings-sidebar-item.injectable.tsx | 5 ++-- .../roles/roles-sidebar-item.injectable.tsx | 5 ++-- ...rvice-accounts-sidebar-item.injectable.tsx | 5 ++-- ...ser-management-sidebar-item.injectable.tsx | 3 +- .../cron-jobs-sidebar-item.injectable.tsx | 5 ++-- .../daemonsets-sidebar-item.injectable.tsx | 5 ++-- .../deployments-sidebar-item.injectable.tsx | 5 ++-- .../jobs-sidebar-item.injectable.tsx | 5 ++-- ...loads-overview-sidebar-item.injectable.tsx | 5 ++-- .../pods-sidebar-items.injectable.ts | 5 ++-- .../replicasets-sidebar-item.injectable.tsx | 5 ++-- ...ion-controller-sidebar-item.injectable.tsx | 5 ++-- .../statefulsets-sidebar-item.injectable.tsx | 5 ++-- .../workloads-sidebar-item.injectable.tsx | 3 +- 62 files changed, 212 insertions(+), 145 deletions(-) diff --git a/packages/cluster-sidebar/src/sidebar-items.injectable.ts b/packages/cluster-sidebar/src/sidebar-items.injectable.ts index 28f045e507..6cef399fdd 100644 --- a/packages/cluster-sidebar/src/sidebar-items.injectable.ts +++ b/packages/cluster-sidebar/src/sidebar-items.injectable.ts @@ -1,21 +1,26 @@ -import { getInjectable, InjectionInstanceWithMeta } from "@ogre-tools/injectable"; +/* eslint-disable prettier/prettier */ + +import { getInjectable } from "@ogre-tools/injectable"; import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx"; -import { SidebarItemDeclaration, sidebarItemInjectionToken, SidebarItemRegistration } from "./tokens"; +import { HierarchicalSidebarItem, sidebarItemInjectionToken, SidebarItemRegistration } from "./tokens"; import { computed } from "mobx"; import { byOrderNumber } from "@k8slens/utilities"; const getSidebarItemsHierarchy = ( - registrations: InjectionInstanceWithMeta[], + registrations: SidebarItemRegistration[], parentId: string | null, -): SidebarItemDeclaration[] => +): HierarchicalSidebarItem[] => ( registrations - .filter(({ instance }) => instance.parentId === parentId) - .map(({ instance: { isActive, isVisible, ...registration }, meta: { id } }) => { - const children = getSidebarItemsHierarchy(registrations, id); + .filter((item) => item.parentId === parentId) + .map(({ + isActive, + isVisible, + ...registration + }) => { + const children = getSidebarItemsHierarchy(registrations, registration.id); return { ...registration, - id, children, isVisible: computed(() => { if (children.length === 0) { @@ -41,7 +46,8 @@ const getSidebarItemsHierarchy = ( }), }; }) - .sort(byOrderNumber); + .sort(byOrderNumber) +); const sidebarItemsInjectable = getInjectable({ id: "sidebar-items", @@ -49,11 +55,7 @@ const sidebarItemsInjectable = getInjectable({ const computedInjectMany = di.inject(computedInjectManyInjectable); const sidebarItemRegistrations = computedInjectMany(sidebarItemInjectionToken); - return computed(() => { - void sidebarItemRegistrations.get(); - - return getSidebarItemsHierarchy(di.injectManyWithMeta(sidebarItemInjectionToken), null); - }); + return computed(() => getSidebarItemsHierarchy(sidebarItemRegistrations.get(), null)); }, }); diff --git a/packages/cluster-sidebar/src/tokens.ts b/packages/cluster-sidebar/src/tokens.ts index fbdab816d2..3edbd0468e 100644 --- a/packages/cluster-sidebar/src/tokens.ts +++ b/packages/cluster-sidebar/src/tokens.ts @@ -8,7 +8,7 @@ import type { IComputedValue } from "mobx"; import type { StrictReactNode } from "@k8slens/utilities"; export interface SidebarItemRegistration { - id?: undefined; + id: string; parentId: string | null; title: StrictReactNode; onClick: () => void; @@ -18,7 +18,7 @@ export interface SidebarItemRegistration { orderNumber: number; } -export interface SidebarItemDeclaration { +export interface SidebarItem { id: string; parentId: string | null; title: StrictReactNode; @@ -26,7 +26,10 @@ export interface SidebarItemDeclaration { getIcon?: () => StrictReactNode; isActive: IComputedValue; isVisible: IComputedValue; - children: SidebarItemDeclaration[]; +} + +export interface HierarchicalSidebarItem extends SidebarItem { + children: HierarchicalSidebarItem[]; } export const sidebarItemInjectionToken = getInjectionToken({ diff --git a/packages/core/src/features/cluster/extension-api/disable-sidebar-items-when-cluster-is-not-relevant.test.tsx b/packages/core/src/features/cluster/extension-api/disable-sidebar-items-when-cluster-is-not-relevant.test.tsx index 510a71dd93..efc16c8ef2 100644 --- a/packages/core/src/features/cluster/extension-api/disable-sidebar-items-when-cluster-is-not-relevant.test.tsx +++ b/packages/core/src/features/cluster/extension-api/disable-sidebar-items-when-cluster-is-not-relevant.test.tsx @@ -37,7 +37,7 @@ describe("disable sidebar items when cluster is not relevant", () => { clusterPageMenus: [ { - id: "sidebar-item-some", + id: "some-sidebar-item", title: "Some sidebar item", components: { @@ -60,7 +60,7 @@ describe("disable sidebar items when cluster is not relevant", () => { it("does not show the sidebar item", () => { const actual = rendered.queryByTestId( - "sidebar-item-sidebar-item-some-extension-name-some", + "sidebar-item-some-extension-name-some-sidebar-item", ); expect(actual).not.toBeInTheDocument(); @@ -78,7 +78,7 @@ describe("disable sidebar items when cluster is not relevant", () => { it("does not show the sidebar item", () => { const actual = rendered.queryByTestId( - "sidebar-item-sidebar-item-some-extension-name-some", + "sidebar-item-some-extension-name-some-sidebar-item", ); expect(actual).not.toBeInTheDocument(); @@ -96,7 +96,7 @@ describe("disable sidebar items when cluster is not relevant", () => { it("shows the sidebar item", () => { const actual = rendered.getByTestId( - "sidebar-item-sidebar-item-test-extension-some", + "sidebar-item-test-extension-some-sidebar-item", ); expect(actual).toBeInTheDocument(); diff --git a/packages/core/src/features/cluster/order-of-sidebar-items.test.tsx b/packages/core/src/features/cluster/order-of-sidebar-items.test.tsx index 7d5bb21819..244a2b6960 100644 --- a/packages/core/src/features/cluster/order-of-sidebar-items.test.tsx +++ b/packages/core/src/features/cluster/order-of-sidebar-items.test.tsx @@ -85,8 +85,9 @@ describe("cluster - order of sidebar items", () => { }); const someParentSidebarItemInjectable = getInjectable({ - id: "sidebar-item-some-parent", + id: "some-parent-sidebar-item", instantiate: () => ({ + id: "some-parent-id", parentId: null, title: "Some parent", onClick: noop, @@ -96,8 +97,9 @@ const someParentSidebarItemInjectable = getInjectable({ }); const someOtherParentSidebarItemInjectable = getInjectable({ - id: "sidebar-item-some-other-parent", + id: "some-other-parent-sidebar-item", instantiate: () => ({ + id: "some-other-parent-id", parentId: null, title: "Some other parent", onClick: noop, @@ -107,8 +109,9 @@ const someOtherParentSidebarItemInjectable = getInjectable({ }); const someAnotherParentSidebarItemInjectable = getInjectable({ - id: "sidebar-item-some-another-parent", + id: "some-another-parent-sidebar-item", instantiate: () => ({ + id: "some-another-parent-id", parentId: null, title: "Some another parent", onClick: noop, @@ -118,9 +121,10 @@ const someAnotherParentSidebarItemInjectable = getInjectable({ }); const someChildSidebarItemInjectable = getInjectable({ - id: "sidebar-item-some-child", - instantiate: () => ({ - parentId: someParentSidebarItemInjectable.id, + id: "some-child-sidebar-item", + instantiate: (di) => ({ + id: "some-child-id", + parentId: di.inject(someParentSidebarItemInjectable).id, title: "Some child", onClick: noop, orderNumber: 168, @@ -129,9 +133,10 @@ const someChildSidebarItemInjectable = getInjectable({ }); const someOtherChildSidebarItemInjectable = getInjectable({ - id: "sidebar-item-some-other-child", - instantiate: () => ({ - parentId: someParentSidebarItemInjectable.id, + id: "some-other-child-sidebar-item", + instantiate: (di) => ({ + id: "some-other-child-id", + parentId: di.inject(someParentSidebarItemInjectable).id, title: "Some other child", onClick: noop, orderNumber: 252, @@ -140,9 +145,10 @@ const someOtherChildSidebarItemInjectable = getInjectable({ }); const someAnotherChildSidebarItemInjectable = getInjectable({ - id: "sidebar-item-some-another-child", - instantiate: () => ({ - parentId: someParentSidebarItemInjectable.id, + id: "some-another-child-sidebar-item", + instantiate: (di) => ({ + id: "some-another-child-id", + parentId: di.inject(someParentSidebarItemInjectable).id, title: "Some another child", onClick: noop, orderNumber: 210, diff --git a/packages/core/src/features/cluster/sidebar-and-tab-navigation-for-core.test.tsx b/packages/core/src/features/cluster/sidebar-and-tab-navigation-for-core.test.tsx index 7c444074e6..d682e3ca16 100644 --- a/packages/core/src/features/cluster/sidebar-and-tab-navigation-for-core.test.tsx +++ b/packages/core/src/features/cluster/sidebar-and-tab-navigation-for-core.test.tsx @@ -295,8 +295,9 @@ describe("cluster - sidebar and tab navigation for core", () => { }); const someParentSidebarItemInjectable = getInjectable({ - id: "sidebar-item-some-parent", + id: "some-parent-sidebar-item", instantiate: () => ({ + id: "some-parent-id", parentId: null, title: "Some parent", onClick: noop, @@ -307,14 +308,15 @@ const someParentSidebarItemInjectable = getInjectable({ }); const someChildSidebarItemInjectable = getInjectable({ - id: "sidebar-item-some-child", + id: "some-child-sidebar-item", instantiate: (di) => { const route = di.inject(testRouteInjectable); const navigateToRoute = di.inject(navigateToRouteInjectionToken); const routeIsActive = di.inject(routeIsActiveInjectable, route); return { - parentId: someParentSidebarItemInjectable.id, + id: "some-child-id", + parentId: di.inject(someParentSidebarItemInjectable).id, title: "Some child", onClick: () => navigateToRoute(route), isActive: routeIsActive, diff --git a/packages/core/src/features/cluster/visibility-of-sidebar-items.test.tsx b/packages/core/src/features/cluster/visibility-of-sidebar-items.test.tsx index 3ddaff3caa..4146e25ed7 100644 --- a/packages/core/src/features/cluster/visibility-of-sidebar-items.test.tsx +++ b/packages/core/src/features/cluster/visibility-of-sidebar-items.test.tsx @@ -27,7 +27,7 @@ describe("cluster - visibility of sidebar items", () => { runInAction(() => { windowDi.register(testRouteInjectable); windowDi.register(testRouteComponentInjectable); - windowDi.register(testSidebarItemInjectable); + windowDi.register(testSidebarItemsInjectable); }); }); }); @@ -94,14 +94,15 @@ const testRouteComponentInjectable = getInjectable({ injectionToken: routeSpecificComponentInjectionToken, }); -const testSidebarItemInjectable = getInjectable({ - id: "sidebar-item-test", +const testSidebarItemsInjectable = getInjectable({ + id: "some-sidebar-item-injectable", instantiate: (di) => { const testRoute = di.inject(testRouteInjectable); const navigateToRoute = di.inject(navigateToRouteInjectionToken); return { + id: "some-item-id", parentId: null, title: "Some item", onClick: () => navigateToRoute(testRoute), diff --git a/packages/core/src/renderer/components/cluster/cluster-overview-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/cluster/cluster-overview-sidebar-item.injectable.tsx index 4ea6db6cf9..4645439bf2 100644 --- a/packages/core/src/renderer/components/cluster/cluster-overview-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/cluster/cluster-overview-sidebar-item.injectable.tsx @@ -11,12 +11,13 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToClusterOverviewInjectable from "../../../common/front-end-routing/routes/cluster/overview/navigate-to-cluster-overview.injectable"; const clusterOverviewSidebarItemInjectable = getInjectable({ - id: "sidebar-item-cluster-overview", + id: "cluster-overview-sidebar-item", instantiate: (di) => { const route = di.inject(clusterOverviewRouteInjectable); return { + id: "cluster-overview", parentId: null, title: "Cluster", getIcon: () => , diff --git a/packages/core/src/renderer/components/config-horizontal-pod-autoscalers/sidebar-items.injectable.tsx b/packages/core/src/renderer/components/config-horizontal-pod-autoscalers/sidebar-items.injectable.tsx index 0dfdd7f6cc..4eb532a63d 100644 --- a/packages/core/src/renderer/components/config-horizontal-pod-autoscalers/sidebar-items.injectable.tsx +++ b/packages/core/src/renderer/components/config-horizontal-pod-autoscalers/sidebar-items.injectable.tsx @@ -10,13 +10,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToHorizontalPodAutoscalersInjectable from "../../../common/front-end-routing/routes/cluster/config/horizontal-pod-autoscalers/navigate-to-horizontal-pod-autoscalers.injectable"; const horizontalPodAutoScalersSidebarItemInjectable = getInjectable({ - id: "sidebar-item-horizontal-pod-auto-scalers", + id: "horizontal-pod-auto-scalers-sidebar-item", instantiate: (di) => { const route = di.inject(horizontalPodAutoscalersRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "horizontal-pod-auto-scalers", + parentId: di.inject(configSidebarItemInjectable).id, title: "HPA", onClick: di.inject(navigateToHorizontalPodAutoscalersInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-leases/leases-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config-leases/leases-sidebar-item.injectable.tsx index 32de10a5fc..a21923553f 100644 --- a/packages/core/src/renderer/components/config-leases/leases-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config-leases/leases-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToLeasesInjectable from "../../../common/front-end-routing/routes/cluster/config/leases/navigate-to-leases.injectable"; const leasesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-leases", + id: "leases-sidebar-item", instantiate: (di) => { const route = di.inject(leasesRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "leases", + parentId: di.inject(configSidebarItemInjectable).id, title: "Leases", onClick: di.inject(navigateToLeasesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-limit-ranges/limit-ranges-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config-limit-ranges/limit-ranges-sidebar-item.injectable.tsx index d9a53712dc..5486972afe 100644 --- a/packages/core/src/renderer/components/config-limit-ranges/limit-ranges-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config-limit-ranges/limit-ranges-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToLimitRangesInjectable from "../../../common/front-end-routing/routes/cluster/config/limit-ranges/navigate-to-limit-ranges.injectable"; const limitRangesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-limit-ranges", + id: "limit-ranges-sidebar-item", instantiate: (di) => { const route = di.inject(limitRangesRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "limit-ranges", + parentId: di.inject(configSidebarItemInjectable).id, title: "Limit Ranges", onClick: di.inject(navigateToLimitRangesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-maps/config-maps-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config-maps/config-maps-sidebar-item.injectable.tsx index f6540ece63..b42c7b87dd 100644 --- a/packages/core/src/renderer/components/config-maps/config-maps-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config-maps/config-maps-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToConfigMapsInjectable from "../../../common/front-end-routing/routes/cluster/config/config-maps/navigate-to-config-maps.injectable"; const configMapsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-config-maps", + id: "config-maps-sidebar-item", instantiate: (di) => { const route = di.inject(configMapsRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "config-maps", + parentId: di.inject(configSidebarItemInjectable).id, title: "ConfigMaps", onClick: di.inject(navigateToConfigMapsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-mutating-webhook-configurations/mutating-webhook-configurations-sidebar-items.injectable.ts b/packages/core/src/renderer/components/config-mutating-webhook-configurations/mutating-webhook-configurations-sidebar-items.injectable.ts index da0fa9ed06..c393e19169 100644 --- a/packages/core/src/renderer/components/config-mutating-webhook-configurations/mutating-webhook-configurations-sidebar-items.injectable.ts +++ b/packages/core/src/renderer/components/config-mutating-webhook-configurations/mutating-webhook-configurations-sidebar-items.injectable.ts @@ -10,13 +10,14 @@ import navigateToMutatingWebhookConfigurationsInjectable from "../../../common/f import configSidebarItemInjectable from "../config/config-sidebar-item.injectable"; const mutatingWebhookConfigurationsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-mutating-webhook-configurations", + id: "mutating-webhook-configurations-sidebar-item", instantiate: (di) => { const route = di.inject(mutatingWebhookConfigurationsRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "mutating-webhook-configurations", + parentId: di.inject(configSidebarItemInjectable).id, title: "Mutating Webhook Configs", onClick: di.inject(navigateToMutatingWebhookConfigurationsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-pod-disruption-budgets/pod-disruption-budgets-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config-pod-disruption-budgets/pod-disruption-budgets-sidebar-item.injectable.tsx index e5bcba8f60..0fa3412b9e 100644 --- a/packages/core/src/renderer/components/config-pod-disruption-budgets/pod-disruption-budgets-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config-pod-disruption-budgets/pod-disruption-budgets-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToPodDisruptionBudgetsInjectable from "../../../common/front-end-routing/routes/cluster/config/pod-disruption-budgets/navigate-to-pod-disruption-budgets.injectable"; const podDisruptionBudgetsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-pod-disruption-budgets", + id: "pod-disruption-budgets-sidebar-item", instantiate: (di) => { const route = di.inject(podDisruptionBudgetsRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "pod-disruption-budgets", + parentId: di.inject(configSidebarItemInjectable).id, title: "Pod Disruption Budgets", onClick: di.inject(navigateToPodDisruptionBudgetsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-priority-classes/priority-classes-items.injectable.tsx b/packages/core/src/renderer/components/config-priority-classes/priority-classes-items.injectable.tsx index 09d2863605..4231544ba0 100644 --- a/packages/core/src/renderer/components/config-priority-classes/priority-classes-items.injectable.tsx +++ b/packages/core/src/renderer/components/config-priority-classes/priority-classes-items.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToPriorityClassesInjectable from "../../../common/front-end-routing/routes/cluster/config/priority-classes/navigate-to-priority-classes.injectable"; const priorityClassesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-priority-classes", + id: "priority-classes-sidebar-item", instantiate: (di) => { const route = di.inject(priorityClassesRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "priority-classes", + parentId: di.inject(configSidebarItemInjectable).id, title: "Priority Classes", onClick: di.inject(navigateToPriorityClassesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-resource-quotas/resource-quotas-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config-resource-quotas/resource-quotas-sidebar-item.injectable.tsx index 16731ead0a..0ff48bd264 100644 --- a/packages/core/src/renderer/components/config-resource-quotas/resource-quotas-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config-resource-quotas/resource-quotas-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToResourceQuotasInjectable from "../../../common/front-end-routing/routes/cluster/config/resource-quotas/navigate-to-resource-quotas.injectable"; const resourceQuotasSidebarItemInjectable = getInjectable({ - id: "sidebar-item-resource-quotas", + id: "resource-quotas-sidebar-item", instantiate: (di) => { const route = di.inject(resourceQuotasRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "resource-quotas", + parentId: di.inject(configSidebarItemInjectable).id, title: "Resource Quotas", onClick: di.inject(navigateToResourceQuotasInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-runtime-classes/runtime-classes-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config-runtime-classes/runtime-classes-sidebar-item.injectable.tsx index c7908d0865..95242f99ed 100644 --- a/packages/core/src/renderer/components/config-runtime-classes/runtime-classes-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config-runtime-classes/runtime-classes-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToRuntimeClassesInjectable from "../../../common/front-end-routing/routes/cluster/config/runtime-classes/navigate-to-runtime-classes.injectable"; const runtimeClassesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-runtime-classes", + id: "runtime-classes-sidebar-item", instantiate: (di) => { const route = di.inject(runtimeClassesRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "runtime-classes", + parentId: di.inject(configSidebarItemInjectable).id, title: "Runtime Classes", onClick: di.inject(navigateToRuntimeClassesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-secrets/secrets-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config-secrets/secrets-sidebar-item.injectable.tsx index f8ec25ef58..745572e71a 100644 --- a/packages/core/src/renderer/components/config-secrets/secrets-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config-secrets/secrets-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToSecretsInjectable from "../../../common/front-end-routing/routes/cluster/config/secrets/navigate-to-secrets.injectable"; const secretsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-secrets", + id: "secrets-sidebar-item", instantiate: (di) => { const route = di.inject(secretsRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "secrets", + parentId: di.inject(configSidebarItemInjectable).id, title: "Secrets", onClick: di.inject(navigateToSecretsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-validating-webhook-configurations/validating-webhook-configurations-sidebar-items.injectable.ts b/packages/core/src/renderer/components/config-validating-webhook-configurations/validating-webhook-configurations-sidebar-items.injectable.ts index 512c8f9bfd..b616d147a2 100644 --- a/packages/core/src/renderer/components/config-validating-webhook-configurations/validating-webhook-configurations-sidebar-items.injectable.ts +++ b/packages/core/src/renderer/components/config-validating-webhook-configurations/validating-webhook-configurations-sidebar-items.injectable.ts @@ -10,13 +10,14 @@ import navigateToValidatingWebhookConfigurationsInjectable from "../../../common import configSidebarItemInjectable from "../config/config-sidebar-item.injectable"; const validatingWebhookConfigurationsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-validating-webhook-configurations", + id: "validating-webhook-configurations-sidebar-item", instantiate: (di) => { const route = di.inject(validatingWebhookConfigurationsRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "validating-webhook-configurations", + parentId: di.inject(configSidebarItemInjectable).id, title: "Validating Webhook Configs", onClick: di.inject(navigateToValidatingWebhookConfigurationsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config-vertical-pod-autoscalers/vertical-pod-auto-scalers-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config-vertical-pod-autoscalers/vertical-pod-auto-scalers-sidebar-item.injectable.tsx index 6d16e0c24c..e620fe6490 100644 --- a/packages/core/src/renderer/components/config-vertical-pod-autoscalers/vertical-pod-auto-scalers-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config-vertical-pod-autoscalers/vertical-pod-auto-scalers-sidebar-item.injectable.tsx @@ -10,13 +10,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToVerticalPodAutoscalersInjectable from "../../../common/front-end-routing/routes/cluster/config/vertical-pod-autoscalers/navigate-to-vertical-pod-autoscalers.injectable"; const verticalPodAutoScalersSidebarItemInjectable = getInjectable({ - id: "sidebar-item-vertical-pod-auto-scalers", + id: "vertical-pod-auto-scalers-sidebar-item", instantiate: (di) => { const route = di.inject(verticalPodAutoscalersRouteInjectable); return { - parentId: configSidebarItemInjectable.id, + id: "vertical-pod-auto-scalers", + parentId: di.inject(configSidebarItemInjectable).id, title: "VPA", onClick: di.inject(navigateToVerticalPodAutoscalersInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/config/config-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/config/config-sidebar-item.injectable.tsx index d5f4447738..1adaa623a5 100644 --- a/packages/core/src/renderer/components/config/config-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/config/config-sidebar-item.injectable.tsx @@ -9,9 +9,10 @@ import { sidebarItemInjectionToken } from "@k8slens/cluster-sidebar"; import { noop } from "lodash/fp"; const configSidebarItemInjectable = getInjectable({ - id: "sidebar-item-config", + id: "config-sidebar-item", instantiate: () => ({ + id: "config", parentId: null, title: "Config", getIcon: () => , diff --git a/packages/core/src/renderer/components/custom-resources/custom-resource-definition-groups-sidebar-items-computed.injectable.ts b/packages/core/src/renderer/components/custom-resources/custom-resource-definition-groups-sidebar-items-computed.injectable.ts index 28dec2e4ab..cb753b0370 100644 --- a/packages/core/src/renderer/components/custom-resources/custom-resource-definition-groups-sidebar-items-computed.injectable.ts +++ b/packages/core/src/renderer/components/custom-resources/custom-resource-definition-groups-sidebar-items-computed.injectable.ts @@ -27,9 +27,10 @@ const customResourceDefinitionGroupsSidebarItemsComputedInjectable = getInjectab const toCustomResourceGroupToSidebarItems = ([group, definitions]: [string, CustomResourceDefinition[]], index: number) => { const customResourceGroupSidebarItem = getInjectable({ - id: `sidebar-item-custom-resource-group-${group}`, - instantiate: (): SidebarItemRegistration => ({ - parentId: customResourcesSidebarItemInjectable.id, + id: `custom-resource-group-${group}-sidebar-item`, + instantiate: (di): SidebarItemRegistration => ({ + id: `custom-resource-group-${group}`, + parentId: di.inject(customResourcesSidebarItemInjectable).id, onClick: noop, title: group, orderNumber: 10 * index, @@ -43,9 +44,10 @@ const customResourceDefinitionGroupsSidebarItemsComputedInjectable = getInjectab }; return getInjectable({ - id: `sidebar-item-custom-resource-group-${group}/${definition.getPluralName()}`, + id: `custom-resource-group-${group}/${definition.getPluralName()}-sidebar-item`, instantiate: (di): SidebarItemRegistration => ({ - parentId: customResourceGroupSidebarItem.id, + id: `custom-resource-group-${group}/${definition.getPluralName()}`, + parentId: di.inject(customResourceGroupSidebarItem).id, onClick: () => navigateToCustomResources(parameters), title: definition.getResourceKind(), isActive: computedAnd( diff --git a/packages/core/src/renderer/components/custom-resources/custom-resource-definitions-sidebar-item.injectable.ts b/packages/core/src/renderer/components/custom-resources/custom-resource-definitions-sidebar-item.injectable.ts index 4e504bb95c..fae49e28ea 100644 --- a/packages/core/src/renderer/components/custom-resources/custom-resource-definitions-sidebar-item.injectable.ts +++ b/packages/core/src/renderer/components/custom-resources/custom-resource-definitions-sidebar-item.injectable.ts @@ -10,12 +10,13 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import customResourcesSidebarItemInjectable from "./custom-resources-sidebar-item.injectable"; const customResourceDefinitionsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-custom-resource-definitions", + id: "custom-resource-definitions-sidebar-item", instantiate: (di) => { const customResourceDefinitionsRoute = di.inject(customResourceDefinitionsRouteInjectable); return { - parentId: customResourcesSidebarItemInjectable.id, + id: "custom-resource-definitions", + parentId: di.inject(customResourcesSidebarItemInjectable).id, title: "Definitions", onClick: di.inject(navigateToCustomResourcesInjectable), isActive: di.inject(routeIsActiveInjectable, customResourceDefinitionsRoute), diff --git a/packages/core/src/renderer/components/custom-resources/custom-resources-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/custom-resources/custom-resources-sidebar-item.injectable.tsx index 892edc673e..1487d82927 100644 --- a/packages/core/src/renderer/components/custom-resources/custom-resources-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/custom-resources/custom-resources-sidebar-item.injectable.tsx @@ -9,8 +9,9 @@ import React from "react"; import { Icon } from "../icon"; const customResourcesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-custom-resources", + id: "custom-resources-sidebar-item", instantiate: () => ({ + id: "custom-resources", parentId: null, title: "Custom Resources", getIcon: () => , diff --git a/packages/core/src/renderer/components/events/events-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/events/events-sidebar-item.injectable.tsx index ff57574cf2..bec30a1e08 100644 --- a/packages/core/src/renderer/components/events/events-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/events/events-sidebar-item.injectable.tsx @@ -13,12 +13,13 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToEventsInjectable from "../../../common/front-end-routing/routes/cluster/events/navigate-to-events.injectable"; const eventsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-events", + id: "events-sidebar-item", instantiate: (di) => { const route = di.inject(eventsRouteInjectable); return { + id: "events", parentId: null, getIcon: () => , title: "Events", diff --git a/packages/core/src/renderer/components/helm-charts/helm-charts-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/helm-charts/helm-charts-sidebar-item.injectable.tsx index d0ca6ea895..2918a236fe 100644 --- a/packages/core/src/renderer/components/helm-charts/helm-charts-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/helm-charts/helm-charts-sidebar-item.injectable.tsx @@ -10,13 +10,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToHelmChartsInjectable from "../../../common/front-end-routing/routes/cluster/helm/charts/navigate-to-helm-charts.injectable"; const helmChartsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-helm-charts", + id: "helm-charts-sidebar-item", instantiate: (di) => { const route = di.inject(helmChartsRouteInjectable); return { - parentId: helmSidebarItemInjectable.id, + id: "charts", + parentId: di.inject(helmSidebarItemInjectable).id, title: "Charts", onClick: di.inject(navigateToHelmChartsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/helm-releases/helm-releases-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/helm-releases/helm-releases-sidebar-item.injectable.tsx index 3c4d59b1c4..5a30555182 100644 --- a/packages/core/src/renderer/components/helm-releases/helm-releases-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/helm-releases/helm-releases-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToHelmReleasesInjectable from "../../../common/front-end-routing/routes/cluster/helm/releases/navigate-to-helm-releases.injectable"; const helmReleasesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-helm-releases", + id: "helm-releases-sidebar-item", instantiate: (di) => { const route = di.inject(helmReleasesRouteInjectable); return { - parentId: helmSidebarItemInjectable.id, + id: "releases", + parentId: di.inject(helmSidebarItemInjectable).id, title: "Releases", onClick: di.inject(navigateToHelmReleasesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/helm/helm-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/helm/helm-sidebar-item.injectable.tsx index 11ef2ee679..0bad314b22 100644 --- a/packages/core/src/renderer/components/helm/helm-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/helm/helm-sidebar-item.injectable.tsx @@ -9,9 +9,10 @@ import { Icon } from "../icon"; import { noop } from "lodash/fp"; const helmSidebarItemInjectable = getInjectable({ - id: "sidebar-item-helm", + id: "helm-sidebar-item", instantiate: () => ({ + id: "helm", parentId: null, getIcon: () => , title: "Helm", diff --git a/packages/core/src/renderer/components/layout/extension-sidebar-item-registrator.injectable.tsx b/packages/core/src/renderer/components/layout/extension-sidebar-item-registrator.injectable.tsx index 59dbad1dfa..ad00dba3f5 100644 --- a/packages/core/src/renderer/components/layout/extension-sidebar-item-registrator.injectable.tsx +++ b/packages/core/src/renderer/components/layout/extension-sidebar-item-registrator.injectable.tsx @@ -54,8 +54,9 @@ const extensionSidebarItemRegistratorInjectable = getInjectable({ : extension.sanitizedExtensionId; return getInjectable({ - id: `sidebar-item-${id}`, + id: `${id}-sidebar-item`, instantiate: () => ({ + id, orderNumber: registration.orderNumber ?? 9999, parentId: registration.parentId diff --git a/packages/core/src/renderer/components/layout/siblings-in-tab-layout.tsx b/packages/core/src/renderer/components/layout/siblings-in-tab-layout.tsx index 27d73c52b7..a69de81c32 100644 --- a/packages/core/src/renderer/components/layout/siblings-in-tab-layout.tsx +++ b/packages/core/src/renderer/components/layout/siblings-in-tab-layout.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; import React from "react"; import siblingTabsInjectable from "../../routes/sibling-tabs.injectable"; import { TabLayout } from "./tab-layout-2"; -import type { SidebarItemDeclaration } from "@k8slens/cluster-sidebar"; +import type { HierarchicalSidebarItem } from "@k8slens/cluster-sidebar"; import type { StrictReactNode } from "@k8slens/utilities"; interface SiblingTabLayoutProps { @@ -17,7 +17,7 @@ interface SiblingTabLayoutProps { } interface Dependencies { - tabs: IComputedValue; + tabs: IComputedValue; } const NonInjectedSiblingsInTabLayout = observer( diff --git a/packages/core/src/renderer/components/layout/sidebar-item.tsx b/packages/core/src/renderer/components/layout/sidebar-item.tsx index d7283c9fa8..9464a3574f 100644 --- a/packages/core/src/renderer/components/layout/sidebar-item.tsx +++ b/packages/core/src/renderer/components/layout/sidebar-item.tsx @@ -12,7 +12,7 @@ import { Icon } from "../icon"; import { withInjectables } from "@ogre-tools/injectable-react"; import type { SidebarStorageState } from "./sidebar-storage/sidebar-storage.injectable"; import sidebarStorageInjectable from "./sidebar-storage/sidebar-storage.injectable"; -import type { SidebarItemDeclaration } from "@k8slens/cluster-sidebar"; +import type { HierarchicalSidebarItem } from "@k8slens/cluster-sidebar"; import type { StorageLayer } from "../../utils/storage-helper"; interface Dependencies { @@ -20,7 +20,7 @@ interface Dependencies { } export interface SidebarItemProps { - item: SidebarItemDeclaration; + item: HierarchicalSidebarItem; } const NonInjectedSidebarItem = observer((props: SidebarItemProps & Dependencies) => { @@ -56,7 +56,7 @@ const NonInjectedSidebarItem = observer((props: SidebarItemProps & Dependencies) return (
@@ -74,7 +74,7 @@ const NonInjectedSidebarItem = observer((props: SidebarItemProps & Dependencies) item.onClick(); } }} - data-testid={`link-for-${id}`} + data-testid={`sidebar-item-link-for-${id}`} > {item.getIcon?.()} {item.title} @@ -82,7 +82,7 @@ const NonInjectedSidebarItem = observer((props: SidebarItemProps & Dependencies) )} diff --git a/packages/core/src/renderer/components/layout/sidebar.tsx b/packages/core/src/renderer/components/layout/sidebar.tsx index 08ab8014b0..c13be02961 100644 --- a/packages/core/src/renderer/components/layout/sidebar.tsx +++ b/packages/core/src/renderer/components/layout/sidebar.tsx @@ -12,13 +12,13 @@ import { SidebarItem } from "./sidebar-item"; import type { CatalogEntityRegistry } from "../../api/catalog/entity/registry"; import { SidebarCluster } from "./sidebar-cluster"; import { withInjectables } from "@ogre-tools/injectable-react"; -import type { SidebarItemDeclaration } from "@k8slens/cluster-sidebar"; +import type { HierarchicalSidebarItem } from "@k8slens/cluster-sidebar"; import { sidebarItemsInjectable } from "@k8slens/cluster-sidebar"; import type { IComputedValue } from "mobx"; import catalogEntityRegistryInjectable from "../../api/catalog/entity/registry.injectable"; interface Dependencies { - sidebarItems: IComputedValue; + sidebarItems: IComputedValue; entityRegistry: CatalogEntityRegistry; } diff --git a/packages/core/src/renderer/components/layout/tab-layout-2.tsx b/packages/core/src/renderer/components/layout/tab-layout-2.tsx index 8ac11c8b51..537226b9db 100644 --- a/packages/core/src/renderer/components/layout/tab-layout-2.tsx +++ b/packages/core/src/renderer/components/layout/tab-layout-2.tsx @@ -11,10 +11,10 @@ import type { StrictReactNode } from "@k8slens/utilities"; import { cssNames } from "@k8slens/utilities"; import { Tab, Tabs } from "../tabs"; import { ErrorBoundary } from "@k8slens/error-boundary"; -import type { SidebarItemDeclaration } from "@k8slens/cluster-sidebar"; +import type { HierarchicalSidebarItem } from "@k8slens/cluster-sidebar"; export interface TabLayoutProps { - tabs?: SidebarItemDeclaration[]; + tabs?: HierarchicalSidebarItem[]; children?: StrictReactNode; scrollable?: boolean; } diff --git a/packages/core/src/renderer/components/namespaces/namespaces-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/namespaces/namespaces-sidebar-item.injectable.tsx index e672164c60..d2cee9e50a 100644 --- a/packages/core/src/renderer/components/namespaces/namespaces-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/namespaces/namespaces-sidebar-item.injectable.tsx @@ -11,12 +11,13 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToNamespacesInjectable from "../../../common/front-end-routing/routes/cluster/namespaces/navigate-to-namespaces.injectable"; const namespacesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-namespaces", + id: "namespaces-sidebar-item", instantiate: (di) => { const route = di.inject(namespacesRouteInjectable); return { + id: "namespaces", parentId: null, getIcon: () => , title: "Namespaces", diff --git a/packages/core/src/renderer/components/network-endpoints/endpoints-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/network-endpoints/endpoints-sidebar-item.injectable.tsx index 891940c42c..2df328d7a3 100644 --- a/packages/core/src/renderer/components/network-endpoints/endpoints-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/network-endpoints/endpoints-sidebar-item.injectable.tsx @@ -10,13 +10,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToEndpointsInjectable from "../../../common/front-end-routing/routes/cluster/network/endpoints/navigate-to-endpoints.injectable"; const endpointsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-endpoints", + id: "endpoints-sidebar-item", instantiate: (di) => { const route = di.inject(endpointsRouteInjectable); return { - parentId: networkSidebarItemInjectable.id, + id: "endpoints", + parentId: di.inject(networkSidebarItemInjectable).id, title: "Endpoints", onClick: di.inject(navigateToEndpointsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/network-ingresses/ingress-classes-sidebar-item.injectable.ts b/packages/core/src/renderer/components/network-ingresses/ingress-classes-sidebar-item.injectable.ts index 9af5d4b42a..9c540321c0 100644 --- a/packages/core/src/renderer/components/network-ingresses/ingress-classes-sidebar-item.injectable.ts +++ b/packages/core/src/renderer/components/network-ingresses/ingress-classes-sidebar-item.injectable.ts @@ -10,12 +10,13 @@ import navigateToIngressClassesInjectable from "../../../common/front-end-routin import ingressClassesRouteInjectable from "../../../common/front-end-routing/routes/cluster/network/ingress-class/ingress-classes-route.injectable"; const ingressClassesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-ingress-classes", + id: "ingress-classes-sidebar-item", instantiate: (di) => { const ingressClassRoute = di.inject(ingressClassesRouteInjectable); return { - parentId: networkSidebarItemInjectable.id, + id: "ingressclasses", + parentId: di.inject(networkSidebarItemInjectable).id, title: "Ingress Classes", onClick: di.inject(navigateToIngressClassesInjectable), isActive: di.inject(routeIsActiveInjectable, ingressClassRoute), diff --git a/packages/core/src/renderer/components/network-ingresses/ingresses-sidebar-items.injectable.ts b/packages/core/src/renderer/components/network-ingresses/ingresses-sidebar-items.injectable.ts index 4a66f89f55..e6cd0a2c89 100644 --- a/packages/core/src/renderer/components/network-ingresses/ingresses-sidebar-items.injectable.ts +++ b/packages/core/src/renderer/components/network-ingresses/ingresses-sidebar-items.injectable.ts @@ -10,12 +10,13 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import networkSidebarItemInjectable from "../network/network-sidebar-item.injectable"; const ingressesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-ingresses", + id: "ingresses-sidebar-item", instantiate: (di) => { const ingressRoute = di.inject(ingressesRouteInjectable); return { - parentId: networkSidebarItemInjectable.id, + id: "ingresses", + parentId: di.inject(networkSidebarItemInjectable).id, title: "Ingresses", onClick: di.inject(navigateToIngressesInjectable), isActive: di.inject(routeIsActiveInjectable, ingressRoute), diff --git a/packages/core/src/renderer/components/network-policies/network-policies-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/network-policies/network-policies-sidebar-item.injectable.tsx index 2bee36c6cf..099ebe3c06 100644 --- a/packages/core/src/renderer/components/network-policies/network-policies-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/network-policies/network-policies-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToNetworkPoliciesInjectable from "../../../common/front-end-routing/routes/cluster/network/network-policies/navigate-to-network-policies.injectable"; const networkPoliciesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-network-policies", + id: "network-policies-sidebar-item", instantiate: (di) => { const route = di.inject(networkPoliciesRouteInjectable); return { - parentId: networkSidebarItemInjectable.id, + id: "network-policies", + parentId: di.inject(networkSidebarItemInjectable).id, title: "Network Policies", onClick: di.inject(navigateToNetworkPoliciesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/network-port-forwards/port-forwards-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/network-port-forwards/port-forwards-sidebar-item.injectable.tsx index a9d883a65f..48ace221b1 100644 --- a/packages/core/src/renderer/components/network-port-forwards/port-forwards-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/network-port-forwards/port-forwards-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToPortForwardsInjectable from "../../../common/front-end-routing/routes/cluster/network/port-forwards/navigate-to-port-forwards.injectable"; const portForwardsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-port-forwards", + id: "port-forwards-sidebar-item", instantiate: (di) => { const route = di.inject(portForwardsRouteInjectable); return { - parentId: networkSidebarItemInjectable.id, + id: "port-forwards", + parentId: di.inject(networkSidebarItemInjectable).id, title: "Port Forwarding", onClick: di.inject(navigateToPortForwardsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/network-services/services-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/network-services/services-sidebar-item.injectable.tsx index 12c2d44044..37006f2932 100644 --- a/packages/core/src/renderer/components/network-services/services-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/network-services/services-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToServicesInjectable from "../../../common/front-end-routing/routes/cluster/network/services/navigate-to-services.injectable"; const servicesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-services", + id: "services-sidebar-item", instantiate: (di) => { const route = di.inject(servicesRouteInjectable); return { - parentId: networkSidebarItemInjectable.id, + id: "services", + parentId: di.inject(networkSidebarItemInjectable).id, title: "Services", onClick: di.inject(navigateToServicesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/network/network-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/network/network-sidebar-item.injectable.tsx index 6c813c6c2a..bcc8fa6560 100644 --- a/packages/core/src/renderer/components/network/network-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/network/network-sidebar-item.injectable.tsx @@ -9,9 +9,10 @@ import React from "react"; import { noop } from "lodash/fp"; const networkSidebarItemInjectable = getInjectable({ - id: "sidebar-item-network", + id: "network-sidebar-item", instantiate: () => ({ + id: "network", parentId: null, getIcon: () => , title: "Network", diff --git a/packages/core/src/renderer/components/nodes/nodes-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/nodes/nodes-sidebar-item.injectable.tsx index 432d04ce12..0718711634 100644 --- a/packages/core/src/renderer/components/nodes/nodes-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/nodes/nodes-sidebar-item.injectable.tsx @@ -15,12 +15,13 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToNodesInjectable from "../../../common/front-end-routing/routes/cluster/nodes/navigate-to-nodes.injectable"; const nodesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-nodes", + id: "nodes-sidebar-item", instantiate: (di) => { const route = di.inject(nodesRouteInjectable); return { + id: "nodes", parentId: null, getIcon: () => , title: "Nodes", diff --git a/packages/core/src/renderer/components/pod-security-policies/pod-security-policies-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/pod-security-policies/pod-security-policies-sidebar-item.injectable.tsx index 357ca2ab73..23c4686aa6 100644 --- a/packages/core/src/renderer/components/pod-security-policies/pod-security-policies-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/pod-security-policies/pod-security-policies-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import navigateToPodSecurityPoliciesInjectable from "../../../common/front-end-r import userManagementSidebarItemInjectable from "../user-management/user-management-sidebar-item.injectable"; const podSecurityPoliciesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-pod-security-policies", + id: "pod-security-policies-sidebar-item", instantiate: (di) => { const route = di.inject(podSecurityPoliciesRouteInjectable); return { - parentId: userManagementSidebarItemInjectable.id, + id: "pod-security-policies", + parentId: di.inject(userManagementSidebarItemInjectable).id, title: "Pod Security Policies", onClick: di.inject(navigateToPodSecurityPoliciesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/storage-classes/storage-classes-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/storage-classes/storage-classes-sidebar-item.injectable.tsx index ed70afe7e4..bfe3c0cea7 100644 --- a/packages/core/src/renderer/components/storage-classes/storage-classes-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/storage-classes/storage-classes-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToStorageClassesInjectable from "../../../common/front-end-routing/routes/cluster/storage/storage-classes/navigate-to-storage-classes.injectable"; const storageClassesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-storage-classes", + id: "storage-classes-sidebar-item", instantiate: (di) => { const route = di.inject(storageClassesRouteInjectable); return { - parentId: storageSidebarItemInjectable.id, + id: "storage-classes", + parentId: di.inject(storageSidebarItemInjectable).id, title: "Storage Classes", onClick: di.inject(navigateToStorageClassesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/storage-volume-claims/persistent-volume-claims-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/storage-volume-claims/persistent-volume-claims-sidebar-item.injectable.tsx index 4217b1f0e2..2f8c46490c 100644 --- a/packages/core/src/renderer/components/storage-volume-claims/persistent-volume-claims-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/storage-volume-claims/persistent-volume-claims-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToPersistentVolumeClaimsInjectable from "../../../common/front-end-routing/routes/cluster/storage/persistent-volume-claims/navigate-to-persistent-volume-claims.injectable"; const persistentVolumeClaimsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-persistent-volume-claims", + id: "persistent-volume-claims-sidebar-item", instantiate: (di) => { const route = di.inject(persistentVolumeClaimsRouteInjectable); return { - parentId: storageSidebarItemInjectable.id, + id: "persistent-volume-claims", + parentId: di.inject(storageSidebarItemInjectable).id, title: "Persistent Volume Claims", onClick: di.inject(navigateToPersistentVolumeClaimsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/storage-volumes/persistent-volumes-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/storage-volumes/persistent-volumes-sidebar-item.injectable.tsx index 9a592c7f88..f5e9dabee0 100644 --- a/packages/core/src/renderer/components/storage-volumes/persistent-volumes-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/storage-volumes/persistent-volumes-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToPersistentVolumesInjectable from "../../../common/front-end-routing/routes/cluster/storage/persistent-volumes/navigate-to-persistent-volumes.injectable"; const persistentVolumesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-persistent-volumes", + id: "persistent-volumes-sidebar-item", instantiate: (di) => { const route = di.inject(persistentVolumesRouteInjectable); return { - parentId: storageSidebarItemInjectable.id, + id: "persistent-volumes", + parentId: di.inject(storageSidebarItemInjectable).id, title: "Persistent Volumes", onClick: di.inject(navigateToPersistentVolumesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/storage/storage-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/storage/storage-sidebar-item.injectable.tsx index 5f1073da35..fbbd6f0ce1 100644 --- a/packages/core/src/renderer/components/storage/storage-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/storage/storage-sidebar-item.injectable.tsx @@ -9,9 +9,10 @@ import React from "react"; import { noop } from "lodash/fp"; const storageSidebarItemInjectable = getInjectable({ - id: "sidebar-item-storage", + id: "storage-sidebar-item", instantiate: () => ({ + id: "storage", parentId: null, getIcon: () => , title: "Storage", diff --git a/packages/core/src/renderer/components/user-management/cluster-role-bindings/cluster-role-bindings-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/user-management/cluster-role-bindings/cluster-role-bindings-sidebar-item.injectable.tsx index 009d7fd256..29ec04229a 100644 --- a/packages/core/src/renderer/components/user-management/cluster-role-bindings/cluster-role-bindings-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/user-management/cluster-role-bindings/cluster-role-bindings-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import navigateToClusterRoleBindingsInjectable from "../../../../common/front-en import userManagementSidebarItemInjectable from "../user-management-sidebar-item.injectable"; const clusterRoleBindingsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-cluster-role-bindings", + id: "cluster-role-bindings-sidebar-item", instantiate: (di) => { const route = di.inject(clusterRoleBindingsRouteInjectable); return { - parentId: userManagementSidebarItemInjectable.id, + id: "cluster-role-bindings", + parentId: di.inject(userManagementSidebarItemInjectable).id, title: "Cluster Role Bindings", onClick: di.inject(navigateToClusterRoleBindingsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/user-management/cluster-roles/cluster-roles-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/user-management/cluster-roles/cluster-roles-sidebar-item.injectable.tsx index 9926231120..0c7ca2103b 100644 --- a/packages/core/src/renderer/components/user-management/cluster-roles/cluster-roles-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/user-management/cluster-roles/cluster-roles-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../../routes/route-is-active.injectable" import navigateToClusterRolesInjectable from "../../../../common/front-end-routing/routes/cluster/user-management/cluster-roles/navigate-to-cluster-roles.injectable"; const clusterRolesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-cluster-roles", + id: "cluster-roles-sidebar-item", instantiate: (di) => { const route = di.inject(clusterRolesRouteInjectable); return { - parentId: userManagementSidebarItemInjectable.id, + id: "cluster-roles", + parentId: di.inject(userManagementSidebarItemInjectable).id, title: "Cluster Roles", onClick: di.inject(navigateToClusterRolesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/user-management/role-bindings/role-bindings-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/user-management/role-bindings/role-bindings-sidebar-item.injectable.tsx index 8fe66b884c..f4c4fa9c7a 100644 --- a/packages/core/src/renderer/components/user-management/role-bindings/role-bindings-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/user-management/role-bindings/role-bindings-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../../routes/route-is-active.injectable" import navigateToRoleBindingsInjectable from "../../../../common/front-end-routing/routes/cluster/user-management/role-bindings/navigate-to-role-bindings.injectable"; const roleBindingsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-role-bindings", + id: "role-bindings-sidebar-item", instantiate: (di) => { const route = di.inject(roleBindingsRouteInjectable); return { - parentId: userManagementSidebarItemInjectable.id, + id: "role-bindings", + parentId: di.inject(userManagementSidebarItemInjectable).id, title: "Role Bindings", onClick: di.inject(navigateToRoleBindingsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/user-management/roles/roles-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/user-management/roles/roles-sidebar-item.injectable.tsx index c12db9ada2..bdc47bde86 100644 --- a/packages/core/src/renderer/components/user-management/roles/roles-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/user-management/roles/roles-sidebar-item.injectable.tsx @@ -10,13 +10,14 @@ import routeIsActiveInjectable from "../../../routes/route-is-active.injectable" import navigateToRolesInjectable from "../../../../common/front-end-routing/routes/cluster/user-management/roles/navigate-to-roles.injectable"; const rolesSidebarItemInjectable = getInjectable({ - id: "sidebar-item-roles", + id: "roles-sidebar-item", instantiate: (di) => { const route = di.inject(rolesRouteInjectable); return { - parentId: userManagementSidebarItemInjectable.id, + id: "roles", + parentId: di.inject(userManagementSidebarItemInjectable).id, title: "Roles", onClick: di.inject(navigateToRolesInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/user-management/service-accounts/service-accounts-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/user-management/service-accounts/service-accounts-sidebar-item.injectable.tsx index 23a0562785..07b5a39025 100644 --- a/packages/core/src/renderer/components/user-management/service-accounts/service-accounts-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/user-management/service-accounts/service-accounts-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../../routes/route-is-active.injectable" import navigateToServiceAccountsInjectable from "../../../../common/front-end-routing/routes/cluster/user-management/service-accounts/navigate-to-service-accounts.injectable"; const serviceAccountsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-service-accounts", + id: "service-accounts-sidebar-item", instantiate: (di) => { const route = di.inject(serviceAccountsRouteInjectable); return { - parentId: userManagementSidebarItemInjectable.id, + id: "service-accounts", + parentId: di.inject(userManagementSidebarItemInjectable).id, title: "Service Accounts", onClick: di.inject(navigateToServiceAccountsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/user-management/user-management-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/user-management/user-management-sidebar-item.injectable.tsx index bc5bc0fb8d..7bcdeb21e2 100644 --- a/packages/core/src/renderer/components/user-management/user-management-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/user-management/user-management-sidebar-item.injectable.tsx @@ -9,9 +9,10 @@ import React from "react"; import { noop } from "lodash/fp"; const userManagementSidebarItemInjectable = getInjectable({ - id: "sidebar-item-user-management", + id: "user-management-sidebar-item", instantiate: () => ({ + id: "user-management", parentId: null, getIcon: () => , title: "Access Control", diff --git a/packages/core/src/renderer/components/workloads-cronjobs/cron-jobs-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads-cronjobs/cron-jobs-sidebar-item.injectable.tsx index ea3f6c56f2..b6b2698e3a 100644 --- a/packages/core/src/renderer/components/workloads-cronjobs/cron-jobs-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads-cronjobs/cron-jobs-sidebar-item.injectable.tsx @@ -10,13 +10,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToCronJobsInjectable from "../../../common/front-end-routing/routes/cluster/workloads/cron-jobs/navigate-to-cron-jobs.injectable"; const cronJobsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-cron-jobs", + id: "cron-jobs-sidebar-item", instantiate: (di) => { const route = di.inject(cronJobsRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "cron-jobs", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "CronJobs", onClick: di.inject(navigateToCronJobsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads-daemonsets/daemonsets-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads-daemonsets/daemonsets-sidebar-item.injectable.tsx index 34e1b89764..9a59dcee0c 100644 --- a/packages/core/src/renderer/components/workloads-daemonsets/daemonsets-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads-daemonsets/daemonsets-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToDaemonsetsInjectable from "../../../common/front-end-routing/routes/cluster/workloads/daemonsets/navigate-to-daemonsets.injectable"; const daemonsetsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-daemonsets", + id: "daemonsets-sidebar-item", instantiate: (di) => { const route = di.inject(daemonsetsRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "daemon-sets", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "DaemonSets", onClick: di.inject(navigateToDaemonsetsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads-deployments/deployments-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads-deployments/deployments-sidebar-item.injectable.tsx index 413fd9b3da..81873a679b 100644 --- a/packages/core/src/renderer/components/workloads-deployments/deployments-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads-deployments/deployments-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToDeploymentsInjectable from "../../../common/front-end-routing/routes/cluster/workloads/deployments/navigate-to-deployments.injectable"; const deploymentsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-deployments", + id: "deployments-sidebar-item", instantiate: (di) => { const route = di.inject(deploymentsRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "deployments", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "Deployments", onClick: di.inject(navigateToDeploymentsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads-jobs/jobs-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads-jobs/jobs-sidebar-item.injectable.tsx index b77157da65..0c478db80f 100644 --- a/packages/core/src/renderer/components/workloads-jobs/jobs-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads-jobs/jobs-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToJobsInjectable from "../../../common/front-end-routing/routes/cluster/workloads/jobs/navigate-to-jobs.injectable"; const jobsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-jobs", + id: "jobs-sidebar-item", instantiate: (di) => { const route = di.inject(jobsRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "jobs", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "Jobs", onClick: di.inject(navigateToJobsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads-overview/workloads-overview-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads-overview/workloads-overview-sidebar-item.injectable.tsx index 5a9f175a34..e110966cf3 100644 --- a/packages/core/src/renderer/components/workloads-overview/workloads-overview-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads-overview/workloads-overview-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToWorkloadsOverviewInjectable from "../../../common/front-end-routing/routes/cluster/workloads/overview/navigate-to-workloads-overview.injectable"; const workloadsOverviewSidebarItemInjectable = getInjectable({ - id: "sidebar-item-workloads-overview", + id: "workloads-overview-sidebar-item", instantiate: (di) => { const route = di.inject(workloadsOverviewRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "overview", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "Overview", onClick: di.inject(navigateToWorkloadsOverviewInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads-pods/pods-sidebar-items.injectable.ts b/packages/core/src/renderer/components/workloads-pods/pods-sidebar-items.injectable.ts index 40a2c4c5a0..0e4acfc621 100644 --- a/packages/core/src/renderer/components/workloads-pods/pods-sidebar-items.injectable.ts +++ b/packages/core/src/renderer/components/workloads-pods/pods-sidebar-items.injectable.ts @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToPodsInjectable from "../../../common/front-end-routing/routes/cluster/workloads/pods/navigate-to-pods.injectable"; const podsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-pods", + id: "pods-sidebar-item", instantiate: (di) => { const route = di.inject(podsRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "pods", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "Pods", onClick: di.inject(navigateToPodsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads-replicasets/replicasets-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads-replicasets/replicasets-sidebar-item.injectable.tsx index 67b17c776a..d9d1184acb 100644 --- a/packages/core/src/renderer/components/workloads-replicasets/replicasets-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads-replicasets/replicasets-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToReplicasetsInjectable from "../../../common/front-end-routing/routes/cluster/workloads/replicasets/navigate-to-replicasets.injectable"; const replicasetsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-replicasets", + id: "replicasets-sidebar-item", instantiate: (di) => { const route = di.inject(replicasetsRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "replica-sets", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "ReplicaSets", onClick: di.inject(navigateToReplicasetsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-sidebar-item.injectable.tsx index c33c741bd7..ee346e90e5 100644 --- a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-sidebar-item.injectable.tsx @@ -10,13 +10,14 @@ import replicationControllersRouteInjectable from "../../../common/front-end-rou import navigateToReplicationControllersInjectable from "../../../common/front-end-routing/routes/cluster/workloads/replication-controllers/navigate-to.injectable"; const replicationControllerSidebarItemInjectable = getInjectable({ - id: "sidebar-item-replication-controller", + id: "replication-controller-sidebar-item", instantiate: (di) => { const route = di.inject(replicationControllersRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "replication-controllers", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "Replication Controllers", onClick: di.inject(navigateToReplicationControllersInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads-statefulsets/statefulsets-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads-statefulsets/statefulsets-sidebar-item.injectable.tsx index d9f23fb35e..a11a5f7db6 100644 --- a/packages/core/src/renderer/components/workloads-statefulsets/statefulsets-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads-statefulsets/statefulsets-sidebar-item.injectable.tsx @@ -11,13 +11,14 @@ import routeIsActiveInjectable from "../../routes/route-is-active.injectable"; import navigateToStatefulsetsInjectable from "../../../common/front-end-routing/routes/cluster/workloads/statefulsets/navigate-to-statefulsets.injectable"; const statefulsetsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-statefulsets", + id: "statefulsets-sidebar-item", instantiate: (di) => { const route = di.inject(statefulsetsRouteInjectable); return { - parentId: workloadsSidebarItemInjectable.id, + id: "stateful-sets", + parentId: di.inject(workloadsSidebarItemInjectable).id, title: "StatefulSets", onClick: di.inject(navigateToStatefulsetsInjectable), isActive: di.inject(routeIsActiveInjectable, route), diff --git a/packages/core/src/renderer/components/workloads/workloads-sidebar-item.injectable.tsx b/packages/core/src/renderer/components/workloads/workloads-sidebar-item.injectable.tsx index 67ac87758a..7783d75628 100644 --- a/packages/core/src/renderer/components/workloads/workloads-sidebar-item.injectable.tsx +++ b/packages/core/src/renderer/components/workloads/workloads-sidebar-item.injectable.tsx @@ -9,9 +9,10 @@ import React from "react"; import { noop } from "lodash/fp"; const workloadsSidebarItemInjectable = getInjectable({ - id: "sidebar-item-workloads", + id: "workloads-sidebar-item", instantiate: () => ({ + id: "workloads", parentId: null, title: "Workloads", getIcon: () => ,