1
0

Move server list into its own component.

This commit is contained in:
Kevin Matsubara 2025-03-27 00:07:36 +01:00
parent c4641da821
commit 9d72279631
2 changed files with 38 additions and 34 deletions

View File

@ -0,0 +1,34 @@
@inject NavigationManager NavigationManager
<ul>
<Virtualize Items="this.servers" Context="server">
<li @key="server.Id">
@server.Name in @server.City is
<span style="color:@(server.IsOnline ? "green" : "red")">
@(server.IsOnline ? "online" : "offline")
</span>;
&nbsp;
<a href="@($"/servers/{server.Id}")" class="btn btn-primary">Edit</a>
&nbsp;
<EditForm
Model="server"
FormName="@($"formDeleteServer{server.Id}")"
OnValidSubmit="@(() => { DeleteServer(server.Id); })">
<button type="submit" class="btn btn-danger">Delete</button>
</EditForm>
</li>
</Virtualize>
</ul>
@code {
private List<Server> servers = ServersRepository.GetServersByCity("Eindhoven");
private void DeleteServer(int serverId)
{
if (serverId > 0)
{
ServersRepository.DeleteServer(serverId);
NavigationManager.Refresh(forceReload: true);
}
}
}

View File

@ -1,8 +1,6 @@
@page "/servers" @page "/servers"
@using ServerManagement.Components.Controls @using ServerManagement.Components.Controls
@inject NavigationManager NavigationManager
<h3>Servers</h3> <h3>Servers</h3>
<br/> <br/>
<br/> <br/>
@ -35,29 +33,10 @@
<a href="@($"/servers/add")" class="btn btn-primary">Add</a> <a href="@($"/servers/add")" class="btn btn-primary">Add</a>
<br/> <br/>
<ul> <ServerListComponent></ServerListComponent>
<Virtualize Items="this.servers" Context="server">
<li @key="server.Id">
@server.Name in @server.City is
<span style="color:@(server.IsOnline ? "green" : "red")">
@(server.IsOnline ? "online" : "offline")
</span>;
&nbsp;
<a href="@($"/servers/{server.Id}")" class="btn btn-primary">Edit</a>
&nbsp;
<EditForm
Model="server"
FormName="@($"formDeleteServer{server.Id}")"
OnValidSubmit="@(() => { DeleteServer(server.Id); })">
<button type="submit" class="btn btn-danger">Delete</button>
</EditForm>
</li>
</Virtualize>
</ul>
@code { @code {
private List<string> cities = ServersRepository.GetCities(); private List<string> cities = ServersRepository.GetCities();
private List<Server> servers = ServersRepository.GetServersByCity("Eindhoven");
private string selectedCity = "Eindhoven"; private string selectedCity = "Eindhoven";
private string _serverFilter = ""; private string _serverFilter = "";
private string serverFilter { private string serverFilter {
@ -65,29 +44,20 @@
set set
{ {
_serverFilter = value; _serverFilter = value;
this.servers = ServersRepository.SearchServers(_serverFilter); //this.servers = ServersRepository.SearchServers(_serverFilter);
this.selectedCity = string.Empty; this.selectedCity = string.Empty;
} }
} }
private void DeleteServer(int serverId)
{
if (serverId > 0)
{
ServersRepository.DeleteServer(serverId);
NavigationManager.Refresh();
}
}
private void SelectCity(string cityName) private void SelectCity(string cityName)
{ {
this.selectedCity = cityName; this.selectedCity = cityName;
this.servers = ServersRepository.GetServersByCity(this.selectedCity); //this.servers = ServersRepository.GetServersByCity(this.selectedCity);
} }
private void HandleSearch() private void HandleSearch()
{ {
this.servers = ServersRepository.SearchServers(serverFilter); //this.servers = ServersRepository.SearchServers(serverFilter);
this.selectedCity = string.Empty; this.selectedCity = string.Empty;
} }
} }