/// <summary> /// Builder /// </summary> /// <param name="expression"></param> /// <param name="htmlAttributes"></param> /// <typeparam name="TProperty"></typeparam> /// <returns></returns> public MvcHtmlString Builder <TProperty>(Expression <Func <TModel, TProperty> > expression, object htmlAttributes) { var attributes = HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes); attributes.AddMaxLengthAttribute(expression); return(_helper.TextBoxFor(expression, attributes)); }
/// <summary> /// Builder /// </summary> /// <param name="notify"></param> /// <param name="showCloseButton"></param> /// <param name="htmlAttributes"></param> /// <returns></returns> public MvcHtmlString Builder(Thunder.Notify notify, bool showCloseButton, object htmlAttributes) { if (!notify.Messages.Any()) { return(MvcHtmlString.Empty); } var tagBuilder = new TagBuilder("div"); var attributes = HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes); var content = string.Empty; if (showCloseButton) { var closeButton = new TagBuilder("button") { InnerHtml = "×" }; closeButton.Attributes.Add("type", "button"); closeButton.Attributes.Add("class", "close"); closeButton.Attributes.Add("data-dismiss", "alert"); closeButton.Attributes.Add("aria-hidden", "true"); content += closeButton.ToString(); } if (notify.Messages.Count > 0) { if (notify.Messages.Count == 1) { content += notify.Messages[0]; } else { var ul = new TagBuilder("ul"); foreach (var li in notify.Messages.Select(message => new TagBuilder("li") { InnerHtml = message })) { ul.InnerHtml += li.ToString(); } content += ul.ToString(); } } attributes.AddCssClass("alert{0}".With(CssClass(notify.Type))); tagBuilder.InnerHtml = content; tagBuilder.MergeAttributes(attributes); return(MvcHtmlString.Create(tagBuilder.ToString())); }
/// <summary> /// Builder /// </summary> /// <param name="url"></param> /// <param name="htmlAttributes"></param> /// <returns></returns> public MvcHtmlString Builder(string url, object htmlAttributes) { var tagBuilder = new TagBuilder("script"); var attributes = HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes); tagBuilder.Attributes.Add("type", "text/javascript"); tagBuilder.Attributes.Add("src", UrlHelper.GenerateContentUrl(url, _helper.ViewContext.HttpContext)); tagBuilder.MergeAttributes(attributes, true); return(MvcHtmlString.Create(tagBuilder.ToString())); }
/// <summary> /// Builder /// </summary> /// <param name="url"></param> /// <param name="htmlAttributes"></param> /// <returns></returns> public MvcHtmlString Builder(string url, object htmlAttributes) { var tagBuilder = new TagBuilder("img"); var attributes = HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes); attributes.Add("border", "0"); attributes.Add("src", UrlHelper.GenerateContentUrl(url, _helper.ViewContext.HttpContext)); tagBuilder.MergeAttributes(attributes); return(MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.SelfClosing))); }
/// <summary> /// Builder /// </summary> /// <param name="url"></param> /// <param name="htmlAttributes"></param> /// <returns></returns> public MvcHtmlString Builder(string url, object htmlAttributes) { var tagBuilder = new TagBuilder("link"); var attributes = HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes); tagBuilder.Attributes.Add("type", "text/css"); tagBuilder.Attributes.Add("media", "screen"); tagBuilder.Attributes.Add("rel", "stylesheet"); tagBuilder.Attributes.Add("href", UrlHelper.GenerateContentUrl(url, _helper.ViewContext.HttpContext)); tagBuilder.MergeAttributes(attributes, true); return(MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.SelfClosing))); }
/// <summary> /// Builder /// </summary> /// <param name="source"></param> /// <param name="url"></param> /// <param name="size"></param> /// <param name="htmlAttributes"></param> /// <typeparam name="T"></typeparam> /// <returns></returns> public MvcHtmlString Builder <T>(IPaging <T> source, Func <int, string> url, int size, object htmlAttributes) { var attributes = HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes); var ul = new TagBuilder("ul"); attributes.AddCssClass("pagination"); ul.MergeAttributes(attributes); ul.InnerHtml += Item(url, source.HasPreviousPage ? (source.CurrentPage - 1) : -1, "«", false, !source.HasPreviousPage); foreach (var page in Pages(source, size)) { ul.InnerHtml += Item(url, page, (page + 1).ToString(CultureInfo.InvariantCulture), page == source.CurrentPage); } ul.InnerHtml += Item(url, source.HasNextPage ? (source.CurrentPage + 1) : -1, "»", false, !source.HasNextPage); return(MvcHtmlString.Create(ul.ToString())); }
public CarouselCaptionPanel ItemWithCaption(string url, string altText, object htmlAttributes = null) { if (isFirstItem) { base.TxtWriter.Write(@"<div class=""item active"">"); isFirstItem = false; } else { base.TxtWriter.Write(@"<div class=""item"">"); } var imgBuilder = new TagBuilder("img"); imgBuilder.MergeAttributes(HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes)); imgBuilder.MergeAttribute("src", urlHelper.Content(url)); imgBuilder.MergeAttribute("alt", altText); base.TxtWriter.Write(imgBuilder.ToString(TagRenderMode.SelfClosing)); return(new CarouselCaptionPanel(base.TxtWriter)); }
/// <summary> /// Builder /// </summary> /// <param name="url"></param> /// <param name="pageSize"></param> /// <param name="htmlAttributes"></param> /// <returns></returns> public MvcGrid Builder(string url, int pageSize, object htmlAttributes) { var tagBuilder = new TagBuilder("div"); var textWriter = _helper.ViewContext.Writer; var attributes = HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes); if (pageSize == 0) { pageSize = 15; } attributes.AddCssClass("thunder-grid"); attributes.MergeAttribute("data-url", url); attributes.MergeAttribute("data-page-size", pageSize); tagBuilder.MergeAttributes(attributes); textWriter.Write(tagBuilder.ToString(TagRenderMode.StartTag)); return(new MvcGrid(_helper.ViewContext)); }
/// <summary> /// Builder /// </summary> /// <param name="text"></param> /// <param name="column"></param> /// <param name="filter"></param> /// <param name="htmlAttributes"></param> /// <returns></returns> public MvcHtmlString Builder(string text, string column, Thunder.Model.Filter filter, object htmlAttributes) { var tagBuilder = new TagBuilder("a") { InnerHtml = text }; var attributes = HtmlAttributesUtility.ObjectToHtmlAttributesDictionary(htmlAttributes); var asc = true; foreach (var filterOrder in filter.Orders.Where(filterOrder => filterOrder.Column.ToLower().Equals(column.ToLower()))) { asc = !filterOrder.Asc; } attributes.AddCssClass("thunder-grid-order"); attributes.Add("href", "#"); attributes.Add("data-column", column); attributes.Add("data-asc", asc.ToString().ToLower()); tagBuilder.MergeAttributes(attributes); return(MvcHtmlString.Create(tagBuilder.ToString())); }