public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "site", StringComparison.OrdinalIgnoreCase)) { return; } builder .Add(T["Docs"], 2, discuss => discuss .IconCss("fal fa-book-open") .Action("Index", "Home", "Plato.Docs") .Attributes(new Dictionary <string, object>() { { "data-provide", "tooltip" }, { "data-placement", "bottom" }, { "title", T["Docs"] } }) .LocalNav(), new List <string>() { "docs", "text-hidden" } ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "edit-profile", StringComparison.OrdinalIgnoreCase)) { return; } builder .Add(T["Profile"], 1, profile => profile .Action("EditProfile", "Home", "Plato.Users") //.Permission(Permissions.ManageUsers) .LocalNav() ).Add(T["Account"], 2, profile => profile .Action("EditAccount", "Home", "Plato.Users") //.Permission(Permissions.ManageUsers) .LocalNav() ).Add(T["Signature"], int.MaxValue, signature => signature .Action("EditSignature", "Home", "Plato.Users") //.Permission(Permissions.ManageUsers) .LocalNav() ).Add(T["Settings"], int.MaxValue, profile => profile .Action("EditSettings", "Home", "Plato.Users") //.Permission(Permissions.ManageUsers) .LocalNav() ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "idea-footer", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Idea)] as Idea; if (entity == null) { return; } builder .Add(T["Reactions"], int.MaxValue, react => react .View("ReactionList", new { model = new ReactionListViewModel() { Entity = entity, Permission = Permissions.ReactToIdeas } }) .Permission(Permissions.ViewIdeaReactions) ); }
public void BuildNavigation(string name, INavigationBuilder builder) { // Ensure correct provider if (!String.Equals(name, "profile", StringComparison.OrdinalIgnoreCase)) { return; } // Get user from context var user = builder.ActionContext.HttpContext.Items[typeof(User)] as User; if (user == null) { return; } // Build menu builder.Add(T["Badges"], 1, topics => topics .Action("Index", "Profile", "Plato.Users.Badges", new RouteValueDictionary() { ["opts.id"] = user.Id.ToString(), ["opts.alias"] = user.Alias.ToString() }) //.Permission(Permissions.ManageRoles) .LocalNav() ); }
/// <summary>重新加载</summary> private void Reload() { this.configuration = WebConfigurationView.Instance.Configuration; this.m_CustomizeManagement = new CustomizeManagement(); this.m_NavigationManagement = new NavigationManagement(); this.m_MenuManagement = new MenuManagement(); if (WebConfigurationView.Instance.Layout == "EnterprisePortalPlatform") { // 自定义页面 m_CustomizeBuilder = new Layouts.EnterprisePortalPlatform.CustomizeBuilder(); // 导航 m_NavigationBuilder = new Layouts.EnterprisePortalPlatform.NavigationBuilder(); // 菜单 m_MenuBuilder = new Layouts.EnterprisePortalPlatform.MenuBuilder(); } else { // 自定义页面 m_CustomizeBuilder = new Layouts.CollaborationPlatform.CustomizeBuilder(); // 导航 m_NavigationBuilder = new Layouts.CollaborationPlatform.NavigationBuilder(); // 菜单 m_MenuBuilder = new Layouts.CollaborationPlatform.MenuBuilder(); } }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "post", StringComparison.OrdinalIgnoreCase)) { return; } // Get action name var actionName = string.Empty; if (builder.ActionContext.RouteData.Values.ContainsKey("action")) { actionName = builder.ActionContext.RouteData.Values["action"].ToString(); } // No need to display the menu when editing entities if (actionName.IndexOf("Edit", StringComparison.OrdinalIgnoreCase) >= 0) { return; } builder .Add(T["New"], 1, create => create .IconCss("fal fa-plus") .Attributes(new Dictionary <string, object>() { ["data-display"] = "static" }) .Add(T["Issue"], 7, article => article .Action("Create", "Home", "Plato.Issues", new RouteValueDictionary()) .Permission(Permissions.PostIssues) .LocalNav() )); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "article-footer", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Article)] as Article; var reply = builder.ActionContext.HttpContext.Items[typeof(Comment)] as Comment; // Add reaction list to navigation builder .Add(T["Reactions"], int.MaxValue, react => react .View("ReactionList", new { model = new ReactionListViewModel() { Entity = entity, Reply = reply, Permission = Permissions.ReactToArticles } }) .Permission(Permissions.ViewArticleReactions) ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "topic-footer", StringComparison.OrdinalIgnoreCase)) { return; } return; //// Get model from navigation builder //var entity = builder.ActionContext.HttpContext.Items[typeof(Topic)] as Topic; //// We always need a topic //if (entity == null) //{ // return; //} //// Replies are options //var reply = builder.ActionContext.HttpContext.Items[typeof(Reply)] as Reply; //builder // .Add(T["Labels"], react => react // .View("TopicLabels", new // { // entity // }) // .Order(0) // ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "site", StringComparison.OrdinalIgnoreCase)) { return; } builder .Add(T["More"], int.MaxValue - 5, nav => nav .IconCss("fal fa-bars") .Attributes(new Dictionary <string, object>() { { "data-provide", "tooltip" }, { "data-placement", "bottom" }, { "title", T["More"] } }) .Add(T["Search"], 0, search => search .Action("Index", "Home", "Plato.Search") .IconCss("fal fa-search mr-2") //.Permission(Permissions.ManageRoles) .LocalNav() ).Add(T["Divider"], 1, divider => divider //.Permission(deletePermission) .DividerCss("dropdown-divider").LocalNav() ) , new List <string>() { "dropdown-toggle-no-caret", "navigation", "text-hidden" } ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "search", StringComparison.OrdinalIgnoreCase)) { return; } // Get view model from context var indexViewModel = builder.ActionContext.HttpContext.Items[typeof(EntityIndexViewModel <Entity>)] as EntityIndexViewModel <Entity>; if (indexViewModel == null) { return; } // Get metrics from context var model = builder.ActionContext.HttpContext.Items[typeof(FeatureEntityCounts)] as FeatureEntityCounts; // Get feature metrics var total = model?.Total() ?? 0; builder .Add(T["All"], 0, f => f .Badge(total > 0 ? total.ToPrettyInt() : string.Empty, "badge badge-primary float-right") .Action("Index", "Home", "Plato.Search", new RouteValueDictionary() { ["opts.featureId"] = null, ["opts.search"] = indexViewModel.Options.Search }) .LocalNav(), indexViewModel.Options.FeatureId == null ? new string[] { "active" } : null); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "article-footer", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Article)] as Article; // We always need a topic if (entity == null) { return; } // Replies are options var reply = builder.ActionContext.HttpContext.Items[typeof(Comment)] as Comment; builder .Add(T["Attachments"], react => react .View("EntityAttachments", new { entity, reply }) ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "admin", StringComparison.OrdinalIgnoreCase)) { return; } // Ensure host if (!_shellSettings.IsDefaultShell()) { return; } builder .Add(T["Tenants"], int.MaxValue - 8, tenants => tenants .IconCss("fal fa-browser") .Add(T["Manage"], 3, manage => manage .Action("Index", "Admin", "Plato.Tenants") .Permission(Permissions.ManageTenants) .LocalNav()) .Add(T["Add"], 4, create => create .Action("Create", "Admin", "Plato.Tenants") .Permission(Permissions.AddTenants) .LocalNav()) .Add(T["Settings"], 5, settings => settings .Action("Settings", "Admin", "Plato.Tenants") .Permission(Permissions.EditSettings) .LocalNav()) ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "issue-comment-footer", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Issue)] as Issue; // We need an entity if (entity == null) { return; } // Replies are optional var reply = builder.ActionContext.HttpContext.Items[typeof(Comment)] as Comment; builder .Add(T["Tags"], react => react .View("IssueTags", new { entity, reply }) ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "topic-details", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Topic)] as Topic; if (entity == null) { return; } // Add reaction menu view to navigation builder .Add(T["Vote"], react => react .View("VoteToggle", new { model = new VoteToggleViewModel() { Entity = entity, Permission = Permissions.VoteTopics, ApiUrl = "api/discuss/vote/post" } }) ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "site", StringComparison.OrdinalIgnoreCase)) { return; } builder .Add(T["More"], int.MaxValue - 5, nav => nav .IconCss("fal fa-bars") .Attributes(new Dictionary <string, object>() { { "data-provide", "tooltip" }, { "data-placement", "bottom" }, { "title", T["More"] } }) .Add(T["Users"], int.MaxValue - 1, installed => installed .Action("Index", "Home", "Plato.Users") .IconCss("fal fa-user mr-2") .Permission(Permissions.ViewUsers) .LocalNav() ), new List <string>() { "dropdown-toggle-no-caret", "navigation", "text-hidden" } ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "question-answer-footer", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Question)] as Question; // We need an entity if (entity == null) { return; } // Replies are optional var reply = builder.ActionContext.HttpContext.Items[typeof(Answer)] as Answer; builder .Add(T["Tags"], react => react .View("QuestionTags", new { entity, reply }) ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "topic-reply-footer", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Topic)] as Topic; // We need an entity if (entity == null) { return; } // Replies are optional var reply = builder.ActionContext.HttpContext.Items[typeof(Reply)] as Reply; // Add reaction list to topic reply footer navigation builder .Add(T["Tags"], react => react .View("TopicTags", new { entity, reply }) .Order(1) ); }
public static void Register(INavigationBuilder builder) { var convention = builder.GetTemplateConvention(@"View\{vm}\dist\index.HTML"); typeof(RoutingConfiguration).GetTypesFromSameAssembly() .InNamespace("NeutroniumDemo.ViewModel") .Except(typeof(ApplicationMenuViewModel)) .Register(convention); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "site", StringComparison.OrdinalIgnoreCase)) { return; } // Removed }
public void GetNavigation(INavigationBuilder navigationBuilder) { navigationBuilder .Add("缩略图尺寸管理", PermissionProvider.Thumbnail, builder => builder.Action("Index", "Thumbnail", new { area = "Admin" })) .Add("角色管理", PermissionProvider.Role, builder => builder.Action("Index", "Role", new { area = "Admin" })) .Add("用户管理", PermissionProvider.Account, builder => builder.Action("Index", "Account", new { area = "Admin" })) .Add("系统信息管理", PermissionProvider.SysSetting, builder => builder.Action("Index", "Setting", new { area = "Admin" }), 100) .Add("导航管理", PermissionProvider.Navigation, builder => builder.Action("Index", "Navigation", new { area = "Admin" })) .Add("分类管理", PermissionProvider.Category, builder => builder.Action("Index", "Category", new { area = "Admin" })) .Add("控制台", PermissionProvider.Dashboard, builder => builder.Action("Index", "Dashboard", new { area = "Admin" })); }
public Navigation(INavigationBuilder <TNavigationItem> builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } _items = builder.BuildNavigation(); Active = _items.FirstOrDefault(x => x.IsActive) ?? _items.SelectMany(x => x.Descendants).FirstOrDefault(x => x.IsActive); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "question-answer", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var reply = builder.ActionContext.HttpContext.Items[typeof(Answer)] as Answer; if (reply == null) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Question)] as Question; if (entity == null) { return; } // Options builder .Add(T["Options"], int.MaxValue, options => options .IconCss("fa fa-ellipsis-h") .Attributes(new Dictionary <string, object>() { { "data-provide", "tooltip" }, { "title", T["Options"] } }) .Add(T["Share"], int.MaxValue - 3, share => share .Action("Index", "Home", "Plato.Questions.Share", new RouteValueDictionary() { ["opts.id"] = entity.Id.ToString(), ["opts.alias"] = entity.Alias, ["opts.replyId"] = reply.Id.ToString() }) .Attributes(new Dictionary <string, object>() { { "data-provide", "dialog" }, { "data-dialog-id", "shareDialog" }, { "data-dialog-modal-css", "modal fade" }, { "data-dialog-css", "modal-dialog modal-lg" } }) .Permission(Permissions.ShareComments) .LocalNav() ), new List <string>() { "question-options", "text-muted", "dropdown-toggle-no-caret", "text-hidden" } ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "user", StringComparison.OrdinalIgnoreCase)) { return; } builder .Add(T["User"], user => user .View("UserMenu", new {}) ); }
/// <summary> /// Builds the action link. /// </summary> public static INavigationBuilder BuildActionLink(this HtmlHelper htmlHelper, string linkText, Action <INavigationBuilder> builderExpression) { INavigationBuilder builder = htmlHelper.BuildActionLink(linkText); if (builderExpression != null) { builderExpression.Invoke(builder); } return(builder); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "question-answer", StringComparison.OrdinalIgnoreCase)) { return; } // Get entity from context var entity = builder.ActionContext.HttpContext.Items[typeof(Question)] as Question; if (entity == null) { return; } // Get reply from context var reply = builder.ActionContext.HttpContext.Items[typeof(Answer)] as Answer; if (reply == null) { return; } // If the entity if flagged as spam display additional options if (reply.IsSpam) { builder .Add(T["StopForumSpam"], int.MinValue, options => options .IconCss("fal fa-hand-paper") .Attributes(new Dictionary <string, object>() { { "data-toggle", "tooltip" }, { "title", T["Spam Options"] }, { "data-provide", "dialog" }, { "data-dialog-modal-css", "modal fade" }, { "data-dialog-css", "modal-dialog modal-lg" } }) .Action("Index", "Home", "Plato.Questions.StopForumSpam", new RouteValueDictionary() { ["opts.id"] = entity.Id.ToString(), ["opts.alias"] = entity.Alias, ["opts.replyId"] = reply.Id.ToString() }) .Permission(Permissions.ViewStopForumSpam) .LocalNav() , new List <string>() { "topic-stop-forum-spam", "text-muted", "text-hidden" } ); } }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "question-answer-details", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Question)] as Question; if (entity == null) { return; } var reply = builder.ActionContext.HttpContext.Items[typeof(Answer)] as Answer; // No reply found on context if (reply == null) { return; } // Not marked as answer no need to continue if (!reply.IsAnswer) { return; } // Add reaction menu view to navigation builder .Add(T["Answer"], int.MinValue, options => options .IconCss("fa fa-check") .Attributes(new Dictionary <string, object>() { { "data-toggle", "tooltip" }, { "title", T["Accepted Answer"] } }) .Action("Reply", "Home", "Plato.Questions", new RouteValueDictionary() { ["opts.id"] = entity.Id, ["opts.alias"] = entity.Alias, ["opts.replyId"] = reply.Id }) .LocalNav() , new List <string>() { "accepted-answer" } ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "search", StringComparison.OrdinalIgnoreCase)) { return; } // Get view model from context var indexViewModel = builder.ActionContext.HttpContext.Items[typeof(EntityIndexViewModel <Entity>)] as EntityIndexViewModel <Entity>; if (indexViewModel == null) { return; } var feature = _featureFacade.GetFeatureByIdAsync("Plato.Discuss") .GetAwaiter() .GetResult(); if (feature == null) { return; } // Get metrics from context var model = builder.ActionContext.HttpContext.Items[typeof(FeatureEntityCounts)] as FeatureEntityCounts; // Current area name var areaName = "Plato.Discuss"; // Get feature metrics var metric = model?.Features?.FirstOrDefault(m => m.ModuleId.Equals(areaName, StringComparison.OrdinalIgnoreCase)); builder .Add(T["Topics"], 1, topics => topics .Badge(metric != null ? metric.Count.ToPrettyInt() : string.Empty, "badge badge-primary float-right") .Action("Index", "Home", "Plato.Search", new RouteValueDictionary() { ["opts.featureId"] = feature.Id, ["opts.search"] = indexViewModel.Options.Search }) //.Permission(Permissions.ManageRoles) .LocalNav(), indexViewModel.Options.FeatureId == feature.Id ? new string[] { "active" } : null ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "site", StringComparison.OrdinalIgnoreCase)) { return; } // We need an empty anonymous type to invoke as as ViewComponent builder .Add(T["Notifications"], int.MaxValue, notifications => notifications .View("NotificationMenu", new {}) ); }
public IPageTitleBuilder FromNavigationBuilder(INavigationBuilder builder) { _title = null; foreach (var item in builder.Build()) { _parts.Add(new PageTitlePart { Value = item.Text }); } return(this); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "user-entities", StringComparison.OrdinalIgnoreCase)) { return; } // Get metrics from context var model = builder.ActionContext.HttpContext.Items[typeof(FeatureEntityCounts)] as FeatureEntityCounts; // Current area name var areaName = "Plato.Issues"; // Get feature metrics var metric = model?.Features?.FirstOrDefault(m => m.ModuleId.Equals(areaName, StringComparison.OrdinalIgnoreCase)); // Get route values var context = builder.ActionContext; object id = context.RouteData.Values["opts.createdByUserId"], alias = context.RouteData.Values["opts.alias"]; var isArea = context.RouteData.Values["area"].ToString() .Equals(areaName, StringComparison.OrdinalIgnoreCase); var isController = context.RouteData.Values["controller"].ToString() .Equals("User", StringComparison.OrdinalIgnoreCase); var isAction = context.RouteData.Values["action"].ToString() .Equals("Index", StringComparison.OrdinalIgnoreCase); var css = ""; if (isArea && isController && isAction) { css = "active"; } builder.Add(T["Issues"], 7, articles => articles .Badge(metric != null ? metric.Count.ToPrettyInt() : string.Empty, "badge badge-primary float-right") .Action("Index", "User", "Plato.Issues", new RouteValueDictionary() { ["opts.createdByUserId"] = id?.ToString(), ["opts.alias"] = alias?.ToString() }) //.Permission(Permissions.ManageRoles) .LocalNav(), new List <string>() { css } ); }
public void BuildNavigation(string name, INavigationBuilder builder) { if (!String.Equals(name, "doc-comment", StringComparison.OrdinalIgnoreCase)) { return; } // Get model from navigation builder var entity = builder.ActionContext.HttpContext.Items[typeof(Doc)] as Doc; var reply = builder.ActionContext.HttpContext.Items[typeof(DocComment)] as DocComment; // We need an entity if (entity == null) { return; } // We need a reply if (reply == null) { return; } // No need to show reactions if entity is hidden if (entity.IsHidden()) { return; } // No need to show reactions if reply is hidden if (reply.IsHidden()) { return; } // Add reaction menu view to navigation builder .Add(T["React"], react => react .View("ReactionMenu", new { model = new ReactionMenuViewModel() { ModuleId = "Plato.Docs.Reactions", Entity = entity, Reply = reply, Permission = Permissions.ReactToDocComments } }) ); }
private void SetUpRoute(INavigationBuilder iNavigationBuilder) { iNavigationBuilder.Register<Person>("HTMLUI\\index_one.html"); iNavigationBuilder.Register<Couple>("HTMLUI\\index_couple.html"); }
private void SetUpRoute(INavigationBuilder iNavigationBuilder) { iNavigationBuilder.Register<MVVMAwesomium.ViewModel.Example.ForNavigation.Person>("HTMLUI\\index_one.html"); iNavigationBuilder.Register<MVVMAwesomium.ViewModel.Example.ForNavigation.Couple>("HTMLUI\\index_couple.html"); }
public void GetNavigation(INavigationBuilder navigationBuilder) { navigationBuilder .Add("微信管理", PermissionProvider.WeChat, builder => builder.Action("Index", "WeChat", new { area = "WeChat" }), 10) .Add("微信菜单管理", PermissionProvider.WeChatMenus, builder => builder.Action("WechatMenus", "WeChat", new { area = "WeChat" }), 11); }
private void SetUpRoute(INavigationBuilder builder) { builder.Register<A1>("javascript\\navigation_1.html"); builder.Register<AA1>("javascript\\navigation_1.html"); builder.Register<A2>("javascript\\navigation_2.html"); }
private void SetUpRoute(INavigationBuilder iNavigationBuilder) { iNavigationBuilder.Register<Nav>("HTML\\index.html"); }