public TagBuilder AppendElement(TextArea formProperty, string existingValue, FormRenderingType formRenderingType)
        {
            var tagBuilder = new TagBuilder("textarea");

            tagBuilder.Attributes["name"] = formProperty.Name;
            tagBuilder.Attributes["id"]   = formProperty.GetHtmlId();

            if (formProperty.Required)
            {
                tagBuilder.Attributes["data-val"]          = "true";
                tagBuilder.Attributes["data-val-required"] =
                    string.Format("The field {0} is required",
                                  string.IsNullOrWhiteSpace(formProperty.LabelText)
                                      ? formProperty.Name
                                      : formProperty.LabelText);
            }
            if (!string.IsNullOrWhiteSpace(formProperty.CssClass))
            {
                tagBuilder.AddCssClass(formProperty.CssClass);
            }
            if (formRenderingType == FormRenderingType.Bootstrap3)
            {
                tagBuilder.AddCssClass("form-control");
            }
            tagBuilder.InnerHtml = existingValue;
            return(tagBuilder);
        }
 public virtual List <SelectListItem> GetFormRendererOptions(FormRenderingType defaultFormRendererType)
 {
     return(Enum.GetValues(typeof(FormRenderingType)).Cast <FormRenderingType>()
            .BuildSelectItemList(type => type.ToString().BreakUpString(),
                                 type => type.ToString(),
                                 type => type == defaultFormRendererType,
                                 emptyItem: null));
 }
 public virtual List<SelectListItem> GetFormRendererOptions(FormRenderingType defaultFormRendererType)
 {
     return Enum.GetValues(typeof (FormRenderingType)).Cast<FormRenderingType>()
         .BuildSelectItemList(type => type.ToString().BreakUpString(),
             type => type.ToString(),
             type => type == defaultFormRendererType,
             emptyItem: null);
 }
 public TagBuilder GetElementContainer(FormRenderingType formRendererType, FormProperty property)
 {
     if (formRendererType == FormRenderingType.Bootstrap3)
     {
         if (property is TextBox || property is TextArea || property is DropDownList || property is FileUpload)
         {
             TagBuilder elementContainer = new TagBuilder("div");
             elementContainer.AddCssClass("form-group");
             return(elementContainer);
         }
     }
     return(null);
 }
 public TagBuilder AppendElement(FormProperty formProperty, string existingValue, FormRenderingType formRenderingType)
 {
     return(AppendElement(formProperty as TextArea, existingValue, formRenderingType));
 }
Exemple #6
0
        public TagBuilder AppendElement(DropDownList formProperty, string existingValue, FormRenderingType formRenderingType)
        {
            TagBuilder tagBuilder = new TagBuilder("select");

            tagBuilder.Attributes["name"] = formProperty.Name;
            tagBuilder.Attributes["id"]   = formProperty.GetHtmlId();

            if (formProperty.Required)
            {
                tagBuilder.Attributes["data-val"]          = "true";
                tagBuilder.Attributes["data-val-required"] =
                    string.Format("The field {0} is required",
                                  string.IsNullOrWhiteSpace(formProperty.LabelText)
                                      ? formProperty.Name
                                      : formProperty.LabelText);
            }
            if (!string.IsNullOrWhiteSpace(formProperty.CssClass))
            {
                tagBuilder.AddCssClass(formProperty.CssClass);
            }
            if (formRenderingType == FormRenderingType.Bootstrap3)
            {
                tagBuilder.AddCssClass("form-control");
            }

            foreach (FormListOption option in formProperty.Options)
            {
                tagBuilder.InnerHtml += _dropDownListOptionRenderer.GetOption(option, existingValue);
            }
            return(tagBuilder);
        }
 public TagBuilder AppendElement(FormProperty formProperty, string existingValue, FormRenderingType formRenderingType)
 {
     return(AppendElement(formProperty as RadioButtonList, existingValue, formRenderingType));
 }
        public TagBuilder AppendElement(RadioButtonList formProperty, string existingValue, FormRenderingType formRenderingType)
        {
            var values = existingValue == null
                             ? new List <string>()
                             : existingValue.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                         .Select(s => s.Trim())
                         .ToList();

            var tagBuilder = new TagBuilder("div");

            foreach (var checkbox in formProperty.Options)
            {
                var cbLabelBuilder = new TagBuilder("label");
                cbLabelBuilder.Attributes["for"] = TagBuilder.CreateSanitizedId(formProperty.Name + "-" + checkbox.Value);
                cbLabelBuilder.InnerHtml         = checkbox.Value;
                cbLabelBuilder.AddCssClass("radio");

                var radioButtonBuilder = new TagBuilder("input");
                radioButtonBuilder.Attributes["type"]  = "radio";
                radioButtonBuilder.Attributes["value"] = checkbox.Value;
                radioButtonBuilder.AddCssClass(formProperty.CssClass);

                if (existingValue != null)
                {
                    if (values.Contains(checkbox.Value))
                    {
                        radioButtonBuilder.Attributes["checked"] = "checked";
                    }
                }
                else if (checkbox.Selected)
                {
                    radioButtonBuilder.Attributes["checked"] = "checked";
                }

                if (formProperty.Required)
                {
                    radioButtonBuilder.Attributes["data-val"]          = "true";
                    radioButtonBuilder.Attributes["data-val-required"] =
                        string.Format("The field {0} is required",
                                      string.IsNullOrWhiteSpace(formProperty.LabelText)
                                          ? formProperty.Name
                                          : formProperty.LabelText);
                }

                radioButtonBuilder.Attributes["name"] = formProperty.Name;
                radioButtonBuilder.Attributes["id"]   = TagBuilder.CreateSanitizedId(formProperty.Name + "-" + checkbox.Value);
                cbLabelBuilder.InnerHtml += radioButtonBuilder.ToString();
                if (formRenderingType == FormRenderingType.Bootstrap3)
                {
                    var radioContainer = new TagBuilder("div");
                    radioContainer.AddCssClass("radio");
                    radioContainer.InnerHtml += cbLabelBuilder.ToString();
                    tagBuilder.InnerHtml     += radioContainer;
                }
                else
                {
                    tagBuilder.InnerHtml += cbLabelBuilder;
                }
            }
            return(tagBuilder);
        }
