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
- Host: GitHub
- URL: https://github.com/peterblazejewicz/blazor-beforeunload
- Owner: peterblazejewicz
- License: mit
- Created: 2019-03-28T22:50:19.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-04T22:07:13.000Z (over 5 years ago)
- Last Synced: 2024-10-14T14:05:13.650Z (8 months ago)
- Topics: beforeunload, blazor, blazor-interop, javascript, typescript
- Language: C#
- Homepage: https://www.nuget.org/packages/BlazorBeforeUnload/
- Size: 231 KB
- Stars: 21
- Watchers: 4
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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