41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| @namespace Oqtane.Themes.Controls
 | |
| @inherits ThemeControlBase       
 | |
| 
 | |
| @if (BreadCrumbPages.Any())
 | |
| {
 | |
|     <span class="app-breadcrumbs">
 | |
|         <ol class="breadcrumb">
 | |
|             @foreach (var p in BreadCrumbPages)
 | |
|             {
 | |
|                 if (p.PageId == PageState.Page.PageId)
 | |
|                 {
 | |
|                     <li class="breadcrumb-item active">
 | |
|                         <a href="@NavigateUrl(p.Path)">@p.Name</a>
 | |
|                     </li>
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     <li class="breadcrumb-item">
 | |
|                         <a href="@NavigateUrl(p.Path)">@p.Name</a>
 | |
|                     </li>
 | |
|                 }
 | |
|             }
 | |
|         </ol>
 | |
|     </span>
 | |
| }
 | |
| 
 | |
| @code {
 | |
| 
 | |
|     protected IEnumerable<Page> BreadCrumbPages => GetBreadCrumbPages().Reverse().ToList();
 | |
|  
 | |
|     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);
 | |
|     }
 | |
| }
 | 
