/// <summary> /// Create a icon only link /// </summary> /// <param name="html">Current HTML helper object</param> /// <param name="icon">Icon to display</param> /// <param name="result">Link action</param> /// <param name="htmlAttributes">[Optional] Extra HTML attributes</param> /// <returns>A icon only link</returns> public static IExtendedHtmlString Hyperlink(this HtmlHelper html, EGumbyIcon icon, ActionResult result, object htmlAttributes = null) { string link = WebExtrasMvcUtilT4.GetUrl(html, result); return(new GumbyIconLink(icon, link, htmlAttributes)); }
/// <summary> /// Constructor /// </summary> /// <param name="icon">Icon to be displayed as the hypelink</param> /// <param name="url">Link URL</param> /// <param name="htmlAttributes">[Optional Extra HTML attributes</param> public GumbyIconLink(EGumbyIcon icon, string url, object htmlAttributes = null) : base(string.Empty, url, htmlAttributes) { CssClasses.Add("icon-only-link"); IHtmlComponent iconElement = GumbyUtil.CreateIcon(icon); PrependTags.Add(iconElement); }
/// <summary> /// Creates an icon /// </summary> /// <param name="icon">Icon to be created</param> /// <param name="htmlAttributes">[Optional] Any extras HTML attributes</param> /// <returns>A Gumby icon</returns> public static IHtmlComponent CreateIcon(EGumbyIcon icon, object htmlAttributes = null) { NameValueCollection attrsDictionary = WebExtrasUtil.AnonymousObjectToHtmlAttributes(htmlAttributes); HtmlComponent i = new HtmlComponent(EHtmlTag.I); i.CssClasses.Add("icon-" + icon.ToString().ToLowerInvariant().Replace('_', '-')); foreach (string key in attrsDictionary.Keys) { i.Attributes[key] = attrsDictionary[key]; } return(i); }
/// <summary> /// Add an icon /// </summary> /// <typeparam name="T">Generic type to be used. This type must implement IExtendedHtmlString</typeparam> /// <param name="html">Current HTML element</param> /// <param name="icon">Gumby icon to be added</param> /// <param name="iconLeft">[Optional] Flag indicating whether to place icon on left. Defaults to true</param> /// <returns>HTML element with icon added</returns> public static T AddIcon <T>(this T html, EGumbyIcon icon, bool iconLeft = true) where T : IExtendedHtmlString { HtmlComponent ic = new HtmlComponent(EHtmlTag.I); ic.CssClasses.Add(icon.GetStringValue()); if (iconLeft) { html.Component.PrependTags.Add(ic); } else { html.Component.AppendTags.Add(ic); } return(html); }
/// <summary> /// Renders a Gumby icon /// </summary> /// <param name="html">Current Html helper object</param> /// <param name="icon">Gumby icon</param> /// <param name="htmlAttributes">[Optional] Extra HTML attributes</param> /// <returns>A Gumby icon</returns> public static IExtendedHtmlStringLegacy Icon(this HtmlHelper html, EGumbyIcon icon, object htmlAttributes = null) { return(GumbyUtil.CreateIcon(icon, htmlAttributes).ToHtmlElement()); }
/// <summary> /// Create a icon only link /// </summary> /// <param name="html">Current HTML helper object</param> /// <param name="icon">Icon to display</param> /// <param name="url">Link action</param> /// <param name="htmlAttributes">[Optional] Extra HTML attributes</param> /// <returns>A icon only link</returns> public static IExtendedHtmlString Hyperlink(this HtmlHelper html, EGumbyIcon icon, string url, object htmlAttributes = null) { return(new GumbyIconLink(icon, url, htmlAttributes)); }