1
0

Extract server list items into the ServerComponent.

This commit is contained in:
Kevin Matsubara 2025-03-27 10:40:54 +01:00
parent a6dea2bc3a
commit 60aa4f9c46
2 changed files with 24 additions and 36 deletions

View File

@ -1,23 +1,36 @@
@namespace ServerManagement.Components.Controls @namespace ServerManagement.Components.Controls
@if (server != null) @inject NavigationManager NavigationManager
@if (Server != null)
{ {
<div <li @key="Server.Id">
style="@($"color:{(server.IsOnline ? "green" : "red")}")"> @Server.Name in @Server.City is
@server.Name is in: @server.City @(server.IsOnline ? "online" : "offline") <span style="color:@(Server.IsOnline ? "green" : "red")">
@(Server.IsOnline ? "online" : "offline")
</span>;
&nbsp; &nbsp;
<button type="submit" class="btn btn-primary" @onclick="ChangeStatus">Turn On/Off</button> <a href="@($"/servers/{Server.Id}")" class="btn btn-primary">Edit</a>
</div> &nbsp;
<EditForm
Model="Server"
FormName="@($"formDeleteServer{Server.Id}")"
OnValidSubmit="@(() => { DeleteServer(Server.Id); })">
<button type="submit" class="btn btn-danger">Delete</button>
</EditForm>
</li>
} }
@code { @code {
private Server? server { get; set; } = new Server { Name = "Server 1", City = "Einhoven" }; [Parameter]
public Server? Server { get; set; }
private void ChangeStatus() private void DeleteServer(int serverId)
{ {
if (server != null) if (serverId > 0)
{ {
this.server.IsOnline = !this.server.IsOnline; ServersRepository.DeleteServer(serverId);
NavigationManager.Refresh(forceReload: true);
} }
} }
} }

View File

@ -1,24 +1,8 @@
@inject NavigationManager NavigationManager
@if (this.servers != null && this.servers.Count > 0) @if (this.servers != null && this.servers.Count > 0)
{ {
<ul> <ul>
<Virtualize Items="this.servers" Context="server"> <Virtualize Items="this.servers" Context="server">
<li @key="server.Id"> <ServerComponent server="server"></ServerComponent>
@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> </Virtualize>
</ul> </ul>
} }
@ -32,13 +16,4 @@
{ {
servers = ServersRepository.GetServersByCity(CityName ?? "Eindhoven"); servers = ServersRepository.GetServersByCity(CityName ?? "Eindhoven");
} }
private void DeleteServer(int serverId)
{
if (serverId > 0)
{
ServersRepository.DeleteServer(serverId);
NavigationManager.Refresh(forceReload: true);
}
}
} }