Example #1
0
        public static MenuItemDefinition GetOrCreatePlugInsRootMenu(this MenuDefinition menu, string url, string icon, string plugInMenuName = "PlugIns", string fixedDisplayName = null, string requiredPermission = null)
        {
            if (plugInMenuName.IsNullOrWhiteSpace())
            {
                plugInMenuName = "PlugIns";
            }

            if (fixedDisplayName.IsNullOrWhiteSpace())
            {
                fixedDisplayName = "PlugIns";
            }

            var plugInRoot = menu.Items.FirstOrDefault(i => i.Name == plugInMenuName);

            if (plugInRoot == null)
            {
                plugInRoot = new MenuItemDefinition(
                    plugInMenuName,
                    new FixedLocalizableString(fixedDisplayName),
                    url: url,
                    icon: icon
                    //permissionDependency:
                    //requiredPermissionName: requiredPermission
                    );

                menu.AddItem(plugInRoot);
            }

            return(plugInRoot);
        }
Example #2
0
 /// <summary>
 /// Creates a new <see cref="UserMenuItem"/> object from given <see cref="MenuItemDefinition"/>.
 /// </summary>
 public UserMenuItem(MenuItemDefinition menuItemDefinition)
 {
     Name        = menuItemDefinition.Name;
     Icon        = menuItemDefinition.Icon;
     DisplayName = menuItemDefinition.DisplayName.Localize();
     Url         = menuItemDefinition.Url;
     Items       = new List <UserMenuItem>();
 }
 /// <summary>
 /// Creates a new <see cref="UserMenuItem"/> object from given <see cref="MenuItemDefinition"/>.
 /// </summary>
 internal UserMenuItem(MenuItemDefinition menuItemDefinition)
 {
     Name = menuItemDefinition.Name;
     Icon = menuItemDefinition.Icon;
     DisplayName = menuItemDefinition.DisplayName.Localize();
     Url = menuItemDefinition.Url;
     Items = new List<UserMenuItem>();
 }
Example #4
0
 /// <summary>
 /// Creates a new <see cref="UserMenuItem"/> object from given <see cref="MenuItemDefinition"/>.
 /// </summary>
 internal UserMenuItem(MenuItemDefinition menuItemDefinition)
 {
     Name        = menuItemDefinition.Name;
     Icon        = menuItemDefinition.Icon;
     DisplayName = menuItemDefinition.DisplayName.Localize();
     Url         = menuItemDefinition.Url;
     CustomData  = menuItemDefinition.CustomData;
     Items       = new List <UserMenuItem>();
 }
 /// <summary>
 /// Creates a new <see cref="UserMenuItem"/> object from given <see cref="MenuItemDefinition"/>.
 /// </summary>
 internal UserMenuItem(MenuItemDefinition menuItemDefinition)
 {
     Name = menuItemDefinition.Name;
     Icon = menuItemDefinition.Icon;
     DisplayName = menuItemDefinition.DisplayName.Localize();
     Order = menuItemDefinition.Order;
     Url = menuItemDefinition.Url;
     CustomData = menuItemDefinition.CustomData;
     Items = new List<UserMenuItem>();
 }
Example #6
0
 /// <summary>
 /// Creates a new <see cref="UserMenuItem"/> object from given <see cref="MenuItemDefinition"/>.
 /// </summary>
 internal UserMenuItem(MenuItemDefinition menuItemDefinition, ILocalizationContext localizationContext)
 {
     Name        = menuItemDefinition.Name;
     Icon        = menuItemDefinition.Icon;
     DisplayName = menuItemDefinition.DisplayName.Localize(localizationContext);
     Order       = menuItemDefinition.Order;
     Url         = menuItemDefinition.Url;
     CustomData  = menuItemDefinition.CustomData;
     Items       = new List <UserMenuItem>();
 }
        /// <summary>
        /// Creates a new <see cref="UserMenuItem"/> object from given <see cref="MenuItemDefinition"/>.
        /// </summary>
        public UserMenuItem(MenuItemDefinition menuItemDefinition, ILocalizationContext localizationContext)
        {
            Name        = menuItemDefinition.Name;
            Icon        = menuItemDefinition.Icon;
            DisplayName = menuItemDefinition.DisplayName.Localize(localizationContext);
            Order       = menuItemDefinition.Order;
            Url         = menuItemDefinition.Url;
            CustomData  = menuItemDefinition.CustomData;
            Target      = menuItemDefinition.Target;
            IsEnabled   = menuItemDefinition.IsEnabled;
            IsVisible   = menuItemDefinition.IsVisible;

            Items = new List <UserMenuItem>();
        }
        private void GetChilds(IEnumerable<Navigations.Navigation> oldlist, MenuItemDefinition menu, int parentId)
        {
            var subs = oldlist
                    .Where(n => n.ParentId == parentId)
                    .OrderBy(n => n.SortId)
                    .ToList();

            foreach (var item in subs)
            {
                var subMenu = GetMenuItemByNav(item);
                menu.AddItem(subMenu);
                //迭代
                GetChilds(oldlist, subMenu, item.Id);
            }
        }
Example #9
0
        public void SetMenu(MenuItemDefinition mainMenu, IEnumerable<MenuDto> menues)
        {
            foreach (var menu in menues)
            {
                var menuitem = new MenuItemDefinition(
                    menu.Name,
                    new LocalizableString(menu.DisplayName, IdentityConsts.LocalizationSourceName),
                    url: menu.Url,
                    icon: menu.Icon
                    );
                mainMenu.AddItem(menuitem);

                if (menu.Items.Count > 0)
                {
                    SetMenu(menuitem, menu.Items);
                }
            }
        }
Example #10
0
 /// <summary>
 /// 添加<see cref="MenuItemDefinition"/>.
 /// </summary>
 /// <param name="menuItem"><see cref="MenuItemDefinition"/> to be added</param>
 /// <returns>This <see cref="MenuDefinition"/> object</returns>
 public MenuDefinition AddItem(MenuItemDefinition menuItem)
 {
     Items.Add(menuItem);
     return this;
 }
Example #11
0
 /// <summary>
 /// Adds a <see cref="MenuItemDefinition"/> to <see cref="Items"/>.
 /// </summary>
 /// <param name="menuItem"><see cref="MenuItemDefinition"/> to be added</param>
 /// <returns>This <see cref="MenuItemDefinition"/> object</returns>
 public MenuItemDefinition AddItem(MenuItemDefinition menuItem)
 {
     Items.Add(menuItem);
     return this;
 }