@page "/navigation-maps/settings/{Id:guid}"
@attribute [Authorize]
@using RobotNet.MapShares.Dtos
@using RobotNet.Shares
@using RobotNet.WebApp.Maps.Components.Setting
@inject IJSRuntime JSRuntime
@inject IHttpClientFactory HttpClientFactory
@inject NavigationManager Nav
Map Setting
@MapName
@if (PanelSelected == 1)
{
}
@code {
[Parameter, EditorRequired]
public Guid Id { get; set; }
private MapSettingDefault MapConfigDefaultRef = null!;
private MapSettingAction MapConfigActionRef = null!;
private int PanelSelected = 0;
private string MapName = "";
private HttpClient Http = default!;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
await base.OnAfterRenderAsync(firstRender);
if (!firstRender) return;
Http = HttpClientFactory.CreateClient("MapManagerAPI");
var reponse = await Http.GetFromJsonAsync>($"api/MapsManager/{Id}");
if (reponse is not null && reponse.Data is not null) MapName = reponse.Data.Name;
StateHasChanged();
}
private async Task OnSave()
{
switch (PanelSelected)
{
case 0:
await MapConfigDefaultRef.Save();
break;
case 1:
await MapConfigActionRef.Save();
break;
}
}
private void OnReset()
{
switch (PanelSelected)
{
case 0:
MapConfigDefaultRef.Reset();
break;
case 1:
MapConfigActionRef.Reset();
break;
}
}
private void ActivePanelChanged(int value)
{
PanelSelected = value;
}
private void CreateAction()
{
MapConfigActionRef.ShowCreateAction();
}
private async Task DeleteAction()
{
await MapConfigActionRef.DeleteAction();
}
}