Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/BlazorExtensions/Storage
HTML5 Storage API implementation for Microsoft Blazor
https://github.com/BlazorExtensions/Storage
blazor html5-storage storage web-assembly webassembly
Last synced: 5 days ago
JSON representation
HTML5 Storage API implementation for Microsoft Blazor
- Host: GitHub
- URL: https://github.com/BlazorExtensions/Storage
- Owner: BlazorExtensions
- License: mit
- Created: 2018-05-12T17:16:05.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-13T22:17:28.000Z (almost 2 years ago)
- Last Synced: 2024-10-03T01:18:22.419Z (about 1 month ago)
- Topics: blazor, html5-storage, storage, web-assembly, webassembly
- Language: C#
- Homepage:
- Size: 562 KB
- Stars: 228
- Watchers: 12
- Forks: 35
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build](https://github.com/BlazorExtensions/Storage/workflows/CI/badge.svg)](https://github.com/BlazorExtensions/Storage/actions)
[![Package Version](https://img.shields.io/nuget/v/Blazor.Extensions.Storage.svg)](https://www.nuget.org/packages/Blazor.Extensions.Storage)
[![NuGet Downloads](https://img.shields.io/nuget/dt/Blazor.Extensions.Storage.svg)](https://www.nuget.org/packages/Blazor.Extensions.Storage)
[![License](https://img.shields.io/github/license/BlazorExtensions/Storage.svg)](https://github.com/BlazorExtensions/Storage/blob/master/LICENSE)# Blazor Extensions
Blazor Extensions are a set of packages with the goal of adding useful things to [Blazor](https://blazor.net).
# Blazor Extensions Storage
This package wraps [HTML5 Storage](https://developer.mozilla.org/en-US/docs/Web/API/Storage) APIs. Both Session and Local storage types are supported.
# Sample configuration
## Setup
The following snippet shows how to setup the storage wrapper by registering it for dependency injection in the ```Startup.cs``` of the application.
```c#
public void ConfigureServices(IServiceCollection services)
{
// Add Blazor.Extensions.Storage
// Both ISessionStorage and ILocalStorage are registered
services.AddStorage();
}
```## Usage
The following snippet shows how to consume the storage API in a Blazor component.
```c#
@inject ISessionStorage sessionStorage
@inject ILocalStorage localStorage@functions {
protected override async Task OnInitAsync()
{
var key = "forecasts";
await sessionStorage.SetItem(key, forecasts);
await localStorage.SetItem(key, forecasts);
var fromSession = await sessionStorage.GetItem(key);
var fromLocal = await localStorage.GetItem(key);
}
}
```If you want to consume it outside of a ```cshtml``` based component, then you can use the ```Inject``` attribute to inject it into the class.
```c#
[Inject]
protected ISessionStorage sessionStorage;[Inject]
protected ILocalStorage localStorage;public Task LogSomething()
{
var key = "forecasts";
await sessionStorage.SetItem(key, forecasts);
await localStorage.SetItem(key, forecasts);
var fromSession = await sessionStorage.GetItem(key);
var fromLocal = await localStorage.GetItem(key);
}
```# Contributions and feedback
Please feel free to use the component, open issues, fix bugs or provide feedback.
# Contributors
The following people are the maintainers of the Blazor Extensions projects:
- [Attila Hajdrik](https://github.com/attilah)
- [Gutemberg Ribiero](https://github.com/galvesribeiro)