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); } } }
private void InitMediaLinkDataContext() { this.MediaLinkDataContext.GetFromQueryString(); string str = string.IsNullOrEmpty(this.AnalyticsLinkAttributes[Attributes.url]) ? this.AnalyticsLinkAttributes[Attributes.id] : this.AnalyticsLinkAttributes[Attributes.url]; if (this.CurrentMode != "media") { str = string.Empty; } if (str.Length == 0) { str = "/sitecore/media library"; } else { if (!ID.IsID(str) && !str.StartsWith("/sitecore", StringComparison.InvariantCulture) && !str.StartsWith("/{11111111-1111-1111-1111-111111111111}", StringComparison.InvariantCulture)) { str = "/sitecore/media library" + str; } IDataView dataView = this.MediaLinkTreeview.GetDataView(); if (dataView == null) { return; } Item obj = dataView.GetItem(str); if (obj != null && obj.Parent != null) { this.MediaLinkDataContext.SetFolder(obj.Uri); } } this.MediaLinkDataContext.AddSelected(new DataUri(str)); this.MediaLinkDataContext.Root = "/sitecore/media library"; }
public override void HandleMessage(Message message) { Assert.ArgumentNotNull((object)message, nameof(message)); if (this.CurrentMode != "media") { base.HandleMessage(message); } else { Item obj = (Item)null; if (message.Arguments.Count > 0 && ID.IsID(message.Arguments["id"])) { IDataView dataView = this.MediaLinkTreeview.GetDataView(); if (dataView != null) { obj = dataView.GetItem(message.Arguments["id"]); } } if (obj == null) { obj = this.MediaLinkTreeview.GetSelectionItem(); } Dispatcher.Dispatch(message, obj); } }
/// <summary> /// The init media link data context. /// </summary> private void InitMediaLinkDataContext() { MediaLinkDataContext.GetFromQueryString(); string text = this.LinkAttributes["url"].IsNullOrEmpty() ? this.LinkAttributes["id"] : this.LinkAttributes["url"]; if (CurrentMode != "media") { text = string.Empty; } if (text.Length == 0) { text = "/sitecore/media library"; } else { if (!ID.IsID(text) && !text.StartsWith("/sitecore", StringComparison.InvariantCulture) && !text.StartsWith("/{11111111-1111-1111-1111-111111111111}", StringComparison.InvariantCulture)) { text = "/sitecore/media library" + text; } IDataView dataView = MediaLinkTreeview.GetDataView(); if (dataView == null) { return; } Item item = dataView.GetItem(text); if (item != null && item.Parent != null) { MediaLinkDataContext.SetFolder(item.Uri); } } MediaLinkDataContext.AddSelected(new DataUri(text)); MediaLinkDataContext.Root = "/sitecore/media library"; }
public Item[] GetSelectedItems(Language language, Sitecore.Data.Version version) { List <Item> list = new List <Item>(); IDataView dataView = this.GetDataView(); if (dataView != null) { foreach (string str in this.GetSelectedIDs()) { if (!string.IsNullOrEmpty(str) && !(str == this.ID)) { string id = ShortID.Decode(str); Item item = dataView.GetItem(id, language, version); if (item != null) { list.Add(item); } } } } return(list.ToArray()); }
/// <summary> /// Handles the message. /// </summary> /// <param name="message"> /// The message. /// </param> public override void HandleMessage(Message message) { Assert.ArgumentNotNull(message, "message"); if (CurrentMode != "media") { base.HandleMessage(message); return; } Item item = null; if (message.Arguments.Count > 0 && ID.IsID(message.Arguments["id"])) { IDataView dataView = MediaLinkTreeview.GetDataView(); if (dataView != null) { item = dataView.GetItem(message.Arguments["id"]); } } if (item == null) { item = MediaLinkTreeview.GetSelectionItem(); } Dispatcher.Dispatch(message, item); }