Exemple #9
0
        public TagBuilder AppendElement(CheckboxList formProperty, string existingValue, FormRenderingType formRenderingType)
        {
            var values = existingValue == null
                                ? new List <string>()
                                : existingValue.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                         .Select(s => s.Trim())
                         .ToList();

            values.Remove(CbHiddenValue);

            var tagBuilder = new TagBuilder("div");

            foreach (var checkbox in formProperty.Options)
            {
                var cbLabelBuilder = new TagBuilder("label");
                cbLabelBuilder.Attributes["for"] = TagBuilder.CreateSanitizedId(formProperty.Name + "-" + checkbox.Value);
                var checkboxBuilder = GetCheckbox(formProperty, existingValue, checkbox, values);

                cbLabelBuilder.InnerHtml += checkboxBuilder.ToString();
                cbLabelBuilder.InnerHtml += checkbox.Value;

                if (formRenderingType == FormRenderingType.Bootstrap3)
                {
                    var checkboxContainer = new TagBuilder("div");
                    checkboxContainer.AddCssClass("checkbox");
                    checkboxContainer.InnerHtml += cbLabelBuilder.ToString();
                    tagBuilder.InnerHtml        += checkboxContainer;
                }
                else
                {
                    tagBuilder.InnerHtml += cbLabelBuilder;
                }
            }

            var cbHiddenBuilder = new TagBuilder("input");

            cbHiddenBuilder.Attributes["type"]  = "hidden";
            cbHiddenBuilder.Attributes["name"]  = formProperty.Name;
            cbHiddenBuilder.Attributes["value"] = CbHiddenValue;
            tagBuilder.InnerHtml += cbHiddenBuilder.ToString();

            return(tagBuilder);
        }
        public TagBuilder AppendElement(FileUpload formProperty, string existingValue, FormRenderingType formRenderingType)
        {
            TagBuilder tagBuilder = new TagBuilder("input");

            tagBuilder.Attributes["type"] = "file";
            tagBuilder.Attributes["name"] = formProperty.Name;
            tagBuilder.Attributes["id"]   = formProperty.GetHtmlId();

            if (formProperty.Required)
            {
                tagBuilder.Attributes["data-val"]          = "true";
                tagBuilder.Attributes["data-val-required"] =
                    string.Format("The field {0} is required",
                                  string.IsNullOrWhiteSpace(formProperty.LabelText)
                                      ? formProperty.Name
                                      : formProperty.LabelText);
            }
            return(tagBuilder);
        }