Kebechet.Blazor.ChartJS
4.3.0.3
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Kebechet.Blazor.ChartJS --version 4.3.0.3
NuGet\Install-Package Kebechet.Blazor.ChartJS -Version 4.3.0.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kebechet.Blazor.ChartJS" Version="4.3.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Kebechet.Blazor.ChartJS --version 4.3.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Kebechet.Blazor.ChartJS, 4.3.0.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Kebechet.Blazor.ChartJS as a Cake Addin #addin nuget:?package=Kebechet.Blazor.ChartJS&version=4.3.0.3 // Install Kebechet.Blazor.ChartJS as a Cake Tool #tool nuget:?package=Kebechet.Blazor.ChartJS&version=4.3.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Blazor.ChartJS
This repo contains lean wrapper around Chart.js for Blazor.
Motivation:
Repository ChartJs.Blazor is no longer maintained
and also it is stuck at old version chart.js@2.9.4
.
The lack of maintainers is quite often problem.
Thats why I have created the leanest wrapper possible.
This should be quite future proof and if needed also a beginner should be able to bump chart.js
to newer version or fix potential bug in the wrapper.
Usage example
- our wrapper contains methods:
createChart
,getChart
,updateChart
,clearChartData
,destroyChart
- all data and configurations are provided as anonymous objects. Thats why it should be 1:1 with chart.js docs
Index.razor
@using Blazor.ChartJS
<Chart @ref="_chart" Config="_config" OnChartInitialized="() => _isInitializing = false" />
Index.razor.cs
using Blazor.ChartJS;
namespace BlazorChartTest.Pages;
public partial class Index
{
private Chart? _chart { get; set; }
private bool _isInitializing = true;
private readonly dynamic _config = new
{
Type = "line",
Data = new
{
Labels = new[] { "Red", "Blue", "Yellow", "Green", "Purple", "Orange" },
Datasets = new[]
{
new
{
Label = "# of Votes",
Data = new[] { 12, 19, 3, 5, 2, 3 },
BorderWidth = 1
},
new
{
Label = "# of Votes",
Data = new[] { 12, 19, 3, 5, 2, 3 },
BorderWidth = 1
}
}
},
Options = new
{
Responsive = true,
Scales = new
{
X = new
{
Display = true,
BeginAtZero = true
},
Y = new
{
Display = true,
BeginAtZero = true,
Grace = "10%"
}
},
Plugins = new
{
Legend = new
{
Display = true,
Position = "top"
}
}
}
};
public async Task Rerender()
{
if(_isInitializing)
{
return;
}
await _chart!.Rerender();
}
public async Task Update()
{
if(_isInitializing)
{
return;
}
var data = new
{
Labels = new[] { "faast", "Blue", "Yellow", "Green", "Purple", "Orange" },
Datasets = new[]
{
new
{
Label = "# of Votes",
Data = new[] { 55, 19, 3, 5, 2, 3 },
BorderWidth = 1
},
new
{
Label = "# of Votes",
Data = new[] { 12, 19, 3, 5, 2, 3 },
BorderWidth = 1
}
}
};
await _chart!.Update(data, false);
}
}
Contribution is welcome BUT:
- only to improve basic functionality of the wrapper. Purpose of this wrapper is to be as simple as possible.
- to fix bugs
- to automate overall workflow
Versioning
chart.js
version is part of the package version.- examples:
- package version
4.3.0.0
means thatchart.js
version used is4.3.0
- package version
4.3.0.2
means thatchart.js
version used is4.3.0
and we did 2 bugfixes/improvements in the wrapper
- package version
TODO
- add examples
- automate ChartJS version bump
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- Microsoft.AspNetCore.Components.Web (>= 7.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
First release of the package