private void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias != "content") { return; } var nodeId = e.NodeId.ParseInto <int>(); var contentItem = ApplicationContext.Current.Services.ContentService.GetById(nodeId); if (contentItem == null || (contentItem.ContentType.Alias != "home" && contentItem.ContentType.Alias != "contentPage" && contentItem.ContentType.Alias != "productDetailsPage")) { return; } var previewMenuItem = new Umbraco.Web.Models.Trees.MenuItem("previewPageContent", "Preview") { Icon = "display", SeperatorBefore = true }; previewMenuItem.AdditionalData.Add("actionView", "/App_Plugins/PreviewContextAction/previewcontextaction.html"); previewMenuItem.AdditionalData.Add("pageId", contentItem.Id); previewMenuItem.AdditionalData.Add("websiteRootUrl", _websiteRootUrl); previewMenuItem.AdditionalData.Add("previewToken", _previewToken); e.Menu.Items.Insert(3, previewMenuItem); }
void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (Config.RunningOnCloud()) { if (sender.TreeAlias == "content" && e.NodeId != "-1" && e.NodeId != "-20") { var mi = new MenuItem("pageNotFound", "404 page - Not Licensed For Cloud"); mi.Icon = "dollar-bag"; mi.LaunchDialogView("/App_Plugins/PageNotFoundManager/Backoffice/Dialogs/cloud.html", "404 Page"); mi.SeperatorBefore = true; e.Menu.Items.Insert(e.Menu.Items.Count - 1, mi); } } else { if (sender.TreeAlias == "content" && sender.Security.CurrentUser.UserType.Alias == "admin" && e.NodeId != "-1" && e.NodeId != "-20") { var mi = new MenuItem("pageNotFound", "404 page"); mi.Icon = "document"; mi.LaunchDialogView("/App_Plugins/PageNotFoundManager/Backoffice/Dialogs/dialog.html", "404 Page"); mi.SeperatorBefore = true; e.Menu.Items.Insert(e.Menu.Items.Count - 1, mi); } } }
private void ContentTreeController_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias.InvariantEquals("content") && e.NodeId != "-1") { bool showMenuItem = sender.Security.CurrentUser.Groups.Any(x => x.Alias.InvariantEquals("admin")); if (!showMenuItem && int.TryParse(e.NodeId, out int nodeId)) { var permissions = sender.Services.UserService.GetPermissions(sender.Security.CurrentUser, nodeId); var letter = LinkedPages.PermissionLetter; if (permissions.Any(x => x.AssignedPermissions.InvariantContains(letter))) { showMenuItem = true; } } if (showMenuItem) { var linkedItemsItem = new MenuItem("linkedPages", "Linked Pages") { Icon = "link", SeperatorBefore = true }; linkedItemsItem.AdditionalData.Add("actionView", "/App_Plugins/LinkedPages/linkedDialog.html"); e.Menu.Items.Insert(e.Menu.Items.Count - 1, linkedItemsItem); } } }
void TreeControllerBase_RootNodeRendering(TreeControllerBase sender, TreeNodeRenderingEventArgs e) { if (sender.TreeAlias == Constants.Trees.LogViewer) { e.Node.CssClasses.Add("hide-section-tree"); } }
private static void AddPreviewMenuItem(TreeControllerBase sender, MenuRenderingEventArgs e) { var section = e.QueryStrings.Get("section"); var treeType = e.QueryStrings.Get("treeType"); var isDocumentType = section == "settings" && (treeType == "nodeTypes" || treeType == "mediaTypes"); if (!isDocumentType || e.NodeId == "-1") { return; } var insertAfter = e.Menu.Items.FirstOrDefault(extItem => extItem.Alias == "exportDocumentType"); //creates a menu action that will open /umbraco/currentSection/itemAlias.html var i = new MenuItem("previewModelClass", "Preview CodeGen class"); i.AdditionalData.Add("actionRoute", "settings/codegen/codegen.preview/" + e.NodeId); i.Icon = "brackets"; if (insertAfter != null) { e.Menu.Items.Insert(e.Menu.Items.IndexOf(insertAfter) + 1, i); } else { e.Menu.Items.Add(i); } }
private void TreeControllerBaseOnMenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias == "media" && sender.Security.CurrentUser.UserType.Alias == "admin" && e.NodeId != "-1" && e.NodeId != "-21") { var menuItem = new MenuItem() { Alias = "mediaExporter", Name = "Export Media", Icon = "zip", SeperatorBefore = true }; menuItem.LaunchDialogView("/App_Plugins/MediaExporter/Backoffice/Dialogs/dialog.html", "Media Exporter"); e.Menu.Items.Insert(e.Menu.Items.Count - 1, menuItem); } else if (e.NodeId == "-1") { var menuItem = new MenuItem() { Alias = "mediaExporter", Name = "Export All Media", Icon = "zip", SeperatorBefore = true }; menuItem.LaunchDialogView("/App_Plugins/MediaExporter/Backoffice/Dialogs/exportAll.html", "Media Exporter"); e.Menu.Items.Insert(e.Menu.Items.Count - 1, menuItem); } }
private void ContentTreeController_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { //If it's the content tree if (sender.TreeAlias == "content") { //If the current user is allowed in the translation section if (sender.Services.SectionService.GetAllowedSections(sender.Security.GetUserId()) .Count(s => s.Alias.InvariantEquals("translation")) > 0) { //Get old translation item and remove it var oldMenuItem = e.Menu.Items.SingleOrDefault(m => m.Alias == "sendToTranslate"); if (oldMenuItem != null) { e.Menu.Items.Remove(oldMenuItem); } //Adds 2 new items at the top of the list var sendToTranslationItem = new MenuItem("sendToNuTranslate", "Send to Translatiion"); sendToTranslationItem.LaunchDialogView("/App_Plugins/NuTranslation/views/sendforTranslation.html", "Send to Translation"); sendToTranslationItem.Icon = "flag-alt"; e.Menu.Items.Insert(0, sendToTranslationItem); var translationHistoryItem = new MenuItem("translationHistory", "Translation History"); translationHistoryItem.LaunchDialogView("/App_Plugins/NuTranslation/views/translationHistory.html", "Translation History"); translationHistoryItem.Icon = "list"; e.Menu.Items.Insert(1, translationHistoryItem); //Add separator before next menu item e.Menu.Items[2].SeperatorBefore = true; } } }
private void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias == "content") { var nodeId = e.NodeId; var contentItem = _umbracoContextAccessor.UmbracoContext.ContentCache.GetById(int.Parse(nodeId)); if (contentItem != null) { var menuItem = new Umbraco.Web.Models.Trees.MenuItem("autoTranslate", "Auto Translate.."); menuItem.Icon = "globe-inverted-europe-africa"; menuItem.SeparatorBefore = true; menuItem.AdditionalData.Add("actionView", "/App_Plugins/AutoTranslate/autotranslate.content.html"); var menuPosition = e.Menu.Items.Count - 1; e.Menu.Items.Insert(menuPosition, menuItem); } } else if (sender.TreeAlias == "dictionary") { var menuItem = new Umbraco.Web.Models.Trees.MenuItem("autoTranslate", "Auto Translate.."); menuItem.Icon = "globe-inverted-europe-africa"; menuItem.SeparatorBefore = true; menuItem.AdditionalData.Add("actionView", "/App_Plugins/AutoTranslate/autotranslate.dictionary.html"); var menuPosition = e.Menu.Items.Count - 1; e.Menu.Items.Insert(menuPosition, menuItem); } }
private void ContentTreeController_TreeNodesRendering(TreeControllerBase sender, TreeNodesRenderingEventArgs e) { if (e.QueryStrings.Contains(new System.Collections.Generic.KeyValuePair <string, string>("application", "content")) && e.QueryStrings["isDialog"].Equals("false") && string.IsNullOrWhiteSpace(e.QueryStrings["id"]) == false && e.QueryStrings["id"] != "-1") { var content = sender.Services.ContentService.GetById(int.Parse(e.QueryStrings["id"])); for (var i = e.Nodes.Count - 1; i > -1; i--) { var treeNode = e.Nodes[i]; if (treeNode.AdditionalData.ContainsKey("contentType")) { if (content.IsInListView(treeNode.AdditionalData["contentType"].ToString())) { e.Nodes.RemoveAt(i); continue; } if (treeNode.HasChildren) { var node = sender.Services.ContentService.GetById(int.Parse(treeNode.Id.ToString())); treeNode.HasChildren = node.TreeChildren().Any(); } } } } }
private void ContentTreeController_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { var textService = DependencyResolver.Current.GetService <ILocalizedTextService>(); var userService = DependencyResolver.Current.GetService <IUserService>(); var umbracoContext = DependencyResolver.Current.GetService <UmbracoContext>(); if (int.TryParse(e.NodeId, out int nodeId)) { switch (sender.TreeAlias) { case Constants.Trees.Media: if (nodeId != 0 && nodeId != Constants.System.RecycleBinMedia && nodeId != Constants.System.Root) { var deleteIndex = e.Menu.Items.FindIndex(x => x.Alias == "delete"); var i = new MenuItem { Alias = "convertNode", Name = textService?.Localize("mediaCopy/copy"), Icon = "documents" }; i.LaunchDialogView("/App_Plugins/MediaCopy/backoffice/mediaCopy/mediaCopy.html", textService?.Localize("mediaCopy/copy")); if (HasTreePermission(userService, umbracoContext, nodeId, ActionCopy.Instance.Letter.ToString())) { e.Menu.Items.Insert(deleteIndex, i); } } break; } } }
private void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { var treeAlias = sender.TreeAlias; var dialogViewPath = "/App_Plugins/Skybrud.Umbraco.ContextMenu.Media/Views/downloadMediaFolder.html"; var title = "Download Media Folder"; if (treeAlias.ToLower() == "media") { var nodeId = 0; int.TryParse(e.NodeId, out nodeId); var media = sender.Services.MediaService.GetById(nodeId); if (media != null && !media.Trashed) { if (media.ContentType.Alias.ToLower() == "folder") { var downloadItem = new MenuItem(); downloadItem.Alias = "downloadMediaFolder"; downloadItem.Icon = "page-down"; downloadItem.Name = "Download folder"; //TODO: translate with localization downloadItem.SeperatorBefore = true; downloadItem.LaunchDialogView(dialogViewPath, title); //e.Menu.Items.Add(downloadItem); e.Menu.Items.Insert(e.Menu.Items.Count - 1, downloadItem); //place just before "Reload nodes" } } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TreeControllerBase_TreeNodesRendering(TreeControllerBase sender, TreeNodesRenderingEventArgs e) { if (!(sender.TreeAlias == Umbraco.Core.Constants.Applications.Content)) { return; } var settings = _settingsService.GetActiveSettings(); foreach (TreeNode treeNode in e.Nodes) { int id = Convert.ToInt32(treeNode.Id); IPublishedContent node = null; if (id > 0) { node = sender.UmbracoContext.Content.GetById(id); } if (node != null) { AddClassesToNode(treeNode, node, settings); } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void TreeControllerBase_TreeNodesRendering(TreeControllerBase sender, TreeNodesRenderingEventArgs e) { return; //Get Current User var currentUser = User.GetCurrent(); //This will only run on the ultimatree & if the user is NOT admin if (sender.TreeAlias.ToLower() == "ultimatree" && !currentUser.IsAdmin()) { //setting node to remove var settingNode = e.Nodes.SingleOrDefault(x => x.Id.ToString() == "settings"); //Ensure we found the node if (settingNode != null) { //Remove the settings node from the collection e.Nodes.Remove(settingNode); } } //This will only run on the ultimatree if (sender.TreeAlias.ToLower() == "ultimatree") { } }
void ContentTreeController_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias != Constants.Applications.Content) { return; } var node = new Node(e.NodeId.ParseInto <int>()); var i = new Umbraco.Web.Models.Trees.MenuItem("notifyApp", "Push Notification to App"); i.AdditionalData.Add("actionView", "/App_Plugins/Notifications/nofication.html"); i.AdditionalData.Add("nodeId", e.NodeId); i.AdditionalData.Add("isMap", node.NodeTypeAlias == "map"); i.SeperatorBefore = true; //i.AdditionalData switch (node.NodeTypeAlias) { case "timeline": i.Icon = "globe-inverted-europe-africa"; break; case "map": i.Icon = "globe-europe---africa"; break; } if (node.NodeTypeAlias == "timeline" || node.NodeTypeAlias == "map") { e.Menu.Items.Insert(0, i); } }
// A context menu is rendering. void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { // Variables. var path = "/App_Plugins/UserGroupPermissions/Views/SetUserGroupPermissions.html"; var title = "User Group Permissions"; // Initial check (in content tree and on a node). IUser currentUser = sender.Security.CurrentUser; var showMenuItem = sender.TreeAlias == "content"; var strNodeId = e.NodeId; var nodeId = default(int); if (showMenuItem && int.TryParse(strNodeId, out nodeId)) { showMenuItem = nodeId >= 0; } else { showMenuItem = false; } // Check permissions for non-admin users. if (showMenuItem && !currentUser.IsAdmin()) { showMenuItem = false; var userService = ApplicationContext.Current.Services.UserService; var permissions = userService.GetPermissions(currentUser, nodeId); var letter = MenuActions.UserGroupPermissions.Instance.Letter.ToString(); if (permissions.Any(x => x.AssignedPermissions.InvariantContains(letter))) { showMenuItem = true; } } // Add a custom menu item in the content tree. if (showMenuItem) { var menuItem = new MenuItem("UserGroupPermissions", "User Group Permissions") { Icon = "vcard" }; menuItem.LaunchDialogView(path, title); var permissionsIndex = e.Menu.Items.FindIndex(x => "Permissions".InvariantEquals(x.Name) || "Permissions".InvariantEquals(x.Alias)); // Attempt to insert after the existing "Permissions" menu item. if (permissionsIndex >= 0) { e.Menu.Items.Insert(permissionsIndex + 1, menuItem); } else { e.Menu.Items.Add(menuItem); } } }
public static void ContentTreeController_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias == "content") { CloudPurgeMenuItem.LaunchDialogView("/App_Plugins/CloudPurge/action.html", LocalizedTextService.Localize("cloudpurge/action")); e.Menu.Items.Add(CloudPurgeMenuItem); } }
/// <summary> /// Here we can manipulate nodes of other trees /// </summary> void TreeControllerBase_TreeNodesRendering(TreeControllerBase sender, TreeNodesRenderingEventArgs e) { //TODO: Generate A/B testing related context menu items for the Cotnent nodes //ex below deletes some nodes //if (sender.TreeAlias == "content") //{ // e.Nodes.RemoveAll(t => t.Name.EndsWith("[VARIATION]")); //} }
/// <summary> /// Add a 'Permissions' menu item to each form under the 'Forms' node /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="MenuRenderingEventArgs"/> instance containing the event data.</param> void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias == "form" && e.NodeId != "-1") { var m = new MenuItem("form-permissions", "Permissions"); m.Icon = umbraco.BusinessLogic.Actions.ActionRights.Instance.Icon; m.LaunchDialogUrl(VirtualPathUtility.ToAbsolute("~/") + GlobalSettings.UmbracoMvcArea + "/backoffice/FormPermissions/" + e.NodeId, "Form permissions"); e.Menu.Items.Add(m); } }
private void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { int nodeId; if (!int.TryParse(e.NodeId, out nodeId)) { return; } var selectedMedia = ApplicationContext.Current.Services.MediaService.GetById(nodeId); var mediaType = selectedMedia != null ? selectedMedia.ContentType.Alias : string.Empty; if (sender.TreeAlias == "media" && (mediaType.Equals("Folder") || nodeId == Constants.System.Root)) { var umbracoHelper = new Umbraco.Web.UmbracoHelper(Umbraco.Web.UmbracoContext.Current); var menuItemTitle = umbracoHelper.GetDictionaryValue("ZippyMedia.Labels.UploadZipFile"); if (string.IsNullOrWhiteSpace(menuItemTitle)) { menuItemTitle = "Upload and Unpack ZIP"; } var menuItem = new MenuItem("uploadZipFile", menuItemTitle) { Icon = "compress", SeperatorBefore = true }; menuItem.LaunchDialogView("/App_Plugins/zippyMedia/Views/Upload-Zip.html", menuItemTitle); e.Menu.Items.Add(menuItem); } //Upload from server AKA ftp upload comming soon //if (sender.TreeAlias == "media" && mediaType.Equals("Folder") && sender.Security.CurrentUser.UserType.Alias.Equals("admin")) //{ // var menuItem = new MenuItem("unpackZipFileFromServer", "Unpack ZIP from server"); // menuItem.Icon = "server"; // menuItem.SeperatorBefore = false; // menuItem.LaunchDialogView("/App_Plugins/zippyMedia/Views/Unpack-Zip.html", "Unpack ZIP archive from server"); // e.Menu.Items.Add(menuItem); //} //if (sender.TreeAlias == "media" && Convert.ToInt32(e.NodeId) == Constants.System.Root && sender.Security.CurrentUser.UserType.Alias.Equals("admin")) //{ // var menuItem = new MenuItem("unpackZipFileFromServer", "Unpack ZIP from server"); // menuItem.Icon = "server"; // menuItem.SeperatorBefore = false; // menuItem.LaunchDialogView("/App_Plugins/zippyMedia/Views/Unpack-Zip.html", "Unpack ZIP archive from server"); // e.Menu.Items.Add(menuItem); //} }
public void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { //if (sender.TreeAlias == "content") //{ //var i = new MenuItem("editCanvas", "Edit in Canvas"); //i.Icon = "edit"; //i.LaunchDialogUrl("/umbraco/canvas?pageId=" + e.NodeId,"Edit in Canvas"); //e.Menu.Items.Insert(3,i); //} }
/// <summary> /// Handles rendering of the context menu. /// </summary> private void Handle_RenderContextMenu(TreeControllerBase sender, MenuRenderingEventArgs e) { // Variables. var alias = sender.TreeAlias; var items = e.Menu.Items; var nodeId = e.NodeId; var guid = default(Guid); // Is this a Formulate context menu? if (!"formulate".InvariantEquals(alias)) { return; } // Is this a GUID (the root has "-1")? if (Guid.TryParse(nodeId, out guid)) { // Variables. var persistence = EntityPersistence.Current.Manager; var entity = persistence.Retrieve(guid); // Is this a non-root entity (e.g., a form, validation, folder, etc.)? if (entity != null && entity.GetType() != typeof(EntityRoot)) { // Add the "Store to Umbraco Cloud" menu item. var path = "/App_Plugins/formulate/menu-actions/storeEntityToCloud.html"; var menuItem = new MenuItem() { Alias = "storeEntityToCloud", Icon = "cloud-upload", Name = "Store to Umbraco Cloud", SeperatorBefore = true }; menuItem.LaunchDialogView(path, "Store to Umbraco Cloud"); items.Add(menuItem); // Add the "Remove from Cloud" menu item. path = "/App_Plugins/formulate/menu-actions/removeEntityFromCloud.html"; menuItem = new MenuItem() { Alias = "removeEntityFromCloud", Icon = "rain", Name = "Remove from Cloud" }; menuItem.LaunchDialogView(path, "Remove from Umbraco Cloud"); items.Add(menuItem); } } }
/// <summary> /// Rules visualisation in umbraco backoffice /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TreeControllerBase_TreeNodesRendering(TreeControllerBase sender, TreeNodesRenderingEventArgs e) { if (KeepOutRulesFolderId == 0) { return; } if (!VisualiseRules) { return; } if (sender.TreeAlias != "content") { return; } using (var context = _factory.EnsureUmbracoContext()) { foreach (var node in e.Nodes) { var intCurrentNodeId = int.Parse(node.Id.ToString()); var page = context.UmbracoContext.Content.GetById(intCurrentNodeId); if (page == null) { continue; } // if the current node is secured by a rule (or is the rule itself), colour the node var isRule = page.ContentType.Alias == "keepOutSecurityRule"; var path = page.Path.Split(',').ToList(); var hasRule = RulesPages.Intersect(path).ToList(); if (!hasRule.Any() && !isRule) { continue; } node.CssClasses.Add("keepout"); if (isRule) { // node is the rule itself var ruleColour = page.GetProperty("coverageColour").GetValue() as ColorPickerValueConverter.PickedColor; node.CssClasses.Add($"keepout-{ruleColour.Label}"); node.CssClasses.Add("keepoutrule"); } else { // node is content that is covered by a rule var ruleNdx = RulesPages.IndexOf(hasRule.Last()); // if multiple rules overlap, last wins var activeRule = Rules[ruleNdx]; node.CssClasses.Add(activeRule.CoverageColour); } } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void TreeControllerBase_TreeNodesRendering(TreeControllerBase sender, TreeNodesRenderingEventArgs e) { //Get Current User var currentUser = User.GetCurrent(); //This will only run on the analyticsTree & if the user is NOT admin if (sender.TreeAlias == "analyticsTree" && !currentUser.IsAdmin()) { //setting node to remove var settingNode = e.Nodes.SingleOrDefault(x => x.Id.ToString() == "settings"); //Ensure we found the node if (settingNode != null) { //Remove the settings node from the collection e.Nodes.Remove(settingNode); } } //This will only run on the analyticsTree if (sender.TreeAlias == "analyticsTree") { AnalyticsApiController gaApi = new AnalyticsApiController(); Profile profile = AnalyticsHelpers.GetProfile(); if (profile != null) { var ecommerceNode = e.Nodes.SingleOrDefault(x => x.Id.ToString() == "ecommerce"); if (ecommerceNode != null) { try { // check if profile has any ecommerce data for last 3 years StatsApiResult transactions = gaApi.GetTransactions(profile.Id, DateTime.Now.AddYears(-3), DateTime.Now); if (!transactions.ApiResult.Rows.Any()) { //Remove the ecommerce node from the collection //If no Rows returned from API - then remove the node from the tree e.Nodes.Remove(ecommerceNode); } } catch { //Remove the ecommerce node from the collection //If the API throws an ex then remove the node from the tree as well e.Nodes.Remove(ecommerceNode); } } } } }
private void ContentTreeController_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias == "content") { var publishItem = new MenuItem("queue", "Send to Publication Queue"); publishItem.Icon = "indent"; publishItem.SeperatorBefore = true; publishItem.AdditionalData.Add("actionView", "/App_Plugins/PublishQueue/sendtoqueue.html?id={id}"); e.Menu.Items.Insert(e.Menu.Items.Count - 1, publishItem); } }
private void OnMenuRendeing(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias == "content") { var culture = CultureInfo.CurrentCulture; var label = sender.Services.TextService.Localize("menu2", culture); e.Menu.Items.Add <CustomMenuItem, CustomAction>("Custom"); var menuItem = new MenuItem("menu2", label); menuItem.NavigateToRoute("orders/ordersTree/create"); e.Menu.Items.Add(menuItem); } }
private void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { var path = "/App_Plugins/UploadContent/UploadContent.html"; var title = "Upload Content to Remote Server"; var menu = new MenuItem(); menu.Icon = "wine-glass"; menu.SeperatorBefore = true; menu.LaunchDialogView(path, title); e.Menu.Items.Add(menu); }
private void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { var tree = sender.TreeAlias; if (sender.TreeAlias == "documentTypes") { //update create option to use the Super Create view var existingCreateOption = e.Menu.Items.Where(f => f.Alias == "create").FirstOrDefault(); if (existingCreateOption != null) { existingCreateOption.AdditionalData["actionView"] = "/App_Plugins/Moriyama.SuperDocTypeCreate/create.html"; } } }
private void FilterTreeNodes(TreeControllerBase sender, TreeNodesRenderingEventArgs e) { if (!Features.HideCodeFirstEntityTypesInTrees) { return; } string alias; try { alias = sender.TreeAlias == null?e.QueryStrings.Single(x => x.Key.InvariantEquals("treeType")).Value : sender.TreeAlias; } catch (Exception ex) { throw new CodeFirstException("No valid legacy or new-style tree alias found for a rendering tree.", ex); } if (!Modules.IsFrozen) { throw new CodeFirstException("The module resolver is not frozen. Cannot filter tree nodes."); } lock (_treeFilterLock) { if (!_treeFilters.ContainsKey(alias)) { var list = new List <IEntityTreeFilter>(); _treeFilters.Add(alias, list); foreach (var module in Modules) { if (module is IEntityTreeFilter && (module as IEntityTreeFilter).IsFilter(alias)) { list.Add(module as IEntityTreeFilter); } } } } bool changesMade = false; foreach (var module in _treeFilters[alias]) { module.Filter(e.Nodes, out changesMade); } if (changesMade) { //TODO show toast somehow? - functionality due in 7.3.0 - http://issues.umbraco.org/issue/U4-5927 } }
void TreeControllerBase_MenuRendering(TreeControllerBase sender, MenuRenderingEventArgs e) { if (sender.TreeAlias == "content") { var url = "preview/?id=" + e.NodeId; var m = new MenuItem() { Name = "Preview", Icon = "eye", SeperatorBefore = true, }; m.ExecuteLegacyJs("top.window.open(' " + url + "', 'preview');"); e.Menu.Items.Insert(2, m); } }
/// <summary> /// Extend dropdownMenu with Tinify and Stats buttons /// </summary> /// <param name="sender">TreeControllerBase</param> /// <param name="e">EventArgs</param> private void MenuRenderingHandler(TreeControllerBase sender, MenuRenderingEventArgs e) { if (string.Equals(sender.TreeAlias, PackageConstants.MediaAlias, StringComparison.OrdinalIgnoreCase)) { var menuItemTinifyButton = new MenuItem(PackageConstants.TinifierButton, PackageConstants.TinifierButtonCaption); menuItemTinifyButton.LaunchDialogView(PackageConstants.TinyTImageRoute, PackageConstants.SectionName); menuItemTinifyButton.Icon = PackageConstants.MenuIcon; e.Menu.Items.Add(menuItemTinifyButton); var menuItemSettingsButton = new MenuItem(PackageConstants.StatsButton, PackageConstants.StatsButtonCaption); menuItemSettingsButton.LaunchDialogView(PackageConstants.TinySettingsRoute, PackageConstants.StatsDialogCaption); menuItemSettingsButton.Icon = PackageConstants.MenuSettingsIcon; e.Menu.Items.Add(menuItemSettingsButton); } }