From 12eaa5814ef20b0910e8d64a753378b6f6797989 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Fri, 22 May 2026 00:52:16 +1000 Subject: Initial commit --- Server.Client/Pages/Component/TabContainer.razor | 35 ++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Server.Client/Pages/Component/TabContainer.razor (limited to 'Server.Client/Pages/Component/TabContainer.razor') diff --git a/Server.Client/Pages/Component/TabContainer.razor b/Server.Client/Pages/Component/TabContainer.razor new file mode 100644 index 0000000..3caab0b --- /dev/null +++ b/Server.Client/Pages/Component/TabContainer.razor @@ -0,0 +1,35 @@ + + +
+ @foreach(var pane in Panes) { + ActivePane = pane) class="@(pane == ActivePane ? "selected" : "")"> + @pane.Title + + } +
+ + + @ChildContent + + +@code { + [Parameter] + public RenderFragment ChildContent { get; set; } + + public TabPane? ActivePane { get; set; } + List Panes = new(); + + public void AddPane(TabPane tabPane) { + Panes.Add(tabPane); + if(Panes.Count == 1) + ActivePane = tabPane; + StateHasChanged(); + } + + public void RemovePane(TabPane tabPane) { + if(ActivePane == tabPane) + ActivePane = Panes.ElementAtOrDefault(0); + Panes.Remove(tabPane); + StateHasChanged(); + } +} \ No newline at end of file -- cgit v1.3