mirror of
https://github.com/grafana/grafana.git
synced 2025-09-25 06:33:55 +08:00

* Scenes: Support new top nav * Page: Make Page component support new and old dashboard page layouts * Pass scrollbar props * Fixing flex layout for dashboard * Progress on dashboard settings working with topnav * Updated * Annotations working * Starting to work fully * Fix merge issue * Fixed tests * Added buttons to annotations editor * Updating tests * Move Page component to each page * fixed general settings page * Fixed versions * Fixed annotation item page * Variables section working * Fixed tests * Minor fixes to versions * Update * Fixing unit tests * Adding add variable button * Restore annotations edit form so it's the same as before * Fixed semicolon in dashboard permissions * Fixing unit tests * Fixing tests * Minor test update * Fixing unit test * Fixing e2e tests * fix for e2e test * fix a11y issues * Changing places Settings -> General * Trying to fix a11y * I hope this fixes the e2e test * Fixing merge issue * tweak
26 lines
564 B
TypeScript
26 lines
564 B
TypeScript
import { NavModelItem } from '@grafana/data';
|
|
|
|
import { Breadcrumb } from './types';
|
|
|
|
export function buildBreadcrumbs(sectionNav: NavModelItem, pageNav?: NavModelItem) {
|
|
const crumbs: Breadcrumb[] = [{ icon: 'home-alt', 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;
|
|
}
|