panoptes/src/PanoptesFrontend/Pages/TestRequest.razor

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;
}
}