43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
@page "/test"
|
|
|
|
@using System.Net.Http.Json
|
|
@using System.Text.Json
|
|
|
|
@inject HttpClient httpClient
|
|
|
|
@if (data != null)
|
|
{
|
|
@foreach (var component in data) {
|
|
switch (component.Type) {
|
|
case 0:
|
|
<TestCard Data="@component" />
|
|
break;
|
|
case 1:
|
|
<ApexChart TItem="Stats"
|
|
Title="Order Gross Value">
|
|
|
|
<ApexPointSeries TItem="Stats"
|
|
Items=component.Stats
|
|
SeriesType="SeriesType.Donut"
|
|
Name="Gross Value"
|
|
XValue="@(e => e.Label)"
|
|
YValue="@(e => e.Value)"
|
|
OrderByDescending="e=>e.Y" />
|
|
</ApexChart>
|
|
break;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@code {
|
|
private Component[] data;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
var response = await httpClient.GetStringAsync("http://localhost:8080/schema");
|
|
var options = new JsonSerializerOptions {PropertyNameCaseInsensitive = true};
|
|
var json = JsonSerializer.Deserialize<Schema>(response, options);
|
|
data = json.components;
|
|
}
|
|
} |