| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- @page "/services/list"
- @using RackPeek.Domain.Persistence
- @inject NavigationManager Nav
- <!-- TODO: Get rid of First -->
- <ResourcesListComponent TResource="Service"
- Title="Services"
- TestId="services"
- GroupBy="@(s =>
- {
- if (s.RunsOn is null) return "Unkown";
- return s.RunsOn.FirstOrDefault();
- })"
- ShouldGroup="true"
- OnCreated="NavigateToNewResource">
- <ItemTemplate Context="svc">
- <div data-testid=@($"services-list-item-{svc.Name.Replace(" ", "-")}")>
- <ServiceCardComponent Service="svc"
- OnDeleted="Reload"/>
- </div>
- </ItemTemplate>
- </ResourcesListComponent>
- @code {
- [Inject] IResourceCollection Repo { get; set; } = default!;
- private Task NavigateToNewResource(string name)
- {
- Nav.NavigateTo($"resources/services/{Uri.EscapeDataString(name)}");
- return Task.CompletedTask;
- }
- private async Task Reload(string _)
- {
- await Repo.GetAllOfTypeAsync<Service>();
- }
- }
|