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
@if (server != null)
@inject NavigationManager NavigationManager
@if (Server != null)
{
<div
style="@($"color:{(server.IsOnline ? "green" : "red")}")">
@server.Name is in: @server.City @(server.IsOnline ? "online" : "offline")
<li @key="Server.Id">
@Server.Name in @Server.City is
<span style="color:@(Server.IsOnline ? "green" : "red")">
@(Server.IsOnline ? "online" : "offline")
</span>;
&nbsp;
<button type="submit" class="btn btn-primary" @onclick="ChangeStatus">Turn On/Off</button>
</div>
<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>
}
@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)
{
<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>
<ServerComponent server="server"></ServerComponent>
</Virtualize>
</ul>
}
@ -32,13 +16,4 @@
{
servers = ServersRepository.GetServersByCity(CityName ?? "Eindhoven");
}
private void DeleteServer(int serverId)
{
if (serverId > 0)
{
ServersRepository.DeleteServer(serverId);
NavigationManager.Refresh(forceReload: true);
}
}
}