public MultiselectSample() { var @select = new SelectElement { Id = "mymulti", Class = "form-control", Multiple = true }; var toggle = new Button { Class = "btn btn-primary" }; toggle.AppendChild(new TextNode("Toggle")); @select.AddOption("N", "North"); @select.AddOption("E", "East"); @select.AddOption("S", "South"); @select.AddOption("W", "West"); toggle.On("click", () => { foreach (var child in @select.Children) { if (child is OptionElement option) { option.Selected = !option.Selected; } } return(Task.CompletedTask); }); Root = Element.Create("div"); Root.Class = "form-row"; var builder = new LaraBuilder(Root); builder .Push("div", "form-group col-md-2") .Push(@select) .Pop() .Pop() .Push("div", "form-group col-md-1") .Push(toggle) .Pop() .Pop(); }
public void SelectAddOption() { var x = new SelectElement(); x.AddOption("myvalue", "this is the text"); var option = x.Options.FirstOrDefault(); Assert.NotNull(option); Assert.Equal("myvalue", option.Value); var text = option.Children.FirstOrDefault() as TextNode; Assert.NotNull(text); Assert.Equal("this is the text", text !.Data); }
public SelectSample() { var @select = new SelectElement { Id = "myselect", Class = "form-control", }; var advance = new Button { Class = "btn btn-primary" }; advance.AppendChild(new TextNode("Advance")); @select.AddOption("0", "Monday"); @select.AddOption("1", "Tuesday"); @select.AddOption("2", "Wednesday"); @select.AddOption("3", "Thursday"); @select.AddOption("4", "Friday"); @select.AddOption("5", "Saturday"); @select.AddOption("6", "Sunday"); advance.On("click", () => { int.TryParse(@select.Value, NumberStyles.Any, CultureInfo.InvariantCulture, out var weekday); weekday = (weekday + 1) % 7; @select.Value = weekday.ToString(CultureInfo.InvariantCulture); return(Task.CompletedTask); }); Root = Element.Create("div"); Root.Class = "form-row"; var builder = new LaraBuilder(Root); builder .Push("div", "form-group col-md-2") .Push(@select) .Pop() .Pop() .Push("div", "form-group col-md-1") .Push(advance) .Pop() .Pop(); }