diff --git a/src/TailBlazor.Table/ITailBlazorTableModel.cs b/src/TailBlazor.Table/ITailBlazorTableModel.cs index 46502f3..1563440 100644 --- a/src/TailBlazor.Table/ITailBlazorTableModel.cs +++ b/src/TailBlazor.Table/ITailBlazorTableModel.cs @@ -1,9 +1,10 @@ -namespace TailBlazor.Table -{ - public interface ITailBlazorTableModel - { - string RowClass { get; } - string ChildRowClass { get; } - bool ShowChildTemplate { get; } - } -} +namespace TailBlazor.Table +{ + public interface ITailBlazorTableModel + { + string RowClass { get; } + string ChildRowClass { get; } + bool ShowChildTemplate { get; } + } +} + diff --git a/src/TailBlazor.Table/TailBlazor.Table.csproj b/src/TailBlazor.Table/TailBlazor.Table.csproj index a07e362..9cee938 100644 --- a/src/TailBlazor.Table/TailBlazor.Table.csproj +++ b/src/TailBlazor.Table/TailBlazor.Table.csproj @@ -1,44 +1,42 @@ - - - - net5.0 - TailBlazor.Table - TailBlazor.Table - 1.0.3 - Taylor Watson - true - Blazor; TailBlazorcss; TailBlazor css; tailwind; tailwindcss; Table; Tables; - true - snupkg - MIT - https://github.com/TailBlazor/Table - git - https://github.com/TailBlazor/Table - - A Blazor table component based off TailWindCss. It has the bare minimum styles to function with the option to add your own classes. It's built so it can be fully customizable and reusable for any table type. - - true - true - true - logo.png - MIT - - - - - - - - - - - - - assets - - - assets - - - - \ No newline at end of file + + + + net9.0 + enable + enable + TailBlazor.Table + TailBlazor.Table + 1.0.3 + Taylor Watson + true + Blazor; TailBlazorcss; TailBlazor css; tailwind; tailwindcss; Table; Tables; + true + snupkg + MIT + https://github.com/TailBlazor/Table + git + https://github.com/TailBlazor/Table + + A Blazor table component based off TailWindCss. It has the bare minimum styles to function with the option to add your own classes. It's built so it can be fully customizable and reusable for any table type. + + true + true + true + logo.png + MIT + + + + + + + + + assets + + + assets + + + + diff --git a/src/TailBlazor.Table/TailBlazorTable.razor b/src/TailBlazor.Table/TailBlazorTable.razor index 0cb99b3..00100c6 100644 --- a/src/TailBlazor.Table/TailBlazorTable.razor +++ b/src/TailBlazor.Table/TailBlazorTable.razor @@ -1,7 +1,8 @@ -@namespace TailBlazor.Table - - - - @ChildContent - -
\ No newline at end of file +@namespace TailBlazor.Table + + + + @ChildContent + +
+ diff --git a/src/TailBlazor.Table/TailBlazorTable.razor.cs b/src/TailBlazor.Table/TailBlazorTable.razor.cs index 5a14b3c..2c5d002 100644 --- a/src/TailBlazor.Table/TailBlazorTable.razor.cs +++ b/src/TailBlazor.Table/TailBlazorTable.razor.cs @@ -1,11 +1,14 @@ -using System.Collections.Generic; -using Microsoft.AspNetCore.Components; - -namespace TailBlazor.Table -{ - public partial class TailBlazorTable - { - [Parameter] public RenderFragment ChildContent { get; set; } - [Parameter] public string Class { get; set; } = "min-w-full"; - } -} +using Microsoft.AspNetCore.Components; + +namespace TailBlazor.Table +{ + public partial class TailBlazorTable + { + [Parameter, EditorRequired] + public RenderFragment ChildContent { get; set; } = default!; + + [Parameter] + public string Class { get; set; } = "min-w-full"; + } +} + diff --git a/src/TailBlazor.Table/TailBlazorTableBody.razor b/src/TailBlazor.Table/TailBlazorTableBody.razor index 3b0efe6..1b7749f 100644 --- a/src/TailBlazor.Table/TailBlazorTableBody.razor +++ b/src/TailBlazor.Table/TailBlazorTableBody.razor @@ -2,7 +2,7 @@ @typeparam TItem - @for (int i = 0; i < _items.Count(); i++) + @for (int i = 0; i < _items.Count; i++) { int itemId = i; var item = _items[itemId]; @@ -10,11 +10,12 @@ @RowContent(item) - @if (item.ShowChildTemplate) + @if (item.ShowChildTemplate && ChildRowContent is not null) { @ChildRowContent(item) } } - \ No newline at end of file + + diff --git a/src/TailBlazor.Table/TailBlazorTableBody.razor.cs b/src/TailBlazor.Table/TailBlazorTableBody.razor.cs index e8123ca..4ed4d16 100644 --- a/src/TailBlazor.Table/TailBlazorTableBody.razor.cs +++ b/src/TailBlazor.Table/TailBlazorTableBody.razor.cs @@ -1,6 +1,6 @@ +using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNetCore.Components; namespace TailBlazor.Table @@ -8,15 +8,27 @@ namespace TailBlazor.Table public partial class TailBlazorTableBody where TItem : ITailBlazorTableModel { - [Parameter] public RenderFragment RowContent { get; set; } - [Parameter] public RenderFragment ChildRowContent { get; set; } - [Parameter] public IEnumerable Items { get; set; } - [Parameter] public string Class { get; set; } = "bg-white divide-y divide-gray-300"; - [Parameter] public bool StripeRows { get; set; } = true; - List _items = new List(); + [Parameter, EditorRequired] + public RenderFragment RowContent { get; set; } = default!; + + [Parameter] + public RenderFragment? ChildRowContent { get; set; } + + [Parameter] + public IEnumerable Items { get; set; } = Array.Empty(); + + [Parameter] + public string Class { get; set; } = "bg-white divide-y divide-gray-300"; + + [Parameter] + public bool StripeRows { get; set; } = true; + + private List _items = new(); + protected override void OnParametersSet() { - _items = Items.ToList(); + _items = (Items ?? Enumerable.Empty()).ToList(); } } -} \ No newline at end of file +} + diff --git a/src/TailBlazor.Table/TailBlazorTableHeader.razor b/src/TailBlazor.Table/TailBlazorTableHeader.razor index 4ce48fd..ce6734b 100644 --- a/src/TailBlazor.Table/TailBlazorTableHeader.razor +++ b/src/TailBlazor.Table/TailBlazorTableHeader.razor @@ -4,4 +4,5 @@ @ChildContent - \ No newline at end of file + + diff --git a/src/TailBlazor.Table/TailBlazorTableHeader.razor.cs b/src/TailBlazor.Table/TailBlazorTableHeader.razor.cs index e9deba5..7c7e490 100644 --- a/src/TailBlazor.Table/TailBlazorTableHeader.razor.cs +++ b/src/TailBlazor.Table/TailBlazorTableHeader.razor.cs @@ -1,12 +1,14 @@ -using System.Collections.Generic; using Microsoft.AspNetCore.Components; namespace TailBlazor.Table { public partial class TailBlazorTableHeader { - [Parameter] public RenderFragment ChildContent { get; set; } + [Parameter] + public RenderFragment? ChildContent { get; set; } - [Parameter] public string Class { get; set; } = "bg-gray-50"; + [Parameter] + public string Class { get; set; } = "bg-gray-50"; } } + diff --git a/src/TailBlazor.Table/_Imports.razor b/src/TailBlazor.Table/_Imports.razor index ba6bbe2..dbd903a 100644 --- a/src/TailBlazor.Table/_Imports.razor +++ b/src/TailBlazor.Table/_Imports.razor @@ -1 +1,2 @@ -@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web +