コード例 #1
0
 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);
     }
 }
コード例 #2
0
 public MenuPlainData(MvcDemoGroup group, MenuPlainData parrent = null)
 {
     Name = group.Name;
     if (parrent != null)
     {
         ParrentId = parrent.Id;
         Id        = ParrentId + group.Name;
     }
     else
     {
         Id = group.Name;
     }
 }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
        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);
            }
        }