mirror of
https://github.com/grafana/grafana.git
synced 2025-09-23 18:52:33 +08:00

* Design tweaks * Updated * Fixing unit tests * Review fixes * Text primary on active sections, and change home icon to text * spacing fix * More fix * Fixes * Updates
26 lines
546 B
TypeScript
26 lines
546 B
TypeScript
import { NavModelItem } from '@grafana/data';
|
|
|
|
import { Breadcrumb } from './types';
|
|
|
|
export function buildBreadcrumbs(sectionNav: NavModelItem, pageNav?: NavModelItem) {
|
|
const crumbs: Breadcrumb[] = [{ href: '/', text: 'Home' }];
|
|
|
|
function addCrumbs(node: NavModelItem) {
|
|
if (node.parentItem) {
|
|
addCrumbs(node.parentItem);
|
|
}
|
|
|
|
if (!node.hideFromBreadcrumbs) {
|
|
crumbs.push({ text: node.text, href: node.url ?? '' });
|
|
}
|
|
}
|
|
|
|
addCrumbs(sectionNav);
|
|
|
|
if (pageNav) {
|
|
addCrumbs(pageNav);
|
|
}
|
|
|
|
return crumbs;
|
|
}
|