BootstrapAdmin/Bootstrap.Admin/Models/NavigatorBarModel.cs

37 lines
1.2 KiB
C#
Raw Normal View History

2016-10-21 16:35:26 +08:00
using Bootstrap.DataAccess;
using Bootstrap.Security;
using System;
2016-10-21 16:35:26 +08:00
using System.Collections.Generic;
using System.Linq;
2016-10-21 16:35:26 +08:00
namespace Bootstrap.Admin.Models
{
public class NavigatorBarModel : HeaderBarModel
{
public NavigatorBarModel(string url)
2016-10-21 16:35:26 +08:00
{
Navigations = BootstrapMenu.RetrieveSystemMenus(UserName);
Applications = DictHelper.RetrieveApps();
2016-11-12 18:23:03 +08:00
ActiveMenu(null, Navigations.ToList(), url);
HomeUrl = "~/Admin/Index";
2016-10-21 16:35:26 +08:00
}
2016-11-12 18:23:03 +08:00
private void ActiveMenu(BootstrapMenu parent, List<BootstrapMenu> menus, string url)
2016-11-12 18:23:03 +08:00
{
menus.ForEach(m =>
{
m.Active = m.Url.Equals(url, StringComparison.OrdinalIgnoreCase) ? "active" : "";
ActiveMenu(m, m.Menus.ToList(), url);
if (parent != null && m.Active != "") parent.Active = m.Active;
});
}
2016-10-21 16:35:26 +08:00
/// <summary>
///
/// </summary>
public IEnumerable<BootstrapMenu> Navigations { get; private set; }
/// <summary>
///
/// </summary>
public IEnumerable<KeyValuePair<string, string>> Applications { get; private set; }
2016-10-21 16:35:26 +08:00
}
2016-10-20 17:55:29 +08:00
}