Skip to content
FEEDBACK · FREE

BusyOverlay

Keep users informed while something loads, and stop accidental clicks.

Wrap a region and, while it is busy, dim it, show a spinner and block clicks, so nobody works on stale data.

Why it helps

  • Blocks the region
  • Spinner on top
  • Announces busy state

Where it fits

  • Loading panels
  • Saving
  • Refreshing data
BusyOverlay control in a RayCraft page

Example

<Stack Direction="StackDirection.Column" Spacing="2">
    <Button OnClick="Load">Reload</Button>
    <BusyOverlay Busy="_busy" Label="Loading orders">
        <Card>
            <Descriptions>
                <DescriptionItem Label="Orders">@_count</DescriptionItem>
                <DescriptionItem Label="Updated">@_updated</DescriptionItem>
            </Descriptions>
        </Card>
    </BusyOverlay>
</Stack>

@code {
    private bool _busy;
    private int _count = 128;
    private string _updated = "never";

    private async Task Load()
    {
        _busy = true;
        await Task.Delay(1800);
        _count += 7;
        _updated = DateTime.Now.ToString("T");
        _busy = false;
    }
}

A short fragment. Add @using RayCraft.Blazor.Components to your page and use an interactive render mode.

Included in RayCraft Free. Working examples are in the GitHub repository (MIT); it holds example and demo code, not the library code.

All controls ยท Documentation