| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using Abp.Authorization;
- using Abp.Localization;
- using Microsoft.AspNetCore.Mvc;
- namespace VberAdmin.Web.Views.Shared.Components.Breadcrumb;
- public class BreadcrumbViewComponent : VberAdminViewComponent
- {
- public BreadcrumbViewComponent(ILocalizationContext localizationContext)
- {
- _localizationContext = localizationContext;
- }
- private ILocalizationContext _localizationContext;
- public IViewComponentResult Invoke(string activeMenu = "")
- {
- var permission = PermissionManager.GetPermissionOrNull(activeMenu);
- if (string.IsNullOrEmpty(activeMenu) || permission == null)
- {
- return View(null);
- }
- ViewBag.ActiveMenu = activeMenu;
- var model = new BreadcrumbViewModel(permission.DisplayName.Localize(_localizationContext));
- var breadcrumbs = GetParentName(permission, new List<string>());
- breadcrumbs.Reverse();
- model.Breadcrumbs = breadcrumbs;
- return View(model);
- }
- private List<string> GetParentName(Permission permission, List<string> breadcrumbs)
- {
- if (permission.Parent == null)
- {
- return breadcrumbs;
- }
- breadcrumbs.Add(permission.DisplayName.Localize(_localizationContext));
- return GetParentName(permission.Parent, breadcrumbs);
- }
- }
- public class BreadcrumbViewModel
- {
- public BreadcrumbViewModel(string name)
- {
- Name = name;
- Breadcrumbs = new List<string>();
- }
- public string Name { get; set; }
- public List<string> Breadcrumbs { get; set; }
- }
|