Skip to content

Commit 1ef5784

Browse files
committed
Add dynamic series sample
1 parent 379d975 commit 1ef5784

File tree

4 files changed

+89
-1
lines changed

4 files changed

+89
-1
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
<DemoContainer>
2+
3+
<Button class="m-3" OnClick="AddNewSeries" BackgroundColor="TablerColor.Primary">Add Series</Button>
4+
5+
<Button class="m-3" OnClick="RemoveSeries" Disabled="@(series.Count <= 1)" BackgroundColor="TablerColor.Danger">Remove Series</Button>
6+
7+
<ApexChart @ref="chart" TItem="Order"
8+
Title="Order Net Value" XAxisType="XAxisType.Datetime">
9+
10+
@foreach (var serie in series)
11+
{
12+
<ApexPointSeries TItem="Order"
13+
Items="serie.Orders"
14+
Name="@serie.Name"
15+
XValue="@(e => e.OrderDate)"
16+
YAggregate="@(e => e.Sum(e => e.GrossValue))"
17+
OrderByDescending="e=>e.Y"
18+
SeriesType="SeriesType.Bar" />
19+
}
20+
21+
22+
23+
</ApexChart>
24+
</DemoContainer>
25+
26+
@code {
27+
private List<MySeries> series = new();
28+
private ApexChart<Order> chart;
29+
protected override void OnInitialized()
30+
{
31+
32+
series.Add(new MySeries
33+
{
34+
Name = "Customer",
35+
Orders = SampleData.GetRandomOrders()
36+
});
37+
38+
base.OnInitialized();
39+
}
40+
41+
private async Task RemoveSeries()
42+
{
43+
series.RemoveAt(series.Count-1);
44+
await chart?.UpdateSeriesAsync(true);
45+
}
46+
47+
48+
private async Task AddNewSeries()
49+
{
50+
series.Add(new MySeries
51+
{
52+
Name = "Customer_" + (series.Count() + 1),
53+
Orders = SampleData.GetRandomOrders()
54+
});
55+
56+
await chart?.UpdateSeriesAsync(true);
57+
58+
}
59+
60+
61+
62+
63+
class MySeries
64+
{
65+
66+
public string Name { get; set; }
67+
public List<Order>
68+
Orders
69+
{ get; set; }
70+
}
71+
}
72+
73+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@page "/features/dynamic-series"
2+
3+
<DocExamples Title="Dynamic Series">
4+
5+
6+
<CodeSnippet Title="Add Series" ClassName=@typeof(AddSeries).ToString()>
7+
<Snippet>
8+
<AddSeries />
9+
</Snippet>
10+
</CodeSnippet>
11+
12+
13+
</DocExamples>

docs/BlazorApexCharts.Docs/Data/SampleData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public static List<Order> GetRandomOrders()
5858

5959
for (int i = 0; i < rnd.Next(5, 20); i++)
6060
{
61-
orders.Add(new Order { CustomerName = "Odio Corporation", Country = "Sweden", OrderDate = DateTimeOffset.Now.AddDays(-12), GrossValue = rnd.Next(2000, 50000), DiscountPercentage = rnd.Next(10, 50), OrderType = (OrderType)rnd.Next(0, 4) });
61+
orders.Add(new Order { CustomerName = "Odio Corporation", Country = "Sweden", OrderDate = DateTimeOffset.Now.AddDays(-1 * i), GrossValue = rnd.Next(2000, 50000), DiscountPercentage = rnd.Next(10, 50), OrderType = (OrderType)rnd.Next(0, 4) });
6262
}
6363

6464
return orders;

docs/BlazorApexCharts.Docs/Shared/MainNavigation.razor

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@
150150
<NavbarMenuItem Text="Annotations" Href="features/annotations" />
151151
<NavbarMenuItem Text="Axis" Href="features/axis" />
152152
<NavbarMenuItem Text="Data" Href="features/chart-data" />
153+
<NavbarMenuItem Text="Dynamic Series" Href="features/dynamic-series" />
154+
153155
<NavbarMenuItem Text="Export" Href="features/export" />
154156
<NavbarMenuItem Text="Formatters" Href="features/formatters" />
155157
<NavbarMenuItem Text="Group Points" Href="features/group-points" />

0 commit comments

Comments
 (0)