/// <summary> /// 根据给定的Menu,生成对应的导航菜单 /// </summary> /// <param name="menu"></param> /// <returns></returns> public NavMenu GetOneNavMenu(Menu menu) { //构建菜单项 var navMenu = new NavMenu { Id = menu.Id, Name = menu.Name, MenuType = menu.MenuType.Value, Url = menu.Url, Icon = menu.Icon }; //构建子菜单 var subMenus = _context.Menus .Where(s => s.ParentId == menu.Id) .AsNoTracking() .OrderBy(s => s.IndexCode) .ToList(); foreach (var subMenu in subMenus) { navMenu.SubNavMenus.Add(GetOneNavMenu(subMenu)); } return(navMenu); }
public static void CreateSubItem(NavMenu menu, TreeNode mainNode, Page page) { foreach (NavMenu submenu in menu.SubMenus) { var subNode = new TreeNode(submenu.Id); subNode.Text = submenu.Name; SetIcon(submenu.Icon, submenu.IsCategory, subNode); if (submenu.IsSystem) { subNode.Href = page.ResolveUrl(submenu.NavUrl); } else { string url = UrlUtil.CombineWebUrl(submenu.SystemUrl, submenu.NavUrl); url = SSOProvider.AddSSFTokenToUrl(url, SSOProvider.GetSSOKeyFromPage(page)); subNode.Href = url; } subNode.CustomAttributes.Add(new ConfigItem("isCategory", submenu.IsCategory.ToString(), ParameterMode.Value)); subNode.CustomAttributes.Add(new ConfigItem("navPath", submenu.getPath(), ParameterMode.Value)); mainNode.Nodes.Add(subNode); CreateSubItem(submenu, subNode, page); } }
public override void RegisterNavMenuItems(NavMenu menu) { menu.GroupFromName("Manage").AddRange(new[] { new NavMenuItem { DisplayText = "Breeds", RequiredPolicies = new[] { Permissions.Breed.ManageUI }, LinkHref = new Uri("/Breed", UriKind.Relative) }, new NavMenuItem { DisplayText = "Species", RequiredPolicies = new[] { Permissions.Species.ManageUI }, LinkHref = new Uri("/Species", UriKind.Relative) }, new NavMenuItem { DisplayText = "Contacts", RequiredPolicies = new[] { Permissions.Contact.ManageUI }, LinkHref = new Uri("/Contact", UriKind.Relative) }, new NavMenuItem { DisplayText = "Locations", RequiredPolicies = new[] { Permissions.Location.ManageUI }, LinkHref = new Uri("/Location", UriKind.Relative) } }); }
private void InitLeftMenu() { NavMenu rootMenu = new NavMenu(); NavMenu abMenu1 = new NavMenu(); abMenu1.Name = "系统管理"; abMenu1.Id = "M11"; abMenu1.AddSubMenu("M111", "应用管理", "~/Moudle/SystemManage/ApplicationManage/SystemApplicationListPage.aspx", ""); abMenu1.AddSubMenu("M112", "菜单管理", "~/Moudle/SystemManage/MenuManage/SystemMenuListPage.aspx", ""); abMenu1.AddSubMenu("M113", "部门管理", "~/Moudle/SystemManage/DepartmentManage/SystemDepartmentListPage.aspx", ""); abMenu1.AddSubMenu("M114", "角色管理", "~/Moudle/SystemManage/RoleManage/SystemRoleListPage.aspx", ""); abMenu1.AddSubMenu("M115", "用户管理", "~/Moudle/SystemManage/UserManage/SystemUserListPage.aspx", ""); abMenu1.AddSubMenu("M116", "用户组管理", "~/Moudle/SystemManage/UserGroupManage/SystemUserGroupListPage.aspx", ""); abMenu1.AddSubMenu("M117", "权限管理", "~/Moudle/SystemManage/PermissionManage/SystemPrivilegeListPage.aspx", ""); abMenu1.AddSubMenu("M118", "模块管理", "~/Moudle/SystemManage/MoudleManage/SystemMoudleListPage.aspx", ""); abMenu1.AddSubMenu("M119", "字典管理", "~/Moudle/SystemManage/DictionaryManage/SystemDictionaryListPage.aspx", ""); abMenu1.AddSubMenu("M120", "日志查询", "~/Moudle/SystemManage/LogManage/SystemLogListPage.aspx", ""); rootMenu.AddSubMenu(abMenu1); foreach (NavMenu menu in rootMenu.SubMenus) { TreeNode rootNode = CreateMainItem(menu.Id, menu.Name, LeftPanel); foreach (NavMenu subMenu in menu.SubMenus) { CreateSubItem(subMenu.Id, subMenu.Name, Icon.FolderLink, this.Page.ResolveUrl(subMenu.NavUrl), rootNode); } } }
protected override async Task OnInitializedAsync() { await StateUpdate(); NavMenu.SetSubMenu(true); service = default; }
protected override async Task OnInitializedAsync() { pageSize = pageSizeList[0]; await StateUpdate(); NavMenu.SetSubMenu(true); }
public static List <NavMenu> GetNavMenuByApplication(SystemApplicationWrapper app) { List <SystemMenuWrapper> listmenu = ConvertToWrapperList(businessProxy.GetMenuByApplication(app)); List <NavMenu> menus = new List <NavMenu>(); foreach (SystemMenuWrapper gmenu in listmenu) { if (gmenu.ParentMenuID == null || gmenu.ParentMenuID.MenuID == 0) { NavMenu groupMenu = new NavMenu(); groupMenu.Id = gmenu.MenuID.ToString(); groupMenu.Name = gmenu.MenuName; groupMenu.NavUrl = gmenu.MenuUrl; groupMenu.IsCategory = gmenu.MenuIsCategory; groupMenu.Icon = gmenu.MenuIconUrl; groupMenu.Tooltip = gmenu.MenuDescription; AddSubMenus(listmenu, gmenu, groupMenu); menus.Add(groupMenu); } } return(menus); }
private void SetUpNavMenu() { string role = Session["role"] as string; MenuItem item; if (role == "S1") { item = NavMenu.FindItem("Actions/Redesignate"); item.Parent.ChildItems.Remove(item); item = NavMenu.FindItem("Actions/Retirements"); item.Parent.ChildItems.Remove(item); } else if (role == "S2") { item = NavMenu.FindItem("Actions/Redesignate"); item.Parent.ChildItems.Remove(item); item = NavMenu.FindItem("Actions/Retirements"); item.Parent.ChildItems.Remove(item); } else if (role == "S3") { item = NavMenu.FindItem("Actions/Data Entry"); item.Parent.ChildItems.Remove(item); item = NavMenu.FindItem("Actions/TransferPromotion"); item.Parent.ChildItems.Remove(item); } NavMenu.Visible = HttpContext.Current.User.Identity.IsAuthenticated; }
private void CreateSubItem(NavMenu menu, TreeNode mainNode) { foreach (NavMenu submenu in menu.SubMenus) { var subNode = new TreeNode(submenu.Id); subNode.Text = submenu.Name; SetIcon(submenu.Icon, submenu.IsCategory, subNode); subNode.Href = ResolveUrl(submenu.NavUrl); //if (ClientGroupID>0 && subNode.Text.Equals("资料维护")) //{ // SPClientGroupWrapper spclientGroup = SPClientGroupWrapper.FindById(ClientGroupID); // if (spclientGroup != null) // { // ResolveUrl(submenu.NavUrl) // //subNode.Href = "http://114.80.208.81:8082/management/tab/CompanyReportInfo.aspx?usernamedif=" + Server.UrlEncode(spclientGroup.UserName); // } //} subNode.CustomAttributes.Add(new ConfigItem("isCategory", submenu.IsCategory.ToString(), ParameterMode.Value)); mainNode.Nodes.Add(subNode); CreateSubItem(submenu, subNode); } }
public List <NavMenu> GelNavbarMenu() { List <NavMenu> menu = new List <NavMenu>(); NavMenu addProduct = new NavMenu(); addProduct.Name = "Product"; addProduct.ModuleName = "product"; addProduct.Component = "product-add"; menu.Add(addProduct); NavMenu productList = new NavMenu(); productList.Name = "Product List"; productList.Component = "product-list"; productList.ModuleName = "product"; menu.Add(productList); NavMenu addCategory = new NavMenu(); addCategory.Name = "Category"; addCategory.ModuleName = "category"; addCategory.Component = "category-add"; menu.Add(addCategory); NavMenu categoryList = new NavMenu(); categoryList.Name = "Category List"; categoryList.Component = "category-list"; categoryList.ModuleName = "category"; menu.Add(categoryList); return(menu); }
protected void InitNavMenu(NavMenu navMenu, bool isCustomLink = false) { if (!string.IsNullOrEmpty(CategoryId)) { var cat = HccApp.CatalogServices.Categories.Find(CategoryId); isCustomLink = cat.SourceType == CategorySourceType.CustomLink; } // 1. If CUSTOM LINK Category -> remove Manual Selection page // 2. If CUSTOM LINK Category -> replace _Edit.aspx page to _EditCustomLink.aspx // 3. Append url with 'id' parameter navMenu.ProcessItems = items => items .Where(i => !isCustomLink || i.Name != "SelectProducts") .Select(i => { var mi = new MenuItem { Text = i.Text }; if (string.IsNullOrEmpty(CategoryId) && i.Name != "Name") { mi.Url = null; } else if (isCustomLink && i.Name == "Name") { mi.Url = i.Url.Replace("_Edit.aspx", "_EditCustomLink.aspx?id=" + CategoryId); } else { mi.Url = i.Url + "?id=" + CategoryId; } return(mi); }).ToList(); }
static void Main(string[] args) { NavMenu menu; Console.WriteLine("Please choose one:"); Console.WriteLine("1. Use embeded file"); Console.WriteLine("2. Provide file path"); int choice = int.Parse(Console.ReadLine()); Console.Clear(); if (choice == 2) { Console.WriteLine("Please enter file path (ex. C:\\Documents\\Navigation.csv):"); string filepath = Console.ReadLine(); menu = new NavMenu(filepath); Console.Clear(); } else { menu = new NavMenu(); } menu.Start(); Console.ReadKey(); }
public async Task ReloadCartAsync() { Carts = await storageService.GetSessionItemAsync <List <OrderParams> >("carts"); if (Carts == null) { Carts = new List <OrderParams>(); } foreach (OrderParams orderParams in Carts.ToList()) { orderParams.Seller = await httpClient.GetFromJsonAsync <Seller>($"api/users/{orderParams.SellerId}/seller"); foreach (OrderItemParams item in orderParams.Items.ToList()) { item.Product = await httpClient.GetFromJsonAsync <MProduct>("api/products/" + item.ProductId); if (item.Product.Customer != null) { await RemoveFromCartAsync(orderParams, item); } } } if (NavMenu != null) { NavMenu.Refresh(); } }
public async Task <IActionResult> Edit(int id, [Bind("Id,Title,Url,NavMenuItemId,IsShown")] NavMenu navMenu) { if (id != navMenu.Id) { return(NotFound()); } if (ModelState.IsValid) { try { navMenu.NavMenuItemId = navMenu.NavMenuItemId == 0 ? null : navMenu.NavMenuItemId; _context.Update(navMenu); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!NavMenuExists(navMenu.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(navMenu)); }
private static void AddSubMenus(List <SystemMenuWrapper> listmenu, SystemMenuWrapper gmenu, NavMenu groupMenu) { foreach (SystemMenuWrapper itemMenu in listmenu) { if (itemMenu.ParentMenuID != null && itemMenu.ParentMenuID.MenuID == gmenu.MenuID) { NavMenu subMenu = new NavMenu(); subMenu.Id = itemMenu.MenuID.ToString(); subMenu.Name = itemMenu.LocaLocalizationName; subMenu.NavUrl = itemMenu.MenuUrl; subMenu.IsCategory = itemMenu.MenuIsCategory; subMenu.Icon = itemMenu.MenuIconUrl; subMenu.Tooltip = itemMenu.MenuDescription; subMenu.IsSystem = itemMenu.ApplicationID.SystemApplicationIsSystemApplication.HasValue && itemMenu.ApplicationID.SystemApplicationIsSystemApplication.Value; if (!subMenu.IsSystem) { subMenu.SystemUrl = itemMenu.ApplicationID.SystemApplicationUrl; } else { subMenu.SystemUrl = ""; } groupMenu.AddSubMenu(subMenu); AddSubMenus(listmenu, itemMenu, subMenu); } } }
protected void Page_Load(object sender, EventArgs e) { Page.Header.DataBind(); if (Session["EnableMenu"] == null) { Session["EnableMenu"] = false; } if (!string.IsNullOrEmpty(UserProfile.Username)) { //show menu Session["EnableMenu"] = true; NavMenu.ClientVisible = (bool)Session["EnableMenu"]; //btnLogout.ClientVisible = (bool)Session["EnableMenu"]; //set menu if (NavMenu.IsVisible() == true) { SetMenu(UserProfile.Roles); } //set btn logon tooltip //btnLogout.ToolTip = UserProfile.Username; } else { Logout(); if (HttpContext.Current.Request.Url.AbsolutePath.ToLower() != ResolveUrl("~/Pages/Home.aspx").ToLower()) { Response.Redirect("~/Pages/Home.aspx", false); } } }
public NavMenu Get() { string menuJson = GetMenuJson(); JsonSerializer serializer = new JsonSerializer(); NavMenu menu = JsonConvert.DeserializeObject <NavMenu>(menuJson); return(menu); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // DataBind must be called to evaluate inline binding expressions NavMenu.DataBind(); } }
public async Task UpdateCartAsync() { await storageService.SetSessionItemAsync("carts", Carts); if (NavMenu != null) { NavMenu.Refresh(); } }
public override void RegisterNavMenuItems(NavMenu menu) { menu.GroupFromName("Admin").Add(new NavMenuItem { DisplayText = "GraphQL", RequiredPolicies = new[] { Permissions.Other.GraphQLUI }, LinkHref = new Uri("/ui/playground", UriKind.Relative) }); }
public void DeleteRecipe_RecipeDeleted_RecipeIsNotExists() { recipeController.DeleteRecipe(3); navMenu.CategoriesMenuViewModels = NavMenu.GenerateMenu(context.Recipes.ToList()); context.Recipes.Count().Should().Be(2); navMenu.CategoriesMenuViewModels.Count.Should().Be(2); }
public override void RegisterNavMenuItems(NavMenu menu) { menu.GroupFromName("Admin").Add(new NavMenuItem { DisplayText = "Users", RequiredPolicies = new[] { Permissions.User.ManageUI }, LinkHref = new Uri("/Admin/Users", UriKind.Relative) }); }
protected void InitNavMenu(NavMenu navMenu) { navMenu.ProcessItems = items => items .Select(i => new MenuItem { Text = i.Text, Url = Customer != null || i.Name == "Profile" ? i.Url + "?id=" + CustomerId : null }) .ToList(); }
public void DeleteRecipe_RecipeWithCategoryDeleted_CategoryDeleted() { recipeController.DeleteRecipe(1); recipeController.DeleteRecipe(3); navMenu.CategoriesMenuViewModels = NavMenu.GenerateMenu(context.Recipes.ToList()); context.Recipes.Count().Should().Be(1); navMenu.CategoriesMenuViewModels.Count.Should().Be(1); }
public void NavMenuTest() { var menu = new NavMenu(); Assert.True(menu.CollapseNavMenu); Assert.Equal("collapse", menu.NavMenuCssClass); menu.ToggleNavMenu(); Assert.False(menu.CollapseNavMenu); Assert.Null(menu.NavMenuCssClass); }
public async Task <IActionResult> Create([Bind("Title,Url,NavMenuItemId,IsShown")] NavMenu navMenu) { if (ModelState.IsValid) { navMenu.NavMenuItemId = navMenu.NavMenuItemId == 0 ? null : navMenu.NavMenuItemId; _context.Add(navMenu); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(navMenu)); }
private void navigate_Menu(NavigationViewItem item) { switch (item.Tag) { case "CategoryA1": NavMenu.Navigate(typeof(CategoryA1)); break; case "CategoryA2": NavMenu.Navigate(typeof(CategoryA2)); break; } }
private void Options_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args) { if (args.IsSettingsInvoked) { NavMenu.Navigate(typeof(CategoryA1)); } else { // find NavigationViewItem with Content that equals InvokedItem var item = sender.MenuItems.OfType <NavigationViewItem>().First(x => (string)x.Content == (string)args.InvokedItem); navigate_Menu(item as NavigationViewItem); } }
private void GenerateSubTreeNode(TreeNode mainNode, NavMenu menu) { foreach (var sMenu in menu.SubMenus) { TreeNode subNode = new TreeNode(); subNode.Text = sMenu.Name; subNode.NodeID = sMenu.Id; WebUIHelper.SetIcon(menu.Icon, menu.IsCategory, mainNode); subNode.CustomAttributes.Add(new ConfigItem("IsGroup", (sMenu.IsCategory ? "1" : "0"), ParameterMode.Value)); subNode.CustomAttributes.Add(new ConfigItem("MenuID", menu.Id, ParameterMode.Value)); GenerateSubTreeNode(subNode, sMenu); mainNode.Nodes.Add(subNode); } }
private void CreateSubItem(NavMenu menu, TreeNode mainNode) { foreach (NavMenu submenu in menu.SubMenus) { var subNode = new TreeNode(submenu.Id); subNode.Text = submenu.Name; SetIcon(submenu.Icon, submenu.IsCategory, subNode); subNode.Href = ResolveUrl(submenu.NavUrl); subNode.CustomAttributes.Add(new ConfigItem("isCategory", submenu.IsCategory.ToString(), ParameterMode.Value)); mainNode.Nodes.Add(subNode); CreateSubItem(submenu, subNode); } }
protected void FinishInit() { Current = this; _listingFilter = new NSFWListingFilter(); if (IsInDesignMode) { _initializationBlob = new InitializationBlob { Settings = new Dictionary<string, string>(), NSFWFilter = new Dictionary<string, bool>() }; } else { OfflineService = new OfflineService(); _initializationBlob = OfflineService.LoadInitializationBlob(""); } Settings = new Model.Settings(_initializationBlob.Settings); SettingsHub = new SettingsViewModel(Settings); RedditUserState = _initializationBlob.DefaultUser ?? new UserState(); SnooStreamViewModel.ActivityManager.OAuth = SnooStreamViewModel.RedditUserState != null && SnooStreamViewModel.RedditUserState.OAuth != null ? JsonConvert.SerializeObject(SnooStreamViewModel.RedditUserState) : ""; SnooStreamViewModel.ActivityManager.CanStore = SnooStreamViewModel.RedditUserState != null && SnooStreamViewModel.RedditUserState.IsDefault; NotificationService = new Common.NotificationService(); CaptchaProvider = new CaptchaService(); RedditService = new Reddit(_listingFilter, RedditUserState, OfflineService, CaptchaProvider, "3m9rQtBinOg_rA", null, "http://www.google.com"); Login = new LoginViewModel(); _listingFilter.Initialize(Settings, OfflineService, RedditService, _initializationBlob.NSFWFilter); CommandDispatcher = new CommandDispatcher(); SubredditRiver = new SubredditRiverViewModel(_initializationBlob.Subreddits); SelfStream = new SelfStreamViewModel(); ModStream = new ModStreamViewModel(); NavMenu = new NavMenu(Enumerable.Empty<LinkRiverViewModel>(), this); MessengerInstance.Register<UserLoggedInMessage>(this, OnUserLoggedIn); if (RedditUserState.Username != null) { SelfUser = new AboutUserViewModel(RedditUserState.Username); } }