Salmon/Salmon.Web/Components/ElementDeck.razor
2025-02-01 18:08:35 +01:00

40 lines
979 B
Plaintext

@inject Salmon.Core.Instance Salmon;
<div Style="display:flex;flex-wrap:wrap; height:100%;">
@foreach (var e in Elements)
{
<ElementCard Target=e />
}
</div>
@code {
[Parameter]
public string? FilterByParent { get; set; } = null;
List<Element> Elements { get; set; } = new();
private static System.Timers.Timer Time = new System.Timers.Timer(5000);
protected async override Task OnInitializedAsync()
{
await base.OnInitializedAsync();
Time.Elapsed += async (Object? source, System.Timers.ElapsedEventArgs e) =>
{
await InvokeAsync(() => Refresh());
};
Time.AutoReset = true;
Time.Enabled = true;
Refresh();
}
public void Refresh()
{
Elements = Salmon.GetAllElements().ToList();
if (FilterByParent is not null)
Elements = Elements.Where(x => x.ParentId == FilterByParent).ToList();
StateHasChanged();
}
}