Add Wizard to add a new server, using URL query strings to pass data.
This commit is contained in:
parent
705e9493fe
commit
28c3449e24
@ -19,6 +19,8 @@
|
|||||||
</SearchBarComponent>
|
</SearchBarComponent>
|
||||||
<br/>
|
<br/>
|
||||||
<a href="@($"/server")" class="btn btn-primary">Add Server</a>
|
<a href="@($"/server")" class="btn btn-primary">Add Server</a>
|
||||||
|
|
||||||
|
<a href="@($"/servername")" class="btn btn-primary">Wizard</a>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<CascadingValue Name="SelectedCity" Value="@selectedCity">
|
<CascadingValue Name="SelectedCity" Value="@selectedCity">
|
||||||
|
|||||||
62
ServerManagement/Components/Pages/Wizards/SetCityName.razor
Normal file
62
ServerManagement/Components/Pages/Wizards/SetCityName.razor
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
@page "/cityname"
|
||||||
|
|
||||||
|
@inject NavigationManager NavigationManager
|
||||||
|
|
||||||
|
<h3>City Name</h3>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
@if (!string.IsNullOrWhiteSpace(errorMessage))
|
||||||
|
{
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
@errorMessage
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
<FieldComponent Label="City name">
|
||||||
|
<Control>
|
||||||
|
<input type="text" @bind-value="cityName" class="form-control"></input>
|
||||||
|
</Control>
|
||||||
|
</FieldComponent>
|
||||||
|
<br/>
|
||||||
|
<button type="button" class="btn btn-primary" @onclick="GoNext">Next</button>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
private string? errorMessage;
|
||||||
|
private string? cityName;
|
||||||
|
|
||||||
|
[SupplyParameterFromQuery]
|
||||||
|
private string? ServerName { get; set; }
|
||||||
|
|
||||||
|
protected override void OnInitialized()
|
||||||
|
{
|
||||||
|
base.OnInitialized();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnAfterRender(bool firstRender)
|
||||||
|
{
|
||||||
|
if (firstRender)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(ServerName))
|
||||||
|
{
|
||||||
|
this.errorMessage = "Server name was not provided.";
|
||||||
|
StateHasChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GoNext()
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(ServerName))
|
||||||
|
{
|
||||||
|
this.errorMessage = "Server name is required.";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (string.IsNullOrWhiteSpace(cityName))
|
||||||
|
{
|
||||||
|
this.errorMessage = "City name is required.";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NavigationManager.NavigateTo($"/serverstatus?servername={ServerName}&cityname={cityName}");
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
@page "/servername"
|
||||||
|
|
||||||
|
@inject NavigationManager NavigationManager
|
||||||
|
|
||||||
|
<h3>Server Name</h3>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
@if (!string.IsNullOrWhiteSpace(errorMessage))
|
||||||
|
{
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
@errorMessage
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
<FieldComponent Label="Server name">
|
||||||
|
<Control>
|
||||||
|
<input type="text" @bind-value="serverName" class="form-control"></input>
|
||||||
|
</Control>
|
||||||
|
</FieldComponent>
|
||||||
|
<br/>
|
||||||
|
<button type="button" class="btn btn-primary" @onclick="GoNext">Next</button>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
private string? errorMessage;
|
||||||
|
private string? serverName;
|
||||||
|
|
||||||
|
protected override void OnInitialized()
|
||||||
|
{
|
||||||
|
base.OnInitialized();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GoNext()
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(serverName))
|
||||||
|
{
|
||||||
|
this.errorMessage = "Server name is required.";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NavigationManager.NavigateTo($"/cityname?servername={serverName}");
|
||||||
|
}
|
||||||
|
}
|
||||||
76
ServerManagement/Components/Pages/Wizards/SetStatus.razor
Normal file
76
ServerManagement/Components/Pages/Wizards/SetStatus.razor
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
@page "/serverstatus"
|
||||||
|
|
||||||
|
@inject NavigationManager NavigationManager
|
||||||
|
|
||||||
|
<h3>Server Status</h3>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
@if (!string.IsNullOrWhiteSpace(errorMessage))
|
||||||
|
{
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
@errorMessage
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
<FieldComponent Label="Server status online">
|
||||||
|
<Control>
|
||||||
|
<input type="checkbox" @bind-value="isOnline" class="form-check-input"></input>
|
||||||
|
</Control>
|
||||||
|
</FieldComponent>
|
||||||
|
<br/>
|
||||||
|
<button type="button" class="btn btn-primary" @onclick="Save">Save</button>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
private string? errorMessage;
|
||||||
|
private bool isOnline;
|
||||||
|
[SupplyParameterFromQuery]
|
||||||
|
private string? CityName { get; set; }
|
||||||
|
|
||||||
|
[SupplyParameterFromQuery]
|
||||||
|
private string? ServerName { get; set; }
|
||||||
|
|
||||||
|
protected override void OnInitialized()
|
||||||
|
{
|
||||||
|
base.OnInitialized();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnAfterRender(bool firstRender)
|
||||||
|
{
|
||||||
|
if (firstRender)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(ServerName))
|
||||||
|
{
|
||||||
|
this.errorMessage = "Server name was not provided.";
|
||||||
|
StateHasChanged();
|
||||||
|
}
|
||||||
|
else if (string.IsNullOrWhiteSpace(CityName))
|
||||||
|
{
|
||||||
|
this.errorMessage = "City name was not provided.";
|
||||||
|
StateHasChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Save()
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(ServerName))
|
||||||
|
{
|
||||||
|
this.errorMessage = "Server name is required.";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (string.IsNullOrWhiteSpace(CityName))
|
||||||
|
{
|
||||||
|
this.errorMessage = "City name is required.";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var server = new Server
|
||||||
|
{
|
||||||
|
Name = this.ServerName,
|
||||||
|
City = this.CityName,
|
||||||
|
IsOnline = this.isOnline
|
||||||
|
};
|
||||||
|
ServersRepository.AddServer(server);
|
||||||
|
NavigationManager.NavigateTo($"/servers/back_from/{CityName}");
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user