@using Moonlight.Client.App.Models.Crud @using Moonlight.Shared.Http.Resources @using MoonlightServers.Shared.Http.Requests.Admin.Allocations @using MoonlightServers.Shared.Http.Responses.Admin.Allocations @inject HttpApiClient HttpApiClient @code { [Parameter] public int NodeId { get; set; } private void OnConfigure(CrudOptions options) { options.Loader = async (page, pageSize) => await HttpApiClient.GetJson>($"admin/servers/nodes/{NodeId}/allocations?page={page}&pageSize={pageSize}"); options.CreateFunction = async request => await HttpApiClient.Post($"admin/servers/nodes/{NodeId}/allocations", request); options.UpdateFunction = async (request, item) => await HttpApiClient.Patch($"admin/servers/nodes/{NodeId}/allocations/{item.Id}", request); options.DeleteFunction = async item => await HttpApiClient.Delete($"admin/servers/nodes/{NodeId}/allocations/{item.Id}"); options.OnConfigureCreate = option => { option .DefaultPage .DefaultSection .AddProperty(x => x.IpAddress) .WithColumns(6); option .DefaultPage .DefaultSection .AddProperty(x => x.Port) .WithColumns(6); }; options.OnConfigureUpdate = (option, item) => { option .DefaultPage .DefaultSection .AddProperty(x => x.IpAddress) .WithColumns(6); option .DefaultPage .DefaultSection .AddProperty(x => x.Port) .WithColumns(6); }; } }