protected override void RenderHeader(HtmlTextWriter writer) { writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "2"); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); TitleStyle headerStyle = base.HeaderStyle; if (!headerStyle.IsEmpty) { Style style2 = new Style(); if (!headerStyle.ForeColor.IsEmpty) { style2.ForeColor = headerStyle.ForeColor; } style2.Font.CopyFrom(headerStyle.Font); if (!headerStyle.Font.Size.IsEmpty) { style2.Font.Size = new FontUnit(new Unit(100.0, UnitType.Percentage)); } if (!style2.IsEmpty) { style2.AddAttributesToRender(writer, this); } } writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); HorizontalAlign horizontalAlign = headerStyle.HorizontalAlign; if (horizontalAlign != HorizontalAlign.NotSet) { TypeConverter converter = TypeDescriptor.GetConverter(typeof(HorizontalAlign)); writer.AddAttribute(HtmlTextWriterAttribute.Align, converter.ConvertToString(horizontalAlign)); } writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(this.HeaderText); writer.RenderEndTag(); WebPartVerb headerCloseVerb = this.HeaderCloseVerb; if (headerCloseVerb.Visible) { writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); writer.RenderBeginTag(HtmlTextWriterTag.Td); ZoneLinkButton button = new ZoneLinkButton(this, headerCloseVerb.EventArgument) { Text = headerCloseVerb.Text, ImageUrl = headerCloseVerb.ImageUrl, ToolTip = headerCloseVerb.Description, Enabled = headerCloseVerb.Enabled, Page = this.Page }; button.ApplyStyle(this.HeaderVerbStyle); button.RenderControl(writer); writer.RenderEndTag(); } writer.RenderEndTag(); writer.RenderEndTag(); }
protected virtual void RenderVerb(HtmlTextWriter writer, WebPartVerb verb) { WebControl control; string eventArgument = verb.EventArgument; if (this.VerbButtonType == ButtonType.Button) { ZoneButton button = new ZoneButton(this, eventArgument) { Text = verb.Text }; control = button; } else { ZoneLinkButton button2 = new ZoneLinkButton(this, eventArgument) { Text = verb.Text }; if (this.VerbButtonType == ButtonType.Image) { button2.ImageUrl = verb.ImageUrl; } control = button2; } control.ApplyStyle(base.VerbStyle); control.ToolTip = verb.Description; control.Enabled = verb.Enabled; control.Page = this.Page; control.RenderControl(writer); }
protected virtual void RenderVerb(HtmlTextWriter writer, WebPartVerb verb) { string eventArgument = verb.EventArgument; WebControl verbControl; if (VerbButtonType == ButtonType.Button) { ZoneButton button = new ZoneButton(this, eventArgument); button.Text = verb.Text; verbControl = button; } else { ZoneLinkButton linkButton = new ZoneLinkButton(this, eventArgument); linkButton.Text = verb.Text; if (VerbButtonType == ButtonType.Image) { linkButton.ImageUrl = verb.ImageUrl; } verbControl = linkButton; } verbControl.ApplyStyle(VerbStyle); verbControl.ToolTip = verb.Description; verbControl.Enabled = verb.Enabled; verbControl.Page = Page; verbControl.RenderControl(writer); }
private bool VerbRenderedAsLinkButton(WebPartVerb verb) { if (Zone.TitleBarVerbButtonType == ButtonType.Link) { return(true); } if (String.IsNullOrEmpty(verb.ImageUrl)) { return(true); } return(false); }
protected override void OnCreateVerbs(System.Web.UI.WebControls.WebParts.WebPartVerbsEventArgs e) { System.Web.UI.WebControls.WebParts.WebPartVerb verbRefresh = new System.Web.UI.WebControls.WebParts.WebPartVerb("RefreshVerb", "refresh_snippet(this);return false;"); verbRefresh.Text = "Refresh"; verbRefresh.ImageUrl = "~/Images/dash-refresh-icon.png"; WebPartVerb[] newVerbs = new WebPartVerb[] { verbRefresh }; e.Verbs = new WebPartVerbCollection(e.Verbs, newVerbs); base.OnCreateVerbs(e); }
private bool ShouldRenderVerb(WebPartVerb verb, WebPart webPart) { if (verb == null) { return(false); } if (!verb.Visible) { return(false); } if ((verb == this.Zone.CloseVerb) && ((!this._personalizationEnabled || !webPart.AllowClose) || !this.Zone.AllowLayoutChange)) { return(false); } if ((verb == this.Zone.ConnectVerb) && (this.WebPartManager != null)) { if (((this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.ConnectDisplayMode) || (webPart == this.WebPartManager.SelectedWebPart)) || !webPart.AllowConnect) { return(false); } ConsumerConnectionPointCollection enabledConsumerConnectionPoints = this.WebPartManager.GetEnabledConsumerConnectionPoints(webPart); ProviderConnectionPointCollection enabledProviderConnectionPoints = this.WebPartManager.GetEnabledProviderConnectionPoints(webPart); if (((enabledConsumerConnectionPoints == null) || (enabledConsumerConnectionPoints.Count == 0)) && ((enabledProviderConnectionPoints == null) || (enabledProviderConnectionPoints.Count == 0))) { return(false); } } if ((verb == this.Zone.DeleteVerb) && ((((!this._personalizationEnabled || !this.Zone.AllowLayoutChange) || webPart.IsStatic) || (webPart.IsShared && (this._personalizationScope == PersonalizationScope.User))) || ((this.WebPartManager != null) && !this.WebPartManager.DisplayMode.AllowPageDesign))) { return(false); } if (((verb == this.Zone.EditVerb) && (this.WebPartManager != null)) && ((this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.EditDisplayMode) || (webPart == this.WebPartManager.SelectedWebPart))) { return(false); } if ((verb == this.Zone.HelpVerb) && string.IsNullOrEmpty(webPart.HelpUrl)) { return(false); } if ((verb == this.Zone.MinimizeVerb) && ((!this._personalizationEnabled || (webPart.ChromeState == PartChromeState.Minimized)) || (!webPart.AllowMinimize || !this.Zone.AllowLayoutChange))) { return(false); } if ((verb == this.Zone.RestoreVerb) && ((!this._personalizationEnabled || (webPart.ChromeState == PartChromeState.Normal)) || !this.Zone.AllowLayoutChange)) { return(false); } return((verb != this.Zone.ExportVerb) || (this._personalizationEnabled && (webPart.ExportMode != WebPartExportMode.None))); }
private void Initialize(WebPartVerbCollection existingVerbs, ICollection verbs) { int count = ((existingVerbs != null) ? existingVerbs.Count : 0) + ((verbs != null) ? verbs.Count : 0); _ids = new HybridDictionary(count, /* caseInsensitive */ true); if (existingVerbs != null) { foreach (WebPartVerb existingVerb in existingVerbs) { // Don't need to check arg, since we know it is valid since it came // from a CatalogPartCollection. if (_ids.Contains(existingVerb.ID)) { throw new ArgumentException(SR.GetString(SR.WebPart_Collection_DuplicateID, "WebPartVerb", existingVerb.ID), "existingVerbs"); } _ids.Add(existingVerb.ID, existingVerb); InnerList.Add(existingVerb); } } if (verbs != null) { foreach (object obj in verbs) { if (obj == null) { throw new ArgumentException(SR.GetString(SR.Collection_CantAddNull), "verbs"); } WebPartVerb webPartVerb = obj as WebPartVerb; if (webPartVerb == null) { throw new ArgumentException(SR.GetString(SR.Collection_InvalidType, "WebPartVerb"), "verbs"); } if (_ids.Contains(webPartVerb.ID)) { throw new ArgumentException(SR.GetString(SR.WebPart_Collection_DuplicateID, "WebPartVerb", webPartVerb.ID), "verbs"); } _ids.Add(webPartVerb.ID, webPartVerb); InnerList.Add(webPartVerb); } } }
private void RenderVerbs(HtmlTextWriter writer, WebPart webPart, WebPartVerbCollection verbs) { if (verbs == null) { throw new ArgumentNullException("verbs"); } WebPartVerb verb = null; foreach (WebPartVerb verb2 in verbs) { if ((verb != null) && (this.VerbRenderedAsLinkButton(verb2) || this.VerbRenderedAsLinkButton(verb))) { writer.Write(" "); } this.RenderVerb(writer, webPart, verb2); verb = verb2; } }
private void Initialize(WebPartVerbCollection existingVerbs, ICollection verbs) { int initialSize = ((existingVerbs != null) ? existingVerbs.Count : 0) + ((verbs != null) ? verbs.Count : 0); this._ids = new HybridDictionary(initialSize, true); if (existingVerbs != null) { foreach (WebPartVerb verb in existingVerbs) { if (this._ids.Contains(verb.ID)) { throw new ArgumentException(System.Web.SR.GetString("WebPart_Collection_DuplicateID", new object[] { "WebPartVerb", verb.ID }), "existingVerbs"); } this._ids.Add(verb.ID, verb); base.InnerList.Add(verb); } } if (verbs != null) { foreach (object obj2 in verbs) { if (obj2 == null) { throw new ArgumentException(System.Web.SR.GetString("Collection_CantAddNull"), "verbs"); } WebPartVerb verb2 = obj2 as WebPartVerb; if (verb2 == null) { throw new ArgumentException(System.Web.SR.GetString("Collection_InvalidType", new object[] { "WebPartVerb" }), "verbs"); } if (this._ids.Contains(verb2.ID)) { throw new ArgumentException(System.Web.SR.GetString("WebPart_Collection_DuplicateID", new object[] { "WebPartVerb", verb2.ID }), "verbs"); } this._ids.Add(verb2.ID, verb2); base.InnerList.Add(verb2); } } }
private void RenderVerbs(HtmlTextWriter writer, WebPart webPart, WebPartVerbCollection verbs) { if (verbs == null) { throw new ArgumentNullException("verbs"); } WebPartVerb priorVerb = null; foreach (WebPartVerb verb in verbs) { // If you are rendering as a linkbutton, OR the prior verb rendered as a linkbutton, // render an " " prior to yourself. This ensures that all linkbuttons are preceeded // and followed by a space. if (priorVerb != null && (VerbRenderedAsLinkButton(verb) || VerbRenderedAsLinkButton(priorVerb))) { writer.Write(" "); } RenderVerb(writer, webPart, verb); priorVerb = verb; } }
private bool VerbRenderedAsLinkButton(WebPartVerb verb) { return ((this.Zone.TitleBarVerbButtonType == ButtonType.Link) || string.IsNullOrEmpty(verb.ImageUrl)); }
private void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb) { WebControl control; bool flag = this.Zone.IsEnabled && verb.Enabled; ButtonType titleBarVerbButtonType = this.Zone.TitleBarVerbButtonType; if (verb != this.Zone.HelpVerb) { if (verb == this.Zone.ExportVerb) { string exportUrl = this._manager.GetExportUrl(webPart); if (titleBarVerbButtonType == ButtonType.Button) { ZoneButton button2 = new ZoneButton(this.Zone, string.Empty) { Text = verb.Text }; if (flag) { if ((webPart.ExportMode == WebPartExportMode.All) && (this._personalizationScope == PersonalizationScope.User)) { if (this.Zone.RenderClientScript) { button2.OnClientClick = "__wpm.ExportWebPart('" + Util.QuoteJScriptString(exportUrl) + "', true, false);return false;"; } else { button2.OnClientClick = "if(__wpmExportWarning.length == 0 || confirm(__wpmExportWarning)){window.location='" + Util.QuoteJScriptString(exportUrl) + "';}return false;"; } } else { button2.OnClientClick = "window.location='" + Util.QuoteJScriptString(exportUrl) + "';return false;"; } } control = button2; } else { HyperLink link2 = new HyperLink { Text = verb.Text }; if (titleBarVerbButtonType == ButtonType.Image) { link2.ImageUrl = verb.ImageUrl; } link2.NavigateUrl = exportUrl; if (webPart.ExportMode == WebPartExportMode.All) { if (this.Zone.RenderClientScript) { link2.Attributes.Add("onclick", "return __wpm.ExportWebPart('', true, true)"); } else { string str3 = "return (__wpmExportWarning.length == 0 || confirm(__wpmExportWarning))"; link2.Attributes.Add("onclick", str3); } } control = link2; } } else { string eventArgument = verb.GetEventArgument(webPart.ID); string clientClickHandler = verb.ClientClickHandler; if (titleBarVerbButtonType == ButtonType.Button) { ZoneButton button3 = new ZoneButton(this.Zone, eventArgument) { Text = verb.Text }; if (!string.IsNullOrEmpty(clientClickHandler) && flag) { button3.OnClientClick = clientClickHandler; } control = button3; } else { ZoneLinkButton button4 = new ZoneLinkButton(this.Zone, eventArgument) { Text = verb.Text }; if (titleBarVerbButtonType == ButtonType.Image) { button4.ImageUrl = verb.ImageUrl; } if (!string.IsNullOrEmpty(clientClickHandler) && flag) { button4.OnClientClick = clientClickHandler; } control = button4; } if ((this._manager != null) && flag) { if (verb == this.Zone.CloseVerb) { ProviderConnectionPointCollection providerConnectionPoints = this._manager.GetProviderConnectionPoints(webPart); if (((providerConnectionPoints != null) && (providerConnectionPoints.Count > 0)) && this.Connections.ContainsProvider(webPart)) { string str6 = "if (__wpmCloseProviderWarning.length >= 0 && !confirm(__wpmCloseProviderWarning)) { return false; }"; control.Attributes.Add("onclick", str6); } } else if (verb == this.Zone.DeleteVerb) { string str7 = "if (__wpmDeleteWarning.length >= 0 && !confirm(__wpmDeleteWarning)) { return false; }"; control.Attributes.Add("onclick", str7); } } } goto Label_040C; } string str = this.Zone.ResolveClientUrl(webPart.HelpUrl); if (titleBarVerbButtonType == ButtonType.Button) { ZoneButton button = new ZoneButton(this.Zone, null); if (flag) { if (this.Zone.RenderClientScript) { button.OnClientClick = "__wpm.ShowHelp('" + Util.QuoteJScriptString(str) + "', " + ((int)webPart.HelpMode).ToString(CultureInfo.InvariantCulture) + ");return;"; } else if (webPart.HelpMode != WebPartHelpMode.Navigate) { button.OnClientClick = "window.open('" + Util.QuoteJScriptString(str) + "', '_blank', 'scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');return;"; } else { button.OnClientClick = "window.location.href='" + Util.QuoteJScriptString(str) + "';return;"; } } button.Text = verb.Text; control = button; goto Label_040C; } HyperLink link = new HyperLink(); switch (webPart.HelpMode) { case WebPartHelpMode.Modal: if (!this.Zone.RenderClientScript) { break; } link.NavigateUrl = "javascript:__wpm.ShowHelp('" + Util.QuoteJScriptString(str) + "', 0)"; goto Label_0187; case WebPartHelpMode.Modeless: break; case WebPartHelpMode.Navigate: link.NavigateUrl = str; goto Label_0187; default: goto Label_0187; } link.NavigateUrl = str; link.Target = "_blank"; Label_0187: link.Text = verb.Text; if (titleBarVerbButtonType == ButtonType.Image) { link.ImageUrl = verb.ImageUrl; } control = link; Label_040C: control.ApplyStyle(this.Zone.TitleBarVerbStyle); control.ToolTip = string.Format(CultureInfo.CurrentCulture, verb.Description, new object[] { webPart.DisplayTitle }); control.Enabled = verb.Enabled; control.Page = this._page; control.RenderControl(writer); }
public int IndexOf(WebPartVerb value) { return default(int); }
public bool Contains(WebPartVerb value) { return InnerList.Contains(value); }
public int IndexOf(WebPartVerb value) { Contract.Ensures(Contract.Result <int>() >= -1); return(default(int)); }
public int IndexOf (WebPartVerb value) { Contract.Ensures (Contract.Result<int>() >= -1); return default(int); }
public int IndexOf(WebPartVerb value) { return InnerList.IndexOf(value); }
/// <summary> /// Handles default and custom verbs ids. If a custom verb is used, fw renders its id with 'partVerb:' prefix. /// </summary> /// <param name="verb">Verb object</param> /// <returns>the verb id: part of the clientscript</returns> private string GetVerbId(WebPartVerb verb) { var verbTypeName = verb.GetType().Name; switch (verbTypeName) { case "WebPartEditVerb": return "Edit"; case "WebPartDeleteVerb": return "Delete"; default: return String.Concat("partVerb:", verb.ID); } }
/// <summary> /// Return true, if the verb is not allowed. It's an inner logic, Later, we can change this. /// Actually, we don't support the following webpart verbs: minimize, close, help, restore, connect, export /// </summary> /// <param name="verb1">Verb instance</param> /// <returns>true if verb is permited, otherwise false</returns> private bool IsRestricted(WebPartVerb verb1) { var typeName = verb1.GetType().Name; return (typeName == "WebPartMinimizeVerb") || (typeName == "WebPartCloseVerb") || (typeName == "WebPartHelpVerb") || (typeName == "WebPartRestoreVerb") || (typeName == "WebPartConnectVerb") || (typeName == "WebPartExportVerb"); }
protected virtual void RenderVerbTag(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb1, string linkClass) { var onclickscript = Zone.Page.ClientScript.GetPostBackEventReference(Zone, string.Format("{0}:{1}", GetVerbId(verb1), webPart.ID)); //var onclickscript = String.Format("__doPostBack('{0}','{2}:{1}');", Zone.UniqueID.Replace("_", "$"), webPart.ID, GetVerbId(verb1)); writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:;"); writer.AddAttribute(HtmlTextWriterAttribute.Class, linkClass); writer.AddAttribute(HtmlTextWriterAttribute.Title, GetLocalizedVerbText(verb1.Text)); writer.AddAttribute(HtmlTextWriterAttribute.Onclick, onclickscript); writer.RenderBeginTag(HtmlTextWriterTag.A); if (String.IsNullOrEmpty(verb1.ImageUrl)) { //writer.AddAttribute(HtmlTextWriterAttribute.Class, "sn-hide"); //writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(verb1.Text); //writer.RenderEndTag(); } else { writer.AddAttribute(HtmlTextWriterAttribute.Src, verb1.ImageUrl); writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); } writer.RenderEndTag(); }
protected virtual void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb1) { if (IsRestricted(verb1)) return; var verbTypeName = verb1.GetType().Name; var isEditVerb = verbTypeName.Equals("WebPartEditVerb"); var isDeleteVerb = verbTypeName.Equals("WebPartDeleteVerb"); var currentDisplayMode = this.WebPartManager.DisplayMode; if (currentDisplayMode != WebPartManager.EditDisplayMode && isEditVerb) return; if (currentDisplayMode != WebPartManager.EditDisplayMode && currentDisplayMode == WebPartManager.BrowseDisplayMode && isDeleteVerb) return; var linkClass = "sn-verb ui-corner-all"; if (isEditVerb) linkClass = String.Concat(linkClass, " ", "sn-verb-editportlet"); if (isDeleteVerb) linkClass = String.Concat(linkClass, " ", "sn-verb-delete"); else linkClass = String.Concat(linkClass, " sn-verb-", verb1.ID.ToLower()); if (isDeleteVerb && webPart.IsStatic) return; //a href="#" class="sn-verb sn-verb-editportlet">Edit portlet</a> //<a href="#" class="sn-verb sn-verb-delete sn-verb-disabled">Delete</a> RenderVerbTag(writer, webPart, verb1, linkClass); }
protected override void RenderHeader(HtmlTextWriter writer) { // Render title bar writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "2"); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); TitleStyle headerStyle = HeaderStyle; if (!headerStyle.IsEmpty) { // Apply font and forecolor from HeaderStyle to inner table Style style = new Style(); if (!headerStyle.ForeColor.IsEmpty) { style.ForeColor = headerStyle.ForeColor; } style.Font.CopyFrom(headerStyle.Font); if (!headerStyle.Font.Size.IsEmpty) { // If the font size is specified on the HeaderStyle, force the font size to 100%, // so it inherits the font size from its parent in IE compatibility mode. I would // think that "1em" would work here as well, but "1em" doesn't work when you change // the font size in the browser. style.Font.Size = new FontUnit(new Unit(100, UnitType.Percentage)); } if (!style.IsEmpty) { style.AddAttributesToRender(writer, this); } } writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); // Copied from Panel.cs // HorizontalAlign hAlign = headerStyle.HorizontalAlign; if (hAlign != HorizontalAlign.NotSet) { TypeConverter hac = TypeDescriptor.GetConverter(typeof(HorizontalAlign)); writer.AddAttribute(HtmlTextWriterAttribute.Align, hac.ConvertToString(hAlign)); } writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(HeaderText); writer.RenderEndTag(); // Td WebPartVerb headerCloseVerb = HeaderCloseVerb; if (headerCloseVerb.Visible) { writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); writer.RenderBeginTag(HtmlTextWriterTag.Td); ZoneLinkButton closeButton = new ZoneLinkButton(this, headerCloseVerb.EventArgument); closeButton.Text = headerCloseVerb.Text; closeButton.ImageUrl = headerCloseVerb.ImageUrl; closeButton.ToolTip = headerCloseVerb.Description; closeButton.Enabled = headerCloseVerb.Enabled; closeButton.Page = Page; closeButton.ApplyStyle(HeaderVerbStyle); closeButton.RenderControl(writer); writer.RenderEndTag(); // Td } writer.RenderEndTag(); // Tr writer.RenderEndTag(); // Table }
// Do not throw for duplicate IDs, since we call this method to add items // to the collection internally, and we need to allow duplicate IDs. internal int Add(WebPartVerb value) { return(InnerList.Add(value)); }
public bool Contains (WebPartVerb value) { return default(bool); }
public void CopyTo (WebPartVerb[] array, int index) { Contract.Ensures (array.Length >= 0); }
public int IndexOf(WebPartVerb value) { return(default(int)); }
protected virtual new void RenderVerb(System.Web.UI.HtmlTextWriter writer, WebPartVerb verb) { }
public int IndexOf(WebPartVerb value) { return(InnerList.IndexOf(value)); }
public void CopyTo (WebPartVerb [] array, int index) { InnerList.CopyTo (0, array, index, Count); }
private bool VerbRenderedAsLinkButton(WebPartVerb verb) { return((this.Zone.TitleBarVerbButtonType == ButtonType.Link) || string.IsNullOrEmpty(verb.ImageUrl)); }
// Do not throw for duplicate IDs, since we call this method to add items // to the collection internally, and we need to allow duplicate IDs. internal int Add(WebPartVerb value) { return InnerList.Add(value); }
private bool ShouldRenderVerb(WebPartVerb verb, WebPart webPart) { // PERF: Consider caching the Zone.*Verb properties // Can have null verbs in the CreateVerbs or WebPart.Verbs collections if (verb == null) { return false; } if (!verb.Visible) { return false; } if (verb == Zone.CloseVerb) { if (!_personalizationEnabled || !webPart.AllowClose || !Zone.AllowLayoutChange) { return false; } } if (verb == Zone.ConnectVerb) { if (WebPartManager != null) { if ((WebPartManager.DisplayMode != WebPartManager.ConnectDisplayMode) || (webPart == WebPartManager.SelectedWebPart) || !webPart.AllowConnect) { return false; } // Don't render Connect verb if web part has no connection points ConsumerConnectionPointCollection consumerConnectionPoints = WebPartManager.GetEnabledConsumerConnectionPoints(webPart); ProviderConnectionPointCollection providerConnectionPoints = WebPartManager.GetEnabledProviderConnectionPoints(webPart); if ((consumerConnectionPoints == null || consumerConnectionPoints.Count == 0) && (providerConnectionPoints == null || providerConnectionPoints.Count == 0)) { return false; } } } if (verb == Zone.DeleteVerb) { if (!_personalizationEnabled || !Zone.AllowLayoutChange || webPart.IsStatic || (webPart.IsShared && _personalizationScope == PersonalizationScope.User) || (WebPartManager != null && !WebPartManager.DisplayMode.AllowPageDesign)) { return false; } } if (verb == Zone.EditVerb) { if (WebPartManager != null && ((WebPartManager.DisplayMode != WebPartManager.EditDisplayMode) || (webPart == WebPartManager.SelectedWebPart))) { return false; } } if (verb == Zone.HelpVerb) { if (String.IsNullOrEmpty(webPart.HelpUrl)) { return false; } } if (verb == Zone.MinimizeVerb) { if (!_personalizationEnabled || webPart.ChromeState == PartChromeState.Minimized || !webPart.AllowMinimize || !Zone.AllowLayoutChange) { return false; } } if (verb == Zone.RestoreVerb) { if (!_personalizationEnabled || webPart.ChromeState == PartChromeState.Normal || !Zone.AllowLayoutChange) { return false; } } if (verb == Zone.ExportVerb) { if (!_personalizationEnabled || webPart.ExportMode == WebPartExportMode.None) { return false; } } return true; }
public void CopyTo(WebPartVerb[] array, int index) { InnerList.CopyTo(array, index); }
public void CopyTo(WebPartVerb[] array, int index) { }
public bool Contains(WebPartVerb value) { return(default(bool)); }
private WebPartVerb CreateSwitchToBrowseModeVerb() { WebPartVerb result = new WebPartVerb("SwitchToBrowseMode", new WebPartEventHandler(OnSwitchToBrowseAction)); result.Text = HttpContext.GetGlobalResourceObject("SingleContentPortlet", "BrowseContent") as string; return result; }
public bool Contains(WebPartVerb value) { return(InnerList.Contains(value)); }
private WebPartVerb CreateNewContentVerb() { WebPartVerb result = new WebPartVerb("NewContent", new WebPartEventHandler(OnNewContent)); result.Text = HttpContext.GetGlobalResourceObject("SingleContentPortlet", "NewContent") as string; return result; }
private void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb) { WebControl verbControl; bool isEnabled = Zone.IsEnabled && verb.Enabled; ButtonType verbButtonType = Zone.TitleBarVerbButtonType; if (verb == Zone.HelpVerb) { // string resolvedHelpUrl = Zone.ResolveClientUrl(webPart.HelpUrl); // if (verbButtonType == ButtonType.Button) { ZoneButton button = new ZoneButton(Zone, null); if (isEnabled) { if (Zone.RenderClientScript) { button.OnClientClick = "__wpm.ShowHelp('" + Util.QuoteJScriptString(resolvedHelpUrl) + "', " + ((int)webPart.HelpMode).ToString(CultureInfo.InvariantCulture) + ");return;"; } else { if (webPart.HelpMode != WebPartHelpMode.Navigate) { button.OnClientClick = "window.open('" + Util.QuoteJScriptString(resolvedHelpUrl) + "', '_blank', 'scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');return;"; } else { button.OnClientClick = "window.location.href='" + Util.QuoteJScriptString(resolvedHelpUrl) + "';return;"; } } } button.Text = verb.Text; verbControl = button; } else { HyperLink hyperLink = new HyperLink(); switch (webPart.HelpMode) { case WebPartHelpMode.Modal: if (!Zone.RenderClientScript) { goto case WebPartHelpMode.Modeless; } hyperLink.NavigateUrl = "javascript:__wpm.ShowHelp('" + Util.QuoteJScriptString(resolvedHelpUrl) + "', 0)"; break; case WebPartHelpMode.Modeless: hyperLink.NavigateUrl = resolvedHelpUrl; hyperLink.Target = "_blank"; break; case WebPartHelpMode.Navigate: hyperLink.NavigateUrl = resolvedHelpUrl; break; } hyperLink.Text = verb.Text; if (verbButtonType == ButtonType.Image) { hyperLink.ImageUrl = verb.ImageUrl; } verbControl = hyperLink; } } else if (verb == Zone.ExportVerb) { string exportUrl = _manager.GetExportUrl(webPart); if (verbButtonType == ButtonType.Button) { ZoneButton button = new ZoneButton(Zone, String.Empty); button.Text = verb.Text; if (isEnabled) { if ((webPart.ExportMode == WebPartExportMode.All) && (_personalizationScope == PersonalizationScope.User)) { if (Zone.RenderClientScript) { button.OnClientClick = "__wpm.ExportWebPart('" + Util.QuoteJScriptString(exportUrl) + "', true, false);return false;"; } else { button.OnClientClick = "if(__wpmExportWarning.length == 0 || " + "confirm(__wpmExportWarning)){window.location='" + Util.QuoteJScriptString(exportUrl) + "';}return false;"; } } else { button.OnClientClick = "window.location='" + Util.QuoteJScriptString(exportUrl) + "';return false;"; } } verbControl = button; } else { // Special case for export which must be a plain HyperLink // (href=javascript:void(0) would ruin any redirecting script) HyperLink link = new HyperLink(); link.Text = verb.Text; if (verbButtonType == ButtonType.Image) { link.ImageUrl = verb.ImageUrl; } link.NavigateUrl = exportUrl; if (webPart.ExportMode == WebPartExportMode.All) { // Confirm before exporting if (Zone.RenderClientScript) { link.Attributes.Add("onclick", "return __wpm.ExportWebPart('', true, true)"); } else { string onclick = "return (__wpmExportWarning.length == 0 || confirm(__wpmExportWarning))"; link.Attributes.Add("onclick", onclick); } } verbControl = link; } } else { string eventArgument = verb.GetEventArgument(webPart.ID); string clientClickHandler = verb.ClientClickHandler; if (verbButtonType == ButtonType.Button) { ZoneButton button = new ZoneButton(Zone, eventArgument); button.Text = verb.Text; if (!String.IsNullOrEmpty(clientClickHandler) && isEnabled) { button.OnClientClick = clientClickHandler; } verbControl = button; } else { ZoneLinkButton linkButton = new ZoneLinkButton(Zone, eventArgument); linkButton.Text = verb.Text; if (verbButtonType == ButtonType.Image) { linkButton.ImageUrl = verb.ImageUrl; } if (!String.IsNullOrEmpty(clientClickHandler) && isEnabled) { linkButton.OnClientClick = clientClickHandler; } verbControl = linkButton; } if (_manager != null && isEnabled) { if (verb == Zone.CloseVerb) { // PERF: First check if this WebPart even has provider connection points ProviderConnectionPointCollection connectionPoints = _manager.GetProviderConnectionPoints(webPart); if (connectionPoints != null && connectionPoints.Count > 0 && Connections.ContainsProvider(webPart)) { string onclick = "if (__wpmCloseProviderWarning.length >= 0 && " + "!confirm(__wpmCloseProviderWarning)) { return false; }"; verbControl.Attributes.Add("onclick", onclick); } } else if (verb == Zone.DeleteVerb) { string onclick = "if (__wpmDeleteWarning.length >= 0 && !confirm(__wpmDeleteWarning)) { return false; }"; verbControl.Attributes.Add("onclick", onclick); } } } verbControl.ApplyStyle(Zone.TitleBarVerbStyle); verbControl.ToolTip = String.Format(CultureInfo.CurrentCulture, verb.Description, webPart.DisplayTitle); verbControl.Enabled = verb.Enabled; verbControl.Page = _page; verbControl.RenderControl(writer); }
private bool ShouldRenderVerb(WebPartVerb verb, WebPart webPart) { // PERF: Consider caching the Zone.*Verb properties // Can have null verbs in the CreateVerbs or WebPart.Verbs collections if (verb == null) { return(false); } if (!verb.Visible) { return(false); } if (verb == Zone.CloseVerb) { if (!_personalizationEnabled || !webPart.AllowClose || !Zone.AllowLayoutChange) { return(false); } } if (verb == Zone.ConnectVerb) { if (WebPartManager != null) { if ((WebPartManager.DisplayMode != WebPartManager.ConnectDisplayMode) || (webPart == WebPartManager.SelectedWebPart) || !webPart.AllowConnect) { return(false); } // Don't render Connect verb if web part has no connection points ConsumerConnectionPointCollection consumerConnectionPoints = WebPartManager.GetEnabledConsumerConnectionPoints(webPart); ProviderConnectionPointCollection providerConnectionPoints = WebPartManager.GetEnabledProviderConnectionPoints(webPart); if ((consumerConnectionPoints == null || consumerConnectionPoints.Count == 0) && (providerConnectionPoints == null || providerConnectionPoints.Count == 0)) { return(false); } } } if (verb == Zone.DeleteVerb) { if (!_personalizationEnabled || !Zone.AllowLayoutChange || webPart.IsStatic || (webPart.IsShared && _personalizationScope == PersonalizationScope.User) || (WebPartManager != null && !WebPartManager.DisplayMode.AllowPageDesign)) { return(false); } } if (verb == Zone.EditVerb) { if (WebPartManager != null && ((WebPartManager.DisplayMode != WebPartManager.EditDisplayMode) || (webPart == WebPartManager.SelectedWebPart))) { return(false); } } if (verb == Zone.HelpVerb) { if (String.IsNullOrEmpty(webPart.HelpUrl)) { return(false); } } if (verb == Zone.MinimizeVerb) { if (!_personalizationEnabled || webPart.ChromeState == PartChromeState.Minimized || !webPart.AllowMinimize || !Zone.AllowLayoutChange) { return(false); } } if (verb == Zone.RestoreVerb) { if (!_personalizationEnabled || webPart.ChromeState == PartChromeState.Normal || !Zone.AllowLayoutChange) { return(false); } } if (verb == Zone.ExportVerb) { if (!_personalizationEnabled || webPart.ExportMode == WebPartExportMode.None) { return(false); } } return(true); }
private void RenderVerb(HtmlTextWriter writer, WebPart webPart, WebPartVerb verb) { WebControl control; bool flag = this.Zone.IsEnabled && verb.Enabled; ButtonType titleBarVerbButtonType = this.Zone.TitleBarVerbButtonType; if (verb != this.Zone.HelpVerb) { if (verb == this.Zone.ExportVerb) { string exportUrl = this._manager.GetExportUrl(webPart); if (titleBarVerbButtonType == ButtonType.Button) { ZoneButton button2 = new ZoneButton(this.Zone, string.Empty) { Text = verb.Text }; if (flag) { if ((webPart.ExportMode == WebPartExportMode.All) && (this._personalizationScope == PersonalizationScope.User)) { if (this.Zone.RenderClientScript) { button2.OnClientClick = "__wpm.ExportWebPart('" + Util.QuoteJScriptString(exportUrl) + "', true, false);return false;"; } else { button2.OnClientClick = "if(__wpmExportWarning.length == 0 || confirm(__wpmExportWarning)){window.location='" + Util.QuoteJScriptString(exportUrl) + "';}return false;"; } } else { button2.OnClientClick = "window.location='" + Util.QuoteJScriptString(exportUrl) + "';return false;"; } } control = button2; } else { HyperLink link2 = new HyperLink { Text = verb.Text }; if (titleBarVerbButtonType == ButtonType.Image) { link2.ImageUrl = verb.ImageUrl; } link2.NavigateUrl = exportUrl; if (webPart.ExportMode == WebPartExportMode.All) { if (this.Zone.RenderClientScript) { link2.Attributes.Add("onclick", "return __wpm.ExportWebPart('', true, true)"); } else { string str3 = "return (__wpmExportWarning.length == 0 || confirm(__wpmExportWarning))"; link2.Attributes.Add("onclick", str3); } } control = link2; } } else { string eventArgument = verb.GetEventArgument(webPart.ID); string clientClickHandler = verb.ClientClickHandler; if (titleBarVerbButtonType == ButtonType.Button) { ZoneButton button3 = new ZoneButton(this.Zone, eventArgument) { Text = verb.Text }; if (!string.IsNullOrEmpty(clientClickHandler) && flag) { button3.OnClientClick = clientClickHandler; } control = button3; } else { ZoneLinkButton button4 = new ZoneLinkButton(this.Zone, eventArgument) { Text = verb.Text }; if (titleBarVerbButtonType == ButtonType.Image) { button4.ImageUrl = verb.ImageUrl; } if (!string.IsNullOrEmpty(clientClickHandler) && flag) { button4.OnClientClick = clientClickHandler; } control = button4; } if ((this._manager != null) && flag) { if (verb == this.Zone.CloseVerb) { ProviderConnectionPointCollection providerConnectionPoints = this._manager.GetProviderConnectionPoints(webPart); if (((providerConnectionPoints != null) && (providerConnectionPoints.Count > 0)) && this.Connections.ContainsProvider(webPart)) { string str6 = "if (__wpmCloseProviderWarning.length >= 0 && !confirm(__wpmCloseProviderWarning)) { return false; }"; control.Attributes.Add("onclick", str6); } } else if (verb == this.Zone.DeleteVerb) { string str7 = "if (__wpmDeleteWarning.length >= 0 && !confirm(__wpmDeleteWarning)) { return false; }"; control.Attributes.Add("onclick", str7); } } } goto Label_040C; } string str = this.Zone.ResolveClientUrl(webPart.HelpUrl); if (titleBarVerbButtonType == ButtonType.Button) { ZoneButton button = new ZoneButton(this.Zone, null); if (flag) { if (this.Zone.RenderClientScript) { button.OnClientClick = "__wpm.ShowHelp('" + Util.QuoteJScriptString(str) + "', " + ((int) webPart.HelpMode).ToString(CultureInfo.InvariantCulture) + ");return;"; } else if (webPart.HelpMode != WebPartHelpMode.Navigate) { button.OnClientClick = "window.open('" + Util.QuoteJScriptString(str) + "', '_blank', 'scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');return;"; } else { button.OnClientClick = "window.location.href='" + Util.QuoteJScriptString(str) + "';return;"; } } button.Text = verb.Text; control = button; goto Label_040C; } HyperLink link = new HyperLink(); switch (webPart.HelpMode) { case WebPartHelpMode.Modal: if (!this.Zone.RenderClientScript) { break; } link.NavigateUrl = "javascript:__wpm.ShowHelp('" + Util.QuoteJScriptString(str) + "', 0)"; goto Label_0187; case WebPartHelpMode.Modeless: break; case WebPartHelpMode.Navigate: link.NavigateUrl = str; goto Label_0187; default: goto Label_0187; } link.NavigateUrl = str; link.Target = "_blank"; Label_0187: link.Text = verb.Text; if (titleBarVerbButtonType == ButtonType.Image) { link.ImageUrl = verb.ImageUrl; } control = link; Label_040C: control.ApplyStyle(this.Zone.TitleBarVerbStyle); control.ToolTip = string.Format(CultureInfo.CurrentCulture, verb.Description, new object[] { webPart.DisplayTitle }); control.Enabled = verb.Enabled; control.Page = this._page; control.RenderControl(writer); }
private bool VerbRenderedAsLinkButton(WebPartVerb verb) { if (Zone.TitleBarVerbButtonType == ButtonType.Link) { return true; } if (String.IsNullOrEmpty(verb.ImageUrl)) { return true; } return false; }
private bool ShouldRenderVerb(WebPartVerb verb, WebPart webPart) { if (verb == null) { return false; } if (!verb.Visible) { return false; } if ((verb == this.Zone.CloseVerb) && ((!this._personalizationEnabled || !webPart.AllowClose) || !this.Zone.AllowLayoutChange)) { return false; } if ((verb == this.Zone.ConnectVerb) && (this.WebPartManager != null)) { if (((this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.ConnectDisplayMode) || (webPart == this.WebPartManager.SelectedWebPart)) || !webPart.AllowConnect) { return false; } ConsumerConnectionPointCollection enabledConsumerConnectionPoints = this.WebPartManager.GetEnabledConsumerConnectionPoints(webPart); ProviderConnectionPointCollection enabledProviderConnectionPoints = this.WebPartManager.GetEnabledProviderConnectionPoints(webPart); if (((enabledConsumerConnectionPoints == null) || (enabledConsumerConnectionPoints.Count == 0)) && ((enabledProviderConnectionPoints == null) || (enabledProviderConnectionPoints.Count == 0))) { return false; } } if ((verb == this.Zone.DeleteVerb) && ((((!this._personalizationEnabled || !this.Zone.AllowLayoutChange) || webPart.IsStatic) || (webPart.IsShared && (this._personalizationScope == PersonalizationScope.User))) || ((this.WebPartManager != null) && !this.WebPartManager.DisplayMode.AllowPageDesign))) { return false; } if (((verb == this.Zone.EditVerb) && (this.WebPartManager != null)) && ((this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.EditDisplayMode) || (webPart == this.WebPartManager.SelectedWebPart))) { return false; } if ((verb == this.Zone.HelpVerb) && string.IsNullOrEmpty(webPart.HelpUrl)) { return false; } if ((verb == this.Zone.MinimizeVerb) && ((!this._personalizationEnabled || (webPart.ChromeState == PartChromeState.Minimized)) || (!webPart.AllowMinimize || !this.Zone.AllowLayoutChange))) { return false; } if ((verb == this.Zone.RestoreVerb) && ((!this._personalizationEnabled || (webPart.ChromeState == PartChromeState.Normal)) || !this.Zone.AllowLayoutChange)) { return false; } return ((verb != this.Zone.ExportVerb) || (this._personalizationEnabled && (webPart.ExportMode != WebPartExportMode.None))); }