Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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()));
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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()));
        }
Ejemplo n.º 6
0
        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));
        }