Fixed server create ui
This commit is contained in:
@@ -291,6 +291,9 @@ public class ServersController : Controller
|
|||||||
var server = await ServerRepository
|
var server = await ServerRepository
|
||||||
.Get()
|
.Get()
|
||||||
.Include(x => x.Node)
|
.Include(x => x.Node)
|
||||||
|
.Include(x => x.Star)
|
||||||
|
.Include(x => x.Variables)
|
||||||
|
.Include(x => x.Backups)
|
||||||
.FirstOrDefaultAsync(x => x.Id == id);
|
.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
|
||||||
if (server == null)
|
if (server == null)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
@using MoonCore.Models
|
@using MoonCore.Models
|
||||||
@using MoonlightServers.Shared.Http.Responses.Admin.NodeAllocations
|
@using MoonlightServers.Shared.Http.Responses.Admin.NodeAllocations
|
||||||
@using MoonCore.Blazor.FlyonUi.Forms
|
@using MoonCore.Blazor.FlyonUi.Forms
|
||||||
|
@using MoonlightServers.Frontend.UI.Views.Admin.All
|
||||||
@using MoonlightServers.Shared.Http.Responses.Admin.Nodes
|
@using MoonlightServers.Shared.Http.Responses.Admin.Nodes
|
||||||
|
|
||||||
@inject HttpApiClient ApiClient
|
@inject HttpApiClient ApiClient
|
||||||
@@ -14,7 +15,7 @@
|
|||||||
<InputMultipleItem TItem="NodeAllocationResponse"
|
<InputMultipleItem TItem="NodeAllocationResponse"
|
||||||
DisplayField="@(x => $"{x.IpAddress}:{x.Port}")"
|
DisplayField="@(x => $"{x.IpAddress}:{x.Port}")"
|
||||||
SearchField="@(x => $"{x.IpAddress}:{x.Port}")"
|
SearchField="@(x => $"{x.IpAddress}:{x.Port}")"
|
||||||
Value="Allocations"
|
Value="Parent.Allocations"
|
||||||
ItemSource="ItemSource">
|
ItemSource="ItemSource">
|
||||||
</InputMultipleItem>
|
</InputMultipleItem>
|
||||||
</div>
|
</div>
|
||||||
@@ -24,19 +25,18 @@
|
|||||||
@code
|
@code
|
||||||
{
|
{
|
||||||
[Parameter] public CreateServerRequest Request { get; set; }
|
[Parameter] public CreateServerRequest Request { get; set; }
|
||||||
[Parameter] public List<NodeAllocationResponse> Allocations { get; set; }
|
[Parameter] public Create Parent { get; set; }
|
||||||
[Parameter] public NodeResponse? Node { get; set; }
|
|
||||||
|
|
||||||
private async Task<NodeAllocationResponse[]> ItemSource()
|
private async Task<NodeAllocationResponse[]> ItemSource()
|
||||||
{
|
{
|
||||||
// Handle unselected node
|
// Handle unselected node
|
||||||
// ReSharper disable once ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract
|
// ReSharper disable once ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract
|
||||||
if (Node == null)
|
if (Parent.Node == null)
|
||||||
return [];
|
return [];
|
||||||
|
|
||||||
var items = await PagedData<NodeAllocationResponse>.All(async (page, pageSize) =>
|
var items = await PagedData<NodeAllocationResponse>.All(async (page, pageSize) =>
|
||||||
await ApiClient.GetJson<PagedData<NodeAllocationResponse>>(
|
await ApiClient.GetJson<PagedData<NodeAllocationResponse>>(
|
||||||
$"api/admin/servers/nodes/{Node.Id}/allocations/free?page={page}&pageSize={pageSize}"
|
$"api/admin/servers/nodes/{Parent.Node.Id}/allocations/free?page={page}&pageSize={pageSize}"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
@using MoonlightServers.Shared.Http.Responses.Admin.Stars
|
@using MoonlightServers.Shared.Http.Responses.Admin.Stars
|
||||||
@using Moonlight.Shared.Http.Responses.Admin.Users
|
@using Moonlight.Shared.Http.Responses.Admin.Users
|
||||||
@using MoonCore.Blazor.FlyonUi.Forms
|
@using MoonCore.Blazor.FlyonUi.Forms
|
||||||
|
@using MoonlightServers.Frontend.UI.Views.Admin.All
|
||||||
|
|
||||||
@inject HttpApiClient ApiClient
|
@inject HttpApiClient ApiClient
|
||||||
|
|
||||||
@@ -23,7 +24,7 @@
|
|||||||
DisplayField="@(x => x.Username)"
|
DisplayField="@(x => x.Username)"
|
||||||
SearchField="@(x => x.Username)"
|
SearchField="@(x => x.Username)"
|
||||||
ItemSource="LoadUsers"
|
ItemSource="LoadUsers"
|
||||||
@bind-Value="User">
|
@bind-Value="Parent.Owner">
|
||||||
</InputItem>
|
</InputItem>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -35,7 +36,7 @@
|
|||||||
DisplayField="@(x => x.Name)"
|
DisplayField="@(x => x.Name)"
|
||||||
SearchField="@(x => x.Name)"
|
SearchField="@(x => x.Name)"
|
||||||
ItemSource="LoadStars"
|
ItemSource="LoadStars"
|
||||||
@bind-Value="Star">
|
@bind-Value="Parent.Star">
|
||||||
</InputItem>
|
</InputItem>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -47,7 +48,7 @@
|
|||||||
DisplayField="@(x => x.Name)"
|
DisplayField="@(x => x.Name)"
|
||||||
SearchField="@(x => x.Name)"
|
SearchField="@(x => x.Name)"
|
||||||
ItemSource="LoadNodes"
|
ItemSource="LoadNodes"
|
||||||
@bind-Value="Node">
|
@bind-Value="Parent.Node">
|
||||||
</InputItem>
|
</InputItem>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -88,10 +89,7 @@
|
|||||||
@code
|
@code
|
||||||
{
|
{
|
||||||
[Parameter] public CreateServerRequest Request { get; set; }
|
[Parameter] public CreateServerRequest Request { get; set; }
|
||||||
|
[Parameter] public Create Parent { get; set; }
|
||||||
[Parameter] public UserResponse? User { get; set; }
|
|
||||||
[Parameter] public NodeResponse? Node { get; set; }
|
|
||||||
[Parameter] public StarDetailResponse? Star { get; set; }
|
|
||||||
|
|
||||||
private async Task<StarDetailResponse[]> LoadStars()
|
private async Task<StarDetailResponse[]> LoadStars()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
@using MoonlightServers.Shared.Http.Requests.Admin.Servers
|
@using MoonlightServers.Shared.Http.Requests.Admin.Servers
|
||||||
@using MoonCore.Helpers
|
@using MoonCore.Helpers
|
||||||
@using MoonCore.Models
|
@using MoonCore.Models
|
||||||
|
@using MoonlightServers.Frontend.UI.Views.Admin.All
|
||||||
@using MoonlightServers.Shared.Http.Requests.Admin.ServerVariables
|
@using MoonlightServers.Shared.Http.Requests.Admin.ServerVariables
|
||||||
@using MoonlightServers.Shared.Http.Responses.Admin.Stars
|
@using MoonlightServers.Shared.Http.Responses.Admin.Stars
|
||||||
@using MoonlightServers.Shared.Http.Responses.Admin.StarVariables
|
@using MoonlightServers.Shared.Http.Responses.Admin.StarVariables
|
||||||
@@ -40,13 +41,13 @@
|
|||||||
@code
|
@code
|
||||||
{
|
{
|
||||||
[Parameter] public CreateServerRequest Request { get; set; }
|
[Parameter] public CreateServerRequest Request { get; set; }
|
||||||
[Parameter] public StarDetailResponse? Star { get; set; }
|
[Parameter] public Create Parent { get; set; }
|
||||||
|
|
||||||
private StarVariableDetailResponse[] StarVariables;
|
private StarVariableDetailResponse[] StarVariables;
|
||||||
|
|
||||||
private async Task Load(LazyLoader _)
|
private async Task Load(LazyLoader _)
|
||||||
{
|
{
|
||||||
if (Star == null)
|
if (Parent.Star == null)
|
||||||
{
|
{
|
||||||
StarVariables = [];
|
StarVariables = [];
|
||||||
return;
|
return;
|
||||||
@@ -54,7 +55,7 @@
|
|||||||
|
|
||||||
StarVariables = await PagedData<StarVariableDetailResponse>.All(async (page, pageSize) =>
|
StarVariables = await PagedData<StarVariableDetailResponse>.All(async (page, pageSize) =>
|
||||||
await ApiClient.GetJson<PagedData<StarVariableDetailResponse>>(
|
await ApiClient.GetJson<PagedData<StarVariableDetailResponse>>(
|
||||||
$"api/admin/servers/stars/{Request.StarId}/variables?page={page}&pageSize={pageSize}"
|
$"api/admin/servers/stars/{Parent.Star.Id}/variables?page={page}&pageSize={pageSize}"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,13 +31,13 @@
|
|||||||
<HandleForm @ref="Form" Model="Request" OnValidSubmit="OnSubmit">
|
<HandleForm @ref="Form" Model="Request" OnValidSubmit="OnSubmit">
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab Name="General">
|
<Tab Name="General">
|
||||||
<GeneralServerCreate Request="Request" Star="Star" Node="Node" User="Owner" />
|
<GeneralServerCreate Request="Request" Parent="this" />
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab Name="Allocations">
|
<Tab Name="Allocations">
|
||||||
<AllocationsServerCreate Request="Request" Allocations="Allocations" Node="Node" />
|
<AllocationsServerCreate Request="Request" Parent="this" />
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab Name="Variables">
|
<Tab Name="Variables">
|
||||||
<VariablesServerCreate Request="Request" Star="Star" />
|
<VariablesServerCreate Request="Request" Parent="this" />
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab Name="Advanced">
|
<Tab Name="Advanced">
|
||||||
<AdvancedServerCreate Request="Request" />
|
<AdvancedServerCreate Request="Request" />
|
||||||
@@ -51,10 +51,10 @@
|
|||||||
private HandleForm Form;
|
private HandleForm Form;
|
||||||
private CreateServerRequest Request;
|
private CreateServerRequest Request;
|
||||||
|
|
||||||
private List<NodeAllocationResponse> Allocations = new();
|
public List<NodeAllocationResponse> Allocations = new();
|
||||||
private UserResponse? Owner;
|
public UserResponse? Owner;
|
||||||
private StarDetailResponse? Star;
|
public StarDetailResponse? Star;
|
||||||
private NodeResponse? Node;
|
public NodeResponse? Node;
|
||||||
|
|
||||||
protected override void OnInitialized()
|
protected override void OnInitialized()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user