static void SetActiveParrent(MenuPlainData node) { if (!string.IsNullOrEmpty(node.ParrentId)) { int index = Items.FindIndex(x => x.Id == node.ParrentId); var parrent = Items[index]; parrent.Active = true; SetActiveParrent(parrent); } }
public MenuPlainData(MvcDemoGroup group, MenuPlainData parrent = null) { Name = group.Name; if (parrent != null) { ParrentId = parrent.Id; Id = ParrentId + group.Name; } else { Id = group.Name; } }
public MenuPlainData(MvcDemo demo, MenuPlainData parrent = null) { Name = demo.Title; Action = demo.Name; Controller = demo.Widget; if (parrent != null) { ParrentId = parrent.Id; Id = ParrentId + demo.Name; } else { Id = demo.Name; } }
static void InitializeGroups(List <MvcDemoGroup> groups, MenuPlainData parrent = null) { var demosItems = new List <MenuPlainData>(); foreach (var group in groups) { var menuItem = new MenuPlainData(group, parrent); var demos = group.Demos == null ? null : group.Demos.Where(demo => !demo.Hidden).ToList(); if (group.Groups != null || (demos != null && demos.Count > 0)) { demosItems.Add(menuItem); if (demos != null && demos.Count > 0) { if (demos.Count > 1) { foreach (var groupDemo in demos) { Items.Add(new MenuPlainData(groupDemo, menuItem)); } } var firstdemo = demos[0]; menuItem.Action = firstdemo.Name; menuItem.Controller = firstdemo.Widget; } if (group.Groups != null) { InitializeGroups(group.Groups, menuItem); } } } if (demosItems.Count > 0) { if (parrent != null) { var firstItem = demosItems[0]; parrent.Action = firstItem.Action; parrent.Controller = firstItem.Controller; } Items.AddRange(demosItems); } }