@using RackPeek.Domain.Resources.SystemResources @using RackPeek.Domain.Resources.SystemResources.UseCases @inject ISystemRepository SystemRepository @inject UpdateSystemUseCase UpdateSystemUseCase @inject NavigationManager Nav
@if (_systems is null) {
loading systems…
} else if (_systems.Count == 0) {
no systems found
} else {
@foreach (var group in _systems.OrderBy(s => s.Name).GroupBy(s => s.RunsOn).OrderByDescending(g => g.Count())) { foreach (var systemResource in group) { } }
}
@code { private IReadOnlyList? _systems; protected override async Task OnInitializedAsync() { _systems = await SystemRepository.GetAllAsync(); } async Task UpdateSystem(SystemEditModel edit) { await UpdateSystemUseCase.ExecuteAsync( edit.Name, edit.Type, edit.Os, edit.Cores, edit.Ram, edit.RunsOn ); } private Task NavigateToNewResource(string serverName) { Nav.NavigateTo($"/resources/systems/{serverName}"); return Task.CompletedTask; } private async Task Callback(string obj) { _systems = await SystemRepository.GetAllAsync(); } }