summaryrefslogtreecommitdiff
path: root/Pages/Component/LoadingState.razor
blob: 0a7cffc330df74909728d9940c88472d66359867 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@implements IDisposable
@typeparam T

@if(Parent.ComponentState == ComponentState.Loading) {
	@ChildContent
}

@code {
	[Parameter]
	public RenderFragment? ChildContent { get; set; }

	[CascadingParameter]
	public LoadableContent<T> 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;
}