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: 10 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 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-04T22:07:13.000Z (over 6 years ago)
- Last Synced: 2024-10-14T14:05:13.650Z (over 1 year 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