public void Visit(HtmlDatePicker h) { sb.Append(Tabs(h.Depth)); sb.Append(string.Format("<{0}", h.Tag)); foreach (var a in h.Attributes.Where(a => a.IsSet)) { sb.Append(a); } sb.AppendLine(">"); }
public virtual void Visit(FormDatePicker formDatePicker, HtmlContainer htmlContainer) { HtmlFieldset htmlFieldset = verbose ? new HtmlFieldset(formDatePicker.Path) : new HtmlFieldset(); htmlFieldset.Class.Add("formDatePicker"); if (!string.IsNullOrWhiteSpace(formDatePicker.CssClass)) { htmlFieldset.Class.AddRange(formDatePicker.CssClass.Split(' ').Where(s => s != string.Empty)); } htmlFieldset.Class.Add("form-group"); if (!string.IsNullOrWhiteSpace(formDatePicker.Path)) { htmlFieldset.Class.Add(string.Format("{0}{1}", "formId", formDatePicker.Path)); } htmlFieldset.Class.Add("formField"); if (initialize) { htmlFieldset.Class.Add(formDatePicker.IsRequired ? "formRequired" : "formOptional"); } else { if (!formDatePicker.IsRequired || formDatePicker.HasValue) { htmlFieldset.Class.Add(formDatePicker.IsValid ? "formValid" : "formInvalid"); } else { htmlFieldset.Class.Add(formDatePicker.IsRequired ? "formNotEntered" : "formOptional"); } } htmlFieldset.Hidden.Value = formDatePicker.IsHidden; htmlContainer.Add(htmlFieldset); HtmlDatePicker htmlDatePicker = new HtmlDatePicker(formDatePicker.Path); htmlDatePicker.Class.Add("form-control"); htmlDatePicker.Disabled.Value = formDatePicker.IsDisabled; htmlDatePicker.ReadOnly.Value = formDatePicker.IsReadOnly; htmlDatePicker.DataDateFormat.Value = formDatePicker.DateFormat; htmlDatePicker.Value.Value = formDatePicker.HasValue ? formDatePicker.Value.ToString(formDatePicker.DateFormat.Replace('m', 'M'), CultureInfo.InvariantCulture) : ""; htmlDatePicker.Placeholder.Value = !string.IsNullOrEmpty(formDatePicker.Placeholder) ? formDatePicker.Placeholder : null; htmlDatePicker.AutoComplete.Value = "off"; if (formDatePicker.IsReadOnly) { htmlDatePicker.DataProvide.Value = null; } if (!initialize && firstInvalidId == null) { if (formDatePicker.IsRequired && !formDatePicker.HasValue || !formDatePicker.IsValid) { firstInvalidId = htmlDatePicker.Id.Value; } } switch (formDatePicker.OrderElements) { case OrderElements.LabelMarkInput: AddLabelMark(formDatePicker, htmlDatePicker, htmlFieldset); htmlFieldset.Add(htmlDatePicker); break; case OrderElements.MarkLabelInput: AddMarkLabel(formDatePicker, htmlDatePicker, htmlFieldset); htmlFieldset.Add(htmlDatePicker); break; case OrderElements.InputLabelMark: htmlFieldset.Add(htmlDatePicker); AddLabelMark(formDatePicker, htmlDatePicker, htmlFieldset); break; case OrderElements.InputMarkLabel: htmlFieldset.Add(htmlDatePicker); AddMarkLabel(formDatePicker, htmlDatePicker, htmlFieldset); break; case OrderElements.LabelInputMark: AddLabel(formDatePicker, htmlDatePicker, htmlFieldset); htmlFieldset.Add(htmlDatePicker); AddMark(formDatePicker, htmlDatePicker, htmlFieldset); break; case OrderElements.MarkInputLabel: AddMark(formDatePicker, htmlDatePicker, htmlFieldset); htmlFieldset.Add(htmlDatePicker); AddLabel(formDatePicker, htmlDatePicker, htmlFieldset); break; default: case OrderElements.NotSet: break; } if (initialize) { return; } string message = null; if (formDatePicker.UseLastMessage) { if (!string.IsNullOrEmpty(formDatePicker.LastMessage)) { message = formDatePicker.LastMessage; } } else if (formDatePicker.IsRequired && !formDatePicker.HasValue) { message = formDatePicker.RequiredMessage; } else if (!formDatePicker.IsValid) { message = formDatePicker.ValidationMessage; } if (message == null) { return; } HtmlLabel htmlLabelMessage = new HtmlLabel(verbose ? string.Format("{0}{1}", formDatePicker.Path, "Message") : ""); htmlLabelMessage.Class.Add("formValidationMessage"); htmlLabelMessage.For.Value = htmlDatePicker.Id.Value; htmlLabelMessage.Add(new HtmlText(message)); htmlFieldset.Add(htmlLabelMessage); }