/// <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));
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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);
        }
Example #5
0
 /// <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());
 }
Example #6
0
 /// <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));
 }