@page "/Element/{Id}"
@inject Salmon.Core.Instance Salmon;
@if (Error is not null)
{
@Error
}
else if (ThisElement == null)
{
Chargement...
}
else
{
@ThisElement.LongName
Propriétés
| Dernier changement |
Nom |
Valeur |
@if (Triplets is not null)
@foreach (var t in Triplets)
{
| @t.LastFlush |
@t.predicate |
@t.value |
}
Évènements
| Date |
Type |
@if(Events is not null)
@foreach (var e in Events)
{
| @e.When |
@e.Type |
}
}
@code {
[Parameter]
public string Id { get; set; }
string? Error = $"Chargement...";
Salmon.Core.Element? ThisElement = null;
List? Triplets = null;
List? Events = null;
protected async override Task OnInitializedAsync()
{
await base.OnInitializedAsync();
await Refresh();
}
private async Task Refresh()
{
Triplets = Salmon.State.Get(Id).ToList();
if (Triplets.Count == 0)
{
Error = $"Aucun triplet associé à l'ID {Id}.";
return;
}
try
{
ThisElement = Salmon.Translator.Decode(Triplets);
Error = null;
}
catch (Exception e)
{
Error = $"Erreur: {e}";
return;
}
List events = new();
await foreach (var e in Salmon.Event.GetEvents(subject: Id, limit: 25))
events.Add(e);
Events = events;
}
}