From 5fcc0580cd75e3552872233fc1507eceb5b123ac Mon Sep 17 00:00:00 2001 From: John J Bomhold Date: Mon, 7 Dec 2020 17:08:17 -0600 Subject: [PATCH] Addresses multipul issues --- .../Components/Dropdown/BSDropdown.razor.cs | 11 ++++++ .../Dropdown/BSDropdownItem.razor.cs | 6 +++- .../Components/Model/BSModalHeader.razor | 3 ++ .../Components/Model/BSModalHeader.razor.cs | 1 + src/SampleCore/Pages/Samples/Issue154.razor | 36 ++++++++++++++----- .../Pages/Samples/Issue278Types/Customer.cs | 1 + src/SampleCore/Pages/Samples/Issue356.razor | 8 +++++ src/SampleCore/Pages/Samples/Issue371.razor | 28 +++++++++++++++ src/SampleCore/Pages/Samples/Issue403.razor | 16 +++++++++ src/SampleCore/Shared/MainLayout.razor | 1 + 10 files changed, 102 insertions(+), 9 deletions(-) create mode 100644 src/SampleCore/Pages/Samples/Issue356.razor create mode 100644 src/SampleCore/Pages/Samples/Issue371.razor create mode 100644 src/SampleCore/Pages/Samples/Issue403.razor diff --git a/src/BlazorStrap/Components/Dropdown/BSDropdown.razor.cs b/src/BlazorStrap/Components/Dropdown/BSDropdown.razor.cs index 1a943ef8..d94c6f32 100644 --- a/src/BlazorStrap/Components/Dropdown/BSDropdown.razor.cs +++ b/src/BlazorStrap/Components/Dropdown/BSDropdown.razor.cs @@ -45,6 +45,17 @@ public BSDropdownMenu Selected { _selected = value; if (_selected != null) _selected.Changed(true); + if(_selected == null) + { + if(Dropdown != null) + { + Dropdown.Selected = _selected; + } + else if(NavItem != null) + { + NavItem.Selected = _selected; + } + } InvokeAsync(StateHasChanged); } } diff --git a/src/BlazorStrap/Components/Dropdown/BSDropdownItem.razor.cs b/src/BlazorStrap/Components/Dropdown/BSDropdownItem.razor.cs index 2e5384ac..d23a6e61 100644 --- a/src/BlazorStrap/Components/Dropdown/BSDropdownItem.razor.cs +++ b/src/BlazorStrap/Components/Dropdown/BSDropdownItem.razor.cs @@ -45,10 +45,14 @@ protected void OnClickEvent(MouseEventArgs e) { OnClick.InvokeAsync(e); } - if (!StayOpen && DropDown?.IsSubmenu == false && !HasSubMenu) + // Not Sure why I had this here commented out. Will remove after full testing. + // if (!StayOpen && DropDown?.IsSubmenu == false && !HasSubMenu) + // { + if (!StayOpen) { DropDown.Selected = null; } + // } } protected override void OnInitialized() diff --git a/src/BlazorStrap/Components/Model/BSModalHeader.razor b/src/BlazorStrap/Components/Model/BSModalHeader.razor index faaa24f5..765e58bf 100644 --- a/src/BlazorStrap/Components/Model/BSModalHeader.razor +++ b/src/BlazorStrap/Components/Model/BSModalHeader.razor @@ -2,7 +2,10 @@
@ChildContent
+ @if (!HideCloseButton) + { + }
\ No newline at end of file diff --git a/src/BlazorStrap/Components/Model/BSModalHeader.razor.cs b/src/BlazorStrap/Components/Model/BSModalHeader.razor.cs index 6e833b44..97dfbd33 100644 --- a/src/BlazorStrap/Components/Model/BSModalHeader.razor.cs +++ b/src/BlazorStrap/Components/Model/BSModalHeader.razor.cs @@ -20,6 +20,7 @@ public partial class BSModalHeader : ComponentBase [Parameter] public EventCallback OnClick { get; set; } [Parameter] public string Class { get; set; } + [Parameter] public bool HideCloseButton { get; set; } [Parameter] public string HeadingClass { get; set; } [Parameter] public RenderFragment ChildContent { get; set; } diff --git a/src/SampleCore/Pages/Samples/Issue154.razor b/src/SampleCore/Pages/Samples/Issue154.razor index 361160a5..08af574a 100644 --- a/src/SampleCore/Pages/Samples/Issue154.razor +++ b/src/SampleCore/Pages/Samples/Issue154.razor @@ -1,10 +1,10 @@ @page "/samples/issue154" -@layout Layout104 - + + @foreach (var tab in _tabList) { - + @tab.Label X @tab.Content @@ -14,11 +14,12 @@ @code{ - private class SimpleTab - { - public string Id { get; set; } - public string Label { get; set; } - public string Content { get; set; } + BSTabGroup tabs; + private class SimpleTab + { + public string Id { get; set; } + public string Label { get; set; } + public string Content { get; set; } public SimpleTab(string label, string content) { @@ -42,7 +43,26 @@ var tab = this._tabList.FirstOrDefault(x => x.Id == tabId); if (tab != null) { + + if(tab.Id == tabs.Selected.Id) + { + string nextid = new Guid().ToString(); + if (_tabList.IndexOf(tab) > 0) + { + nextid = _tabList[_tabList.IndexOf(tab) - 1].Id; + } + else if(_tabList.Count > 1) + { + nextid = _tabList[_tabList.IndexOf(tab) + 1].Id; + } + if (nextid != new Guid().ToString()) + tabs.SelectTabById(nextid); + + } + this._tabList.Remove(tab); + + } StateHasChanged(); } diff --git a/src/SampleCore/Pages/Samples/Issue278Types/Customer.cs b/src/SampleCore/Pages/Samples/Issue278Types/Customer.cs index ef42b44d..9f2addeb 100644 --- a/src/SampleCore/Pages/Samples/Issue278Types/Customer.cs +++ b/src/SampleCore/Pages/Samples/Issue278Types/Customer.cs @@ -9,6 +9,7 @@ public class Customer public bool? Checked { get; set; } public string FirstName { get; set; } public string LastName { get; set; } + public Address Address { get; } = new Address(); public List PaymentMethods { get; } = new List(); } diff --git a/src/SampleCore/Pages/Samples/Issue356.razor b/src/SampleCore/Pages/Samples/Issue356.razor new file mode 100644 index 00000000..69cb98e1 --- /dev/null +++ b/src/SampleCore/Pages/Samples/Issue356.razor @@ -0,0 +1,8 @@ +@page "/Samples/Issue356" + + + +@code +{ + string amount = "0.10"; +} \ No newline at end of file diff --git a/src/SampleCore/Pages/Samples/Issue371.razor b/src/SampleCore/Pages/Samples/Issue371.razor new file mode 100644 index 00000000..901f5932 --- /dev/null +++ b/src/SampleCore/Pages/Samples/Issue371.razor @@ -0,0 +1,28 @@ +@page "/samples/issue371" +@using System.ComponentModel.DataAnnotations; + + + + Email Address + + + + + + +@code +{ + FormsModel Model = new FormsModel(); + public class FormsModel + { + + public string Valid { get; set; } + public DateTime Date { get; set; } + [Required(AllowEmptyStrings = false, ErrorMessage = "Oh noes! that name is already taken")] + public string InValid { get; set; } + public string Blank { get; set; } + [Required] + [EmailAddress] + public string Email { get; set; } = "email@example.com"; + } +} \ No newline at end of file diff --git a/src/SampleCore/Pages/Samples/Issue403.razor b/src/SampleCore/Pages/Samples/Issue403.razor new file mode 100644 index 00000000..981c1773 --- /dev/null +++ b/src/SampleCore/Pages/Samples/Issue403.razor @@ -0,0 +1,16 @@ +@page "/samples/issue403" +Launch demo modal + + Modal title + Modal title2 + Modal title3 +

Modal body text goes here.

+ + Close + Save Changes + +
+ +@code { + BSModal LiveDemo { get; set; } +} \ No newline at end of file diff --git a/src/SampleCore/Shared/MainLayout.razor b/src/SampleCore/Shared/MainLayout.razor index f987848f..cca6674d 100644 --- a/src/SampleCore/Shared/MainLayout.razor +++ b/src/SampleCore/Shared/MainLayout.razor @@ -30,6 +30,7 @@ { if (isServerSide && firstrun) { + System.Diagnostics.Debug.WriteLine("test"); await BootstrapCSS.SetBootstrapCSS("4.5.0"); } }