From 987fc23a4dcc79c4cf800a15db0e0e758c168869 Mon Sep 17 00:00:00 2001 From: behrooz bozorg chami Date: Fri, 5 Sep 2025 20:45:32 +0200 Subject: [PATCH 1/4] Add OnDataLoaded EventCallback --- src/StrawberryShake/Client/src/Razor/UseQuery.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/StrawberryShake/Client/src/Razor/UseQuery.cs b/src/StrawberryShake/Client/src/Razor/UseQuery.cs index 94c069cb8f2..dd616b2923b 100644 --- a/src/StrawberryShake/Client/src/Razor/UseQuery.cs +++ b/src/StrawberryShake/Client/src/Razor/UseQuery.cs @@ -21,6 +21,8 @@ public abstract class UseQuery : ComponentBase, IDisposable where TResu [Parameter] public RenderFragment? LoadingContent { get; set; } + [Parameter] public EventCallback OnDataLoaded { get; set; } + protected void Subscribe(IObservable> observable) { _subscription?.Dispose(); @@ -52,6 +54,7 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) if (_isSuccessResult) { builder.AddContent(0, ChildContent, _result!); + OnDataLoaded.InvokeAsync(_result); } base.BuildRenderTree(builder); From db212e58c38671cea1e87ec0a67d77528ee03741 Mon Sep 17 00:00:00 2001 From: behrooz bozorg chami Date: Mon, 22 Sep 2025 15:00:20 +0200 Subject: [PATCH 2/4] Add OnOperationResult EventCallback remove OnDataLoaded --- src/StrawberryShake/Client/src/Razor/UseQuery.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/StrawberryShake/Client/src/Razor/UseQuery.cs b/src/StrawberryShake/Client/src/Razor/UseQuery.cs index dd616b2923b..d85aa57adc1 100644 --- a/src/StrawberryShake/Client/src/Razor/UseQuery.cs +++ b/src/StrawberryShake/Client/src/Razor/UseQuery.cs @@ -21,7 +21,7 @@ public abstract class UseQuery : ComponentBase, IDisposable where TResu [Parameter] public RenderFragment? LoadingContent { get; set; } - [Parameter] public EventCallback OnDataLoaded { get; set; } + [Parameter] public EventCallback> OnOperationResult { get; set; } protected void Subscribe(IObservable> observable) { @@ -36,6 +36,7 @@ protected void Subscribe(IObservable> observable) _isSuccessResult = operationResult.IsSuccessResult(); _isInitializing = false; InvokeAsync(StateHasChanged); + OnOperationResult.InvokeAsync(operationResult); }); } @@ -54,7 +55,6 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) if (_isSuccessResult) { builder.AddContent(0, ChildContent, _result!); - OnDataLoaded.InvokeAsync(_result); } base.BuildRenderTree(builder); From e4649d8c581bbdf0f203adae4d261f863dfee379 Mon Sep 17 00:00:00 2001 From: behrooz bozorg chami Date: Mon, 22 Sep 2025 15:00:37 +0200 Subject: [PATCH 3/4] Add OnOperationResult EventCallback --- src/StrawberryShake/Client/src/Razor/UseSubscription.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/StrawberryShake/Client/src/Razor/UseSubscription.cs b/src/StrawberryShake/Client/src/Razor/UseSubscription.cs index 8a72817cc81..657c3b5d2a8 100644 --- a/src/StrawberryShake/Client/src/Razor/UseSubscription.cs +++ b/src/StrawberryShake/Client/src/Razor/UseSubscription.cs @@ -18,6 +18,7 @@ public abstract class UseSubscription : ComponentBase, IDisposable wher [Parameter] public RenderFragment>? ErrorContent { get; set; } [Parameter] public RenderFragment? LoadingContent { get; set; } + [Parameter] public EventCallback> OnOperationResult { get; set; } protected void Subscribe(IObservable> observable) { @@ -32,6 +33,7 @@ protected void Subscribe(IObservable> observable) _isSuccessResult = operationResult.IsSuccessResult(); _isInitializing = false; InvokeAsync(StateHasChanged); + OnOperationResult.InvokeAsync(operationResult); }); } From b021748d11280bad76ce276b1c3b8fa51eea6a1f Mon Sep 17 00:00:00 2001 From: Glen Date: Wed, 24 Sep 2025 09:35:34 +0200 Subject: [PATCH 4/4] Formatting --- src/StrawberryShake/Client/src/Razor/UseSubscription.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/StrawberryShake/Client/src/Razor/UseSubscription.cs b/src/StrawberryShake/Client/src/Razor/UseSubscription.cs index 657c3b5d2a8..f2d82205726 100644 --- a/src/StrawberryShake/Client/src/Razor/UseSubscription.cs +++ b/src/StrawberryShake/Client/src/Razor/UseSubscription.cs @@ -18,6 +18,7 @@ public abstract class UseSubscription : ComponentBase, IDisposable wher [Parameter] public RenderFragment>? ErrorContent { get; set; } [Parameter] public RenderFragment? LoadingContent { get; set; } + [Parameter] public EventCallback> OnOperationResult { get; set; } protected void Subscribe(IObservable> observable)