@page "/"
@inject HttpClient Http
@inject NavigationManager NavigationManager
<h1>Weather forecast</h1>
<p>This component demonstrates fetching data from the server.</p>
@if (forecasts == null)
{
<p><em>Loading...</em></p>
}
else
{
<a class="btn" href="/create">
<i class="oi oi-plus"></i>
Add new item
</a>
<table class="table">
<thead>
<tr>
<th>Date</th>
<th>Temp. (C)</th>
<th>Temp. (F)</th>
<th>Summary</th>
</tr>
</thead>
<tbody>
<FilterableTable Items=@forecasts GetFilterableText=@(item => item.Summary)>
<tr>
<td>@context.Date.ToShortDateString()</td>
<td>@context.TemperatureC</td>
<td>@context.TemperatureF</td>
<td>@context.Summary</td>
</tr>
</FilterableTable>
</tbody>
</table>
}
@functions {
WeatherForecast[] forecasts;
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
forecasts = await Http.GetJsonAsync<WeatherForecast[]>(NavigationManager.ToAbsoluteUri("/sample-data/weather.json").ToString());
}
class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }
public int TemperatureF { get; set; }
public string Summary { get; set; }
}
}