From f1a5597380a80395b743b2022c18251babb0e9d5 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Thu, 4 Jun 2026 13:59:07 +1000 Subject: Added Razor components for loadable remote content --- Pages/Component/LoadingState.razor | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Pages/Component/LoadingState.razor (limited to 'Pages/Component/LoadingState.razor') diff --git a/Pages/Component/LoadingState.razor b/Pages/Component/LoadingState.razor new file mode 100644 index 0000000..0a7cffc --- /dev/null +++ b/Pages/Component/LoadingState.razor @@ -0,0 +1,23 @@ +@implements IDisposable +@typeparam T + +@if(Parent.ComponentState == ComponentState.Loading) { + @ChildContent +} + +@code { + [Parameter] + public RenderFragment? ChildContent { get; set; } + + [CascadingParameter] + public LoadableContent Parent { get; set; } + + protected override void OnInitialized() => + Parent.OnStateChanged += OnStateChanged; + + public void OnStateChanged(object? sender, EventArgs e) => + InvokeAsync(StateHasChanged); + + public void Dispose() => + Parent.OnStateChanged -= OnStateChanged; +} -- cgit v1.3