public static IHtmlString AutoComplete <TModel>(this HtmlHelper <TModel> html, String name, Object value, AbstractDatalist model, Object htmlAttributes = null) { String autoComplete = FormAutoComplete(html, model, name, htmlAttributes); String hiddenInput = FormHiddenInput(html, name, value); return(new MvcHtmlString(autoComplete + hiddenInput)); }
public static IHtmlString Datalist <TModel>(this HtmlHelper <TModel> html, String name, Object value, AbstractDatalist model, Object htmlAttributes = null) { TagBuilder inputGroup = new TagBuilder("div"); inputGroup.AddCssClass("input-group"); inputGroup.InnerHtml = html.AutoComplete(name, value, model, htmlAttributes) + FormDatalistOpenSpan(model); return(new MvcHtmlString(inputGroup.ToString())); }
private static String FormDatalistOpenSpan(AbstractDatalist model) { TagBuilder outerSpan = new TagBuilder("span"); TagBuilder innerSpan = new TagBuilder("span"); innerSpan.AddCssClass("glyphicon glyphicon-search"); outerSpan.AddCssClass("datalist-open-span input-group-addon"); outerSpan.InnerHtml = innerSpan.ToString(); return(outerSpan.ToString()); }
private static String FormAutoComplete <TModel>(HtmlHelper <TModel> html, AbstractDatalist model, String hiddenInput, Object htmlAttributes) { RouteValueDictionary attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes); attributes["class"] = String.Format("{0} {1}", attributes["class"], "form-control datalist-input").Trim(); attributes.Add("data-datalist-hidden-input", TagBuilder.CreateSanitizedId(hiddenInput)); attributes.Add("data-datalist-filters", String.Join(",", model.AdditionalFilters)); attributes.Add("data-datalist-records-per-page", model.DefaultRecordsPerPage); attributes.Add("data-datalist-sort-column", model.DefaultSortColumn); attributes.Add("data-datalist-sort-order", model.DefaultSortOrder); attributes.Add("data-datalist-dialog-title", model.DialogTitle); attributes.Add("data-datalist-url", model.DatalistUrl); attributes.Add("data-datalist-term", String.Empty); attributes.Add("data-datalist-page", 0); return(html.TextBox(hiddenInput + AbstractDatalist.Prefix, null, attributes).ToString()); }
public static IHtmlString DatalistFor <TModel, TProperty>(this HtmlHelper <TModel> html, Expression <Func <TModel, TProperty> > expression, AbstractDatalist model, Object htmlAttributes = null) { TagBuilder inputGroup = new TagBuilder("div"); inputGroup.AddCssClass("input-group"); inputGroup.InnerHtml = html.AutoCompleteFor(expression, model, htmlAttributes) + FormDatalistOpenSpan(model); return(new MvcHtmlString(inputGroup.ToString())); }
public static IHtmlString AutoCompleteFor <TModel, TProperty>(this HtmlHelper <TModel> html, Expression <Func <TModel, TProperty> > expression, AbstractDatalist model, Object htmlAttributes = null) { String name = ExpressionHelper.GetExpressionText(expression); String autoComplete = FormAutoComplete(html, model, name, htmlAttributes); String hiddenInput = FormHiddenInputFor(html, expression); return(new MvcHtmlString(autoComplete + hiddenInput)); }