public NumericTextbox(string name, NumericTheme theme = null, HtmlParsingMode parsingMode = HtmlParsingMode.Auto, HtmlParsingOptions parsingOptions = HtmlParsingOptions.Default, DocType docType = DocType.Default) : base(HtmlTag.Div, parsingMode, parsingOptions, docType) { if (theme == null) { theme = DefaultTheme; } Target = name.StartsWith("#") ? name : "#" + name; Attr("data-toggle", "numeric"); AddClass(theme.Wrapper); _displayInput = new TextBox(); Append(_displayInput.AddClass(theme.Input)); _valueInput = new HiddenField { Name = name, Id = name }; Append(_valueInput); _increaseButton = new Button(); _increaseIcon = new CommonElement(HtmlTag.I); _increaseButton.AddClass(theme.IncreaseButton).Append(_increaseIcon.AddClass(theme.IncreaseIcon)); _decreaseButton = new Button(); _decreaseIcon = new CommonElement(HtmlTag.I); _decreaseButton.AddClass(theme.DecreaseButton).Append(_decreaseIcon.AddClass(theme.DecreaseIcon)); _addon = new CommonElement(HtmlTag.Span); _addon.AddClass(theme.Addon).Append(_increaseButton).Append(_decreaseButton); Append(_addon); }
public DateControl(ControlModel <DateTime?> model, DateOptions dateOptions = null) { var inner = new ControlHolder() .Append(new Label <DateTime?>(model)); var tb = new TextBox <DateTime?>(model) .After(new StatusMessage()); inner.Append(tb.WrapWith(new ControlWrapper())); tb.AddClass("datepicker js-datepicker vh"); tb.Attr("aria-hidden", "true"); dateOptions = dateOptions ?? new DateOptions(); if (model.Value != null) { tb.Value(model.Value?.ToString(dateOptions.Format)); } tb.Data("format", dateOptions.Format.ToUpperInvariant()); tb.Data("output-format", dateOptions.OutputFormat.ToUpperInvariant()); tb.Data("year-range", dateOptions.YearRange); tb.Data("today", dateOptions.ShowToday); Inner = inner; }