1
0

Add a routable component to add a new server.

This commit is contained in:
Kevin Matsubara 2025-03-24 18:16:00 +01:00
parent 8139388ff9
commit 4d77319f48
2 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,57 @@
@page "/servers/add"
@using System.ComponentModel.DataAnnotations
@inject NavigationManager NavigationManager
<h3>Add server</h3>
<br/>
<br/>
<EditForm Model="server" FormName="formServer" OnValidSubmit="SubmitServer">
<DataAnnotationsValidator></DataAnnotationsValidator>
<ValidationSummary></ValidationSummary>
<div class="row mb-3">
<div class="col-2">
<label class="col-form-label">Name</label>
</div>
<div class="col-6">
<InputText @bind-Value="server.Name" class="form-control"></InputText>
</div>
<div class="col">
<ValidationMessage For="() => server.Name"></ValidationMessage>
</div>
</div>
<div class="row mb-3">
<div class="col-2">
<label class="col-form-label">City</label>
</div>
<div class="col-6">
<InputText @bind-Value="server.City" class="form-control"></InputText>
</div>
<div class="col">
<ValidationMessage For="() => server.City"></ValidationMessage>
</div>
</div>
<br/>
<button class="btn btn-primary" type="submit">Add</button>
&nbsp;
<a href="/servers" class="btn btn-primary">Close</a>
</EditForm>
@code {
[SupplyParameterFromForm(FormName = "formServer")]
private Server server { get; set; } = new Server() { IsOnline = false };
private void SubmitServer()
{
if (server != null)
{
ServersRepository.AddServer(server);
}
// An exception is raised when debugging from VS Code, but not when using dotnet watch.
NavigationManager.NavigateTo("/servers");
}
}

View File

@ -22,6 +22,8 @@
</div>
</div>
<br/>
<a href="@($"/servers/add")" class="btn btn-link">Add</a>
<br/>
<ul>
@foreach(var server in servers)