From bf0d4685105816f38cb4beba714928f0c6907958 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Tue, 20 Aug 2024 15:31:43 +0300 Subject: [PATCH] UI: Breadcrumb improvements. --- ui-ngx/src/app/core/services/menu.models.ts | 16 ++++++++++++++-- .../shared/components/breadcrumb.component.ts | 11 ++++++++--- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/ui-ngx/src/app/core/services/menu.models.ts b/ui-ngx/src/app/core/services/menu.models.ts index e27d015fbe..0d74e37c5f 100644 --- a/ui-ngx/src/app/core/services/menu.models.ts +++ b/ui-ngx/src/app/core/services/menu.models.ts @@ -92,6 +92,7 @@ export enum MenuId { rule_chains = 'rule_chains', edge_management = 'edge_management', edges = 'edges', + edge_instances = 'edge_instances', rulechain_templates = 'rulechain_templates', features = 'features', otaUpdates = 'otaUpdates', @@ -101,7 +102,7 @@ export enum MenuId { declare type MenuFilter = (authState: AuthState) => boolean; -const menuSectionMap = new Map([ +export const menuSectionMap = new Map([ [ MenuId.home, { @@ -545,6 +546,17 @@ const menuSectionMap = new Map([ icon: 'router' } ], + [ + MenuId.edge_instances, + { + id: MenuId.edge_instances, + name: 'edge.edge-instances', + fullName: 'edge.edge-instances', + type: 'link', + path: '/edgeManagement/instances', + icon: 'router' + } + ], [ MenuId.rulechain_templates, { @@ -756,7 +768,7 @@ const defaultUserMenuMap = new Map([ {id: MenuId.entity_views} ] }, - {id: MenuId.edges}, + {id: MenuId.edge_instances}, { id: MenuId.notifications_center, pages: [ diff --git a/ui-ngx/src/app/shared/components/breadcrumb.component.ts b/ui-ngx/src/app/shared/components/breadcrumb.component.ts index 23c9abe337..c0899d7ef7 100644 --- a/ui-ngx/src/app/shared/components/breadcrumb.component.ts +++ b/ui-ngx/src/app/shared/components/breadcrumb.component.ts @@ -24,7 +24,7 @@ import { guid } from '@core/utils'; import { BroadcastService } from '@core/services/broadcast.service'; import { ActiveComponentService } from '@core/services/active-component.service'; import { UtilsService } from '@core/services/utils.service'; -import { MenuSection } from '@core/services/menu.models'; +import { MenuSection, menuSectionMap } from '@core/services/menu.models'; import { MenuService } from '@core/services/menu.service'; @Component({ @@ -113,8 +113,13 @@ export class BreadcrumbComponent implements OnInit, OnDestroy { const breadcrumbConfig = route.routeConfig.data.breadcrumb as BreadCrumbConfig; if (breadcrumbConfig && !breadcrumbConfig.skip) { let labelFunction: () => string; - const section: MenuSection = breadcrumbConfig.menuId ? - availableMenuSections.find(menu => menu.id === breadcrumbConfig.menuId) : null; + let section: MenuSection = null; + if (breadcrumbConfig.menuId) { + section = availableMenuSections.find(menu => menu.id === breadcrumbConfig.menuId); + if (!section) { + section = menuSectionMap.get(breadcrumbConfig.menuId); + } + } const label = section?.name || breadcrumbConfig.label || 'home.home'; const customTranslate = section?.customTranslate || false; if (breadcrumbConfig.labelFunction) {