An open API service indexing awesome lists of open source software.

https://github.com/peterblazejewicz/blazor-beforeunload

Blazor hook into native Window beforeunload with async/await and cancel support
https://github.com/peterblazejewicz/blazor-beforeunload

beforeunload blazor blazor-interop javascript typescript

Last synced: 2 months ago
JSON representation

Blazor hook into native Window beforeunload with async/await and cancel support

Awesome Lists containing this project

README

        

# blazor-beforeunload

Blazor hook into native Window beforeunload with async/await and cancel support

## Example usage

In your startup configuration configure DI:

```cs
public void ConfigureServices(IServiceCollection services)
{
services.AddBeforeUnload();
}
```

In your client pages use the instance via dependency injection:

```razor
@page "/counter"

@using blazejewicz.Blazor.BeforeUnload
@using System
@implements IDisposable
@inject BeforeUnload BeforeUnload
```

```cs
protected override void OnInitialized()
{
BeforeUnload.BeforeUnloadHandler += BeforeUnloadHandler;
}

public void Dispose()
{
BeforeUnload.BeforeUnloadHandler -= BeforeUnloadHandler;
}

void BeforeUnloadHandler(object sender, BeforeUnloadArgs args)
{
args.CancelRequested = true;
args.ReturnValue = "Please save your data";
}
```

## Author

@peterblazejewicz