This repository has been archived on 2025-05-14. You can view files and clone it, but cannot push or open issues or pull requests.

36 lines
892 B
Plaintext

@namespace Oqtane.Themes.Controls
@inherits ThemeControlBase
@attribute [OqtaneIgnore]
@if (BreadCrumbPages.Any())
{
<ol class="breadcrumb">
@foreach (var p in BreadCrumbPages)
{
<li class="breadcrumb-item @ActiveClass(p)">
<a href="@NavigateUrl(p.Path)">@p.Name</a>
</li>
}
</ol>
}
@code {
protected IEnumerable<Page> BreadCrumbPages => GetBreadCrumbPages().Reverse().ToList();
protected string ActiveClass(Page page)
{
return (page.PageId == PageState.Page.PageId) ? " active" : string.Empty;
}
private IEnumerable<Page> GetBreadCrumbPages()
{
var page = PageState.Page;
do
{
yield return page;
page = PageState.Pages.FirstOrDefault(p => page != null && p.PageId == page.ParentId);
} while (page != null);
}
}