115 lines
2.4 KiB
Plaintext
115 lines
2.4 KiB
Plaintext
|
|
@page "/Element/{Id}"
|
|
|
|
@inject Salmon.Core.Instance Salmon;
|
|
|
|
<div class="input-group mb-3">
|
|
<div class="input-group-prepend">
|
|
<span class="input-group-text" id="basic-addon3">UniqueId</span>
|
|
</div>
|
|
<input type="text" class="form-control" aria-describedby="basic-addon3" readonly value="@Id">
|
|
</div>
|
|
|
|
@if (Error is not null)
|
|
{
|
|
<p>@Error</p>
|
|
}
|
|
else if (ThisElement == null)
|
|
{
|
|
<p>Chargement...</p>
|
|
}
|
|
else
|
|
{
|
|
<h3>@ThisElement.LongName</h3>
|
|
|
|
<h4>Propriétés</h4>
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Dernier changement</th>
|
|
<th>Nom</th>
|
|
<th>Valeur</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@if (Triplets is not null)
|
|
@foreach (var t in Triplets)
|
|
{
|
|
<tr>
|
|
<td>@t.LastFlush</td>
|
|
<td>@t.predicate</td>
|
|
<td>@t.value</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
|
|
<h4>Évènements</h4>
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Date</th>
|
|
<th>Type</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@if(Events is not null)
|
|
@foreach (var e in Events)
|
|
{
|
|
<tr>
|
|
<td>@e.When</td>
|
|
<td>@e.Type</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
}
|
|
|
|
@code {
|
|
[Parameter]
|
|
public string Id { get; set; }
|
|
string? Error = $"Chargement...";
|
|
|
|
Salmon.Core.Element? ThisElement = null;
|
|
List<Triplet>? Triplets = null;
|
|
List<Event>? 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<Event> events = new();
|
|
await foreach (var e in Salmon.Event.GetEvents(subject: Id, limit: 25))
|
|
events.Add(e);
|
|
|
|
Events = events;
|
|
}
|
|
|
|
|
|
}
|