Example #1
0
        /// <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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
 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)
         }
     });
 }
Example #4
0
        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);
        }
Example #8
0
    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);
        }
Example #11
0
        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();
        }
Example #12
0
        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();
        }
Example #13
0
        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();
            }
        }
Example #14
0
        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);
         }
     }
 }
Example #16
0
        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);
        }
Example #18
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         // DataBind must be called to evaluate inline binding expressions
         NavMenu.DataBind();
     }
 }
Example #19
0
        public async Task UpdateCartAsync()
        {
            await storageService.SetSessionItemAsync("carts", Carts);

            if (NavMenu != null)
            {
                NavMenu.Refresh();
            }
        }
Example #20
0
 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)
     });
 }
Example #21
0
        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);
        }
Example #22
0
 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)
     });
 }
Example #23
0
 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();
 }
Example #24
0
        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);
        }
Example #25
0
        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);
        }
Example #26
0
        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));
        }
Example #27
0
        private void navigate_Menu(NavigationViewItem item)
        {
            switch (item.Tag)
            {
            case "CategoryA1":
                NavMenu.Navigate(typeof(CategoryA1));
                break;

            case "CategoryA2":
                NavMenu.Navigate(typeof(CategoryA2));
                break;
            }
        }
Example #28
0
 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);
            }
        }