@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
Enfants
Évènements
}
@code {
[Parameter]
public string Id { get; set; }
string? Error = $"Chargement...";
Salmon.Core.Element? ThisElement = null;
List? Triplets { get; set; } = null;
List? Events { get; set; } = 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;
StateHasChanged();
}
}