84 lines
1.7 KiB
Plaintext
84 lines
1.7 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>
|
|
@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>
|
|
|
|
}
|
|
|
|
@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();
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
|
|
}
|