Beispiel #1
0
        protected override void BuildControl(System.Web.Mvc.TagBuilder builder, Products.CustomFieldDefinition field, string value, object htmlAttributes, System.Web.Mvc.ViewContext viewContext)
        {
            builder.AddCssClass("form-list");

            var itemsHtml = new StringBuilder();
            var i         = 0;

            foreach (var item in field.SelectionItems)
            {
                itemsHtml.AppendLine("<li>");

                var radioId = field.Name + "_" + i;
                var radio   = new TagBuilder("input");
                radio.MergeAttribute("id", radioId);
                radio.MergeAttribute("type", "radio");
                radio.MergeAttribute("name", field.Name);
                radio.MergeAttribute("value", item.Value);

                var label = new TagBuilder("label");
                label.InnerHtml = item.Text;
                label.AddCssClass("inline");
                label.MergeAttribute("for", radioId);

                itemsHtml.AppendLine(radio.ToString(TagRenderMode.SelfClosing));
                itemsHtml.AppendLine(label.ToString());

                itemsHtml.AppendLine("</li>");

                i++;
            }

            builder.InnerHtml = itemsHtml.ToString();

            base.BuildControl(builder, field, value, htmlAttributes, viewContext);
        }
Beispiel #2
0
 protected override void BuildControl(System.Web.Mvc.TagBuilder builder, Products.CustomFieldDefinition field, string value, object htmlAttributes, System.Web.Mvc.ViewContext viewContext)
 {
     builder.MergeAttribute("data-toggle", "datepicker");
     base.BuildControl(builder, field, value, htmlAttributes, viewContext);
 }
Beispiel #3
0
        public override string GetFieldDisplayText(Products.CustomFieldDefinition fieldDefinition, string fieldValue)
        {
            var item = fieldDefinition.SelectionItems.FirstOrDefault(i => i.Value == fieldValue);

            return(item == null ? fieldValue : item.Text);
        }
Beispiel #4
0
 public IEnumerable <System.Web.Mvc.ModelClientValidationRule> GetClientValidationRules(Products.CustomFieldDefinition field, Products.FieldValidationRule rule)
 {
     if (!String.IsNullOrWhiteSpace(rule.ValidatorConfig))
     {
         var data = JsonConvert.DeserializeObject <StringLengthValidatorConfig>(rule.ValidatorConfig);
         yield return(new ModelClientValidationStringLengthRule(rule.ErrorMessage, data.MinLength, data.MaxLength));
     }
 }