protected virtual void GetContextMenu(string where) { Assert.ArgumentNotNullOrEmpty(where, "where"); IDataView dataView = this.GetDataView(); if (dataView != null) { string source = Sitecore.Context.ClientPage.ClientRequest.Source; string control = Sitecore.Context.ClientPage.ClientRequest.Control; int num = source.LastIndexOf("_"); Assert.IsTrue(num >= 0, "Invalid source ID"); string id = ShortID.Decode(StringUtil.Mid(source, num + 1)); Item item = dataView.GetItem(id); if (item != null) { SheerResponse.DisableOutput(); Sitecore.Shell.Framework.ContextMenu menu = new Sitecore.Shell.Framework.ContextMenu(); CommandContext context = new CommandContext(item); Sitecore.Web.UI.HtmlControls.Menu contextMenu = menu.Build(context); contextMenu.AddDivider(); contextMenu.Add("__Refresh", "Refresh", "Applications/16x16/refresh.png", string.Empty, string.Concat(new object[] { "javascript:Sitecore.Treeview.refresh(\"", source, "\",\"", control, "\",\"", item.ID.ToShortID(), "\")" }), false, string.Empty, MenuItemType.Normal); SheerResponse.EnableOutput(); SheerResponse.ShowContextMenu(control, where, contextMenu); } } }
protected void Gutter_ContextMenu() { var contextMenu = new Sitecore.Web.UI.HtmlControls.Menu(); SheerResponse.DisableOutput(); Item item = Context.Database.GetItem(Sitecore.ItemBucket.Kernel.Util.Constants.ContentEditorGutterFolder); Assert.IsNotNull(item, typeof(Item), "Item \"/sitecore/content/Applications/Content Editor/Gutters\" not found", new object[0]); List<ID> activeRendererIDs = GutterManager.GetActiveRendererIDs(); foreach (Item item2 in item.Children) { contextMenu.Add("M" + item2.ID.ToShortID(), item2["Header"], item2.Appearance.Icon, string.Empty, "SetGutterRenderer(\"" + item2.ID + "\")", activeRendererIDs.Contains(item2.ID), string.Empty, MenuItemType.Check); } contextMenu.AddDivider(); contextMenu.Add("__Refresh", "Refresh", "Applications/16x16/refresh.png", string.Empty, "Gutter_Refresh", false, string.Empty, MenuItemType.Normal); SheerResponse.EnableOutput(); SheerResponse.ShowContextMenu(Context.ClientPage.ClientRequest.Control, string.Empty, contextMenu); }
protected void FieldMenu_DropDown(string id) { Assert.ArgumentNotNullOrEmpty(id, "id"); Item fieldMenu = this.GetFieldMenu(id); if (fieldMenu != null) { SheerResponse.DisableOutput(); var menu2 = new Sitecore.Web.UI.HtmlControls.Menu { ID = "M" }; var control = menu2; CommandContext commandContext = new CommandContext(this.ContentEditorDataContext.GetFolder()); control.AddFromDataSource(fieldMenu, id, commandContext); SheerResponse.EnableOutput(); SheerResponse.ShowPopup(id + "_menu", "below", control); } }
protected void Validator_ContextMenu(string markerId) { Assert.ArgumentNotNull(markerId, "markerId"); Assert.IsTrue(UserOptions.ContentEditor.ShowValidatorBar, "Validator bar is switched off in Content Editor."); var byMarkerID = ValidatorManager.GetValidators(ValidatorsMode.ValidatorBar, this.ValidatorsKey).GetByMarkerID(markerId); if (byMarkerID != null) { SheerResponse.DisableOutput(); var contextMenu = new Sitecore.Web.UI.HtmlControls.Menu(); if (byMarkerID.HasMenu) { Assert.IsNotNull(Context.ContentDatabase, "Content database not found."); Assert.IsNotNull(byMarkerID.ValidatorID, "Validator ID is null."); Item item = Context.ContentDatabase.GetItem(byMarkerID.ValidatorID); if (item != null) { contextMenu.AddFromDataSource(item, byMarkerID.MarkerID); contextMenu.AddDivider(); } } contextMenu.Add("Suppress Validation Rule", string.Empty, string.Format("Validator_SuppressValidator(\"{0}\")", markerId)); SheerResponse.EnableOutput(); SheerResponse.ShowContextMenu(Context.ClientPage.ClientRequest.Control, string.Empty, contextMenu); } }
protected void TreeSearchOptionName_Click() { string control = Context.ClientPage.ClientRequest.Control; string str2 = StringUtil.Mid(control, 20); SheerResponse.DisableOutput(); var menu = new Sitecore.Web.UI.HtmlControls.Menu(); Hashtable fieldInfo = this.FieldInfo; bool flag = false; SortedList list = new SortedList(StringComparer.Ordinal); foreach (FieldInfo info in fieldInfo.Values) { Item item = Client.ContentDatabase.GetItem(info.FieldID); if (item != null) { if (!list.ContainsKey(item.Name)) { list.Add(item.Name, item.Key); } flag = true; } } if (flag) { foreach (string str3 in list.Keys) { menu.Add("F" + list[str3], str3, string.Empty, string.Empty, "javascript:scContent.changeSearchCriteria(\"" + str2 + "\",\"" + str3 + "\")", false, string.Empty, MenuItemType.Normal); } menu.AddDivider(); } menu.Add("Remove", "Remove", string.Empty, string.Empty, "javascript:scContent.removeSearchCriteria(\"" + str2 + "\")", false, string.Empty, MenuItemType.Normal); SheerResponse.EnableOutput(); SheerResponse.ShowPopup(control, "below", menu); }
protected void SystemMenu_Click() { var contextMenu = new Sitecore.Web.UI.HtmlControls.Menu(); SheerResponse.DisableOutput(); Item item = Client.CoreDatabase.GetItem(Sitecore.ItemBucket.Kernel.Util.Constants.ContentEditorSystemMenu); if (item != null) { contextMenu.AddFromDataSource(item, string.Empty); SheerResponse.EnableOutput(); SheerResponse.ShowContextMenu("SystemMenu", "below", contextMenu); } }
protected void SwitchMenu_Click() { var parent = new Sitecore.Web.UI.HtmlControls.Menu(); Item item = Client.CoreDatabase.GetItem(Sitecore.ItemBucket.Kernel.Util.Constants.CoreApplicationsFolder); Assert.IsNotNull(item, "Item \"/sitecore/content/Applications/Content Editor/Applications\" not found"); ChildList children = item.Children; for (int i = 0; i < children.Count; i++) { Item item2 = children[i]; UrlString url = GetUrl(item2); url.Add("pa", i.ToString()); url.Add("pa0", WebUtil.GetQueryString("pa0")); url.Add("pa1", WebUtil.GetQueryString("pa1")); var control = new Sitecore.Web.UI.HtmlControls.MenuItem(); Context.ClientPage.AddControl(parent, control); control.Header = item2["Header"]; control.Icon = item2.Appearance.Icon; control.Click = "SwitchTo(\"" + url + "\")"; } SheerResponse.ShowPopup("SwitchMenu", "below-right", parent); }
protected void ShowTabContextMenu() { var contextMenu = new Sitecore.Web.UI.HtmlControls.Menu(); Database database = Factory.GetDatabase("master", false); Assert.IsNotNull(database, typeof(Database)); Item item = database.GetItem("{DB14B596-67DD-4C93-BE7C-2BDBADEB64C2}"); //Tab Options Assert.IsNotNull(item, typeof(Ribbon)); ListString str = new ListString(UserOptions.ContentEditor.VisibleStrips); SheerResponse.DisableOutput(); foreach (Item item2 in item.Children) { Item strip = item2; contextMenu.Add("S" + strip.ID.ToShortID(), strip.Name, string.Empty, string.Empty, "CloseTabs(\"" + strip.ID + "\")", false, string.Empty, MenuItemType.Check); } contextMenu.AddDivider(); contextMenu.Add("__Refresh", "Refresh", string.Empty, string.Empty, "RefreshItem", false, string.Empty, MenuItemType.Normal); SheerResponse.EnableOutput(); SheerResponse.ShowContextMenu(Context.ClientPage.ClientRequest.Control, "contextmenu", contextMenu); }
protected void ShowRibbonContextMenu() { var contextMenu = new Sitecore.Web.UI.HtmlControls.Menu(); Database database = Factory.GetDatabase("core", false); Assert.IsNotNull(database, typeof(Database)); Item item = database.GetItem(ItemIDs.DefaultRibbon); Assert.IsNotNull(item, typeof(Ribbon)); ListString str = new ListString(UserOptions.ContentEditor.VisibleStrips); SheerResponse.DisableOutput(); foreach (Item item2 in item.Children) { Item strip = item2; if (strip.TemplateID == TemplateIDs.Reference) { strip = strip.Database.Items[strip["Reference"]]; } if (this.CanBeShown(strip)) { bool check = strip["Hidden by default"] != "1"; if (str.Count > 0) { check = str.Contains(strip.ID.ToString()); } contextMenu.Add("S" + strip.ID.ToShortID(), strip["Header"], string.Empty, string.Empty, "ToggleRibbonStrip(\"" + strip.ID + "\")", check, string.Empty, MenuItemType.Check); } } contextMenu.AddDivider(); contextMenu.Add("__Reset", "Reset", string.Empty, string.Empty, "ResetRibbonStrips", false, string.Empty, MenuItemType.Normal); CommandState hidden = CommandState.Hidden; Command command = CommandManager.GetCommand("ribbon:customize"); if (command != null) { hidden = CommandManager.QueryState(command, CommandContext.Empty); } if ((hidden == CommandState.Enabled) || (hidden == CommandState.Down)) { contextMenu.Add("__Customize", "Customize", string.Empty, string.Empty, "ribbon:customize", false, string.Empty, MenuItemType.Normal); } SheerResponse.EnableOutput(); SheerResponse.ShowContextMenu(Context.ClientPage.ClientRequest.Control, "contextmenu", contextMenu); }
/// <summary> /// This Method is used to display recent Publish from Sitecore Taskbar (Earch Icon besides Database Changing button) /// </summary> protected void ShowPublishDetails() { Sitecore.Web.UI.HtmlControls.Menu menu = new Sitecore.Web.UI.HtmlControls.Menu(); string name = Client.ContentDatabase.Name; SheerResponse.DisableOutput(); try { if (Client.ContentDatabase.ProxiesEnabled) { Sitecore.Web.UI.HtmlControls.MenuItem menuItem = new Sitecore.Web.UI.HtmlControls.MenuItem(); menu.Controls.Add(menuItem); if (Context.ProxiesActive) { menuItem.Header = Translate.Text("Deactivate Proxies"); menuItem.Icon = "Core/16x16/export_d.png"; menuItem.Click = "DeactivateProxies()"; } else { menuItem.Header = Translate.Text("Activate Proxies"); menuItem.Icon = "Core/16x16/export.png"; menuItem.Click = "ActivateProxies()"; } menu.Controls.Add(new MenuDivider()); } Sitecore.Web.UI.HtmlControls.MenuItem menuItem2 = new Sitecore.Web.UI.HtmlControls.MenuItem(); menu.Controls.Add(menuItem2); menuItem2.Header = Translate.Text("View Publish History Details"); menuItem2.Click = "ShowDesktopPublishDialog()"; menuItem2.Icon = "Network/16x16/environment.png"; menu.Controls.Add(new MenuDivider()); #region Kept for future Updates //Sitecore.Web.UI.HtmlControls.MenuItem menuItem4 = new Sitecore.Web.UI.HtmlControls.MenuItem(); //menu.Controls.Add(menuItem4); //menuItem4.Header = Translate.Text("Publish Dialog"); //menuItem4.Click = "ShowPublishDialog()"; //menuItem4.Icon = "Network/16x16/environment.png"; //menu.Controls.Add(new MenuDivider()); #endregion string logPath = Sitecore.Configuration.Settings.DataFolder + "/logs/PublishHistory.txt"; int skip = 0; int recentPublishEntries = int.Parse(Settings.GetSetting("RecentPublish")); for (int publishJobNumber = 0; publishJobNumber < recentPublishEntries; publishJobNumber++) { try { string[] lines = File.ReadLines(logPath).Reverse().Skip(skip).Take(4).ToArray(); if (!(lines == null || lines.Length == 0)) { Sitecore.Web.UI.HtmlControls.MenuItem PublishHandle = new Sitecore.Web.UI.HtmlControls.MenuItem(); menu.Controls.Add(PublishHandle); PublishHandle.Header = "Publish Handle : " + lines[3]; PublishHandle.Icon = "apps/16x16/earth.png"; Sitecore.Web.UI.HtmlControls.MenuItem PublishTarget = new Sitecore.Web.UI.HtmlControls.MenuItem(); menu.Controls.Add(PublishTarget); PublishTarget.Header = "Publish Target : " + lines[2]; Sitecore.Web.UI.HtmlControls.MenuItem PublishOwner = new Sitecore.Web.UI.HtmlControls.MenuItem(); menu.Controls.Add(PublishOwner); PublishOwner.Header = "Owner : " + lines[1]; Sitecore.Web.UI.HtmlControls.MenuItem PublishTime = new Sitecore.Web.UI.HtmlControls.MenuItem(); menu.Controls.Add(PublishTime); PublishTime.Header = "Date and Time : " + lines[0]; menu.Controls.Add(new MenuDivider()); } } catch (Exception ex) { Log.Error("Publish History : Sitecore Desktop Error : " + ex.Message, Context.Item); Log.Error("Publish History : Sitecore Desktop Error : " + ex.StackTrace, Context.Item); Sitecore.Web.UI.HtmlControls.MenuItem PublishDetails = new Sitecore.Web.UI.HtmlControls.MenuItem(); menu.Controls.Add(PublishDetails); PublishDetails.Header = "Publish log might be empty or has been deleted"; PublishDetails.Icon = "Network/16x16/environment_delete.png"; break; } finally { skip = skip + 4; } } } catch(Exception ex) { Log.Error("Publish History : Sitecore Desktop Error : " + ex.Message, Context.Item); Log.Error("Publish History : Sitecore Desktop Error : " + ex.StackTrace, Context.Item); } finally { SheerResponse.EnableOutput(); } SheerResponse.ShowContextMenu("DatabaseSelector", "above", menu); }
protected void SystemMenu_Click() { Sitecore.Web.UI.HtmlControls.Menu contextMenu = new Sitecore.Web.UI.HtmlControls.Menu(); SheerResponse.DisableOutput(); Item item = Client.CoreDatabase.GetItem("/sitecore/content/Applications/Content Editor/Menues/System"); if (item != null) { contextMenu.AddFromDataSource(item, string.Empty); SheerResponse.EnableOutput(); SheerResponse.ShowContextMenu("SystemMenu", "below", contextMenu); } }