From 7debfa7b9fc139928d5a78eb3049ba69fbcf6f2a Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Fri, 30 May 2025 11:16:34 +0200 Subject: [PATCH] Add support for a tab change callback in the CodeTabs component --- app/MindWork AI Studio/Components/CodeTabs.razor | 2 +- app/MindWork AI Studio/Components/CodeTabs.razor.cs | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/MindWork AI Studio/Components/CodeTabs.razor b/app/MindWork AI Studio/Components/CodeTabs.razor index 0ae667c4..91556682 100644 --- a/app/MindWork AI Studio/Components/CodeTabs.razor +++ b/app/MindWork AI Studio/Components/CodeTabs.razor @@ -1,4 +1,4 @@ - + @foreach (var block in this.blocks) { diff --git a/app/MindWork AI Studio/Components/CodeTabs.razor.cs b/app/MindWork AI Studio/Components/CodeTabs.razor.cs index cbc579e4..668ee84a 100644 --- a/app/MindWork AI Studio/Components/CodeTabs.razor.cs +++ b/app/MindWork AI Studio/Components/CodeTabs.razor.cs @@ -10,6 +10,9 @@ public partial class CodeTabs : ComponentBase [Parameter] public int SelectedIndex { get; set; } + [Parameter] + public EventCallback SelectedIndexChanged { get; set; } + private readonly List blocks = new(); internal void RegisterBlock(string title, RenderFragment fragment) @@ -29,4 +32,11 @@ public partial class CodeTabs : ComponentBase public RenderFragment Fragment { get; init; } = null!; } + + private async Task TabChanged(int index) + { + this.SelectedIndex = index; + await this.SelectedIndexChanged.InvokeAsync(index); + await this.InvokeAsync(this.StateHasChanged); + } } \ No newline at end of file