Salmon/Salmon.Web/Pages/EventList.razor
2024-04-11 21:30:36 +02:00

59 lines
1.3 KiB
Plaintext

@page "/EventList"
@using Salmon.Web.Data
@inject Salmon.Core.Instance Salmon
<PageTitle>Évènements</PageTitle>
<h1>Liste des évènements</h1>
@if (SelectedEvents == null)
{
<p><em>Chargement...</em></p>
}
else
{
<table class="table">
<thead>
<tr>
<th>Horodatage</th>
<th>Type</th>
<th>Élément</th>
</tr>
</thead>
<tbody>
@foreach (var ev in SelectedEvents)
{
<tr>
<td>@ev.When.ToString("HH:mm:ss.ffffzzz")</td>
<td>@ev.Type</td>
<td>@ev.ThrowerId</td>
</tr>
}
</tbody>
</table>
}
@code {
private static System.Timers.Timer Time = new System.Timers.Timer(5000);
private Event[]? SelectedEvents;
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
Time.Elapsed += async (Object? source, System.Timers.ElapsedEventArgs e) =>
{
await InvokeAsync(() => Refresh());
};
Time.AutoReset = true;
Time.Enabled = true;
}
public void Refresh()
{
SelectedEvents = Salmon.Event.GetLastEvents().ToArray();
StateHasChanged();
}
}