@using RackPeek.Domain.Resources.Hardware.AccessPoints @using RackPeek.Domain.Resources.Models @using RackPeek.Domain.Resources.Hardware.Desktops @inject DeleteAccessPointUseCase DeleteUseCase @inject RenameAccessPointUseCase RenameUseCase @inject CloneAccessPointUseCase CloneUseCase @inject NavigationManager Nav
@AccessPoint.Name
@if (!string.IsNullOrWhiteSpace(AccessPoint.Model)) { @AccessPoint.Model }
@if (AccessPoint.Speed is not null) {
Speed
@AccessPoint.Speed Gbps
}
Are you sure you want to delete @AccessPoint.Name? @code { [Parameter] [EditorRequired] public AccessPoint AccessPoint { get; set; } = default!; } @code { private bool _confirmDeleteOpen; [Parameter] public EventCallback OnDeleted { get; set; } void ConfirmDelete() { _confirmDeleteOpen = true; } async Task DeleteServer() { _confirmDeleteOpen = false; await DeleteUseCase.ExecuteAsync(AccessPoint.Name); if (OnDeleted.HasDelegate) await OnDeleted.InvokeAsync(AccessPoint.Name); } } @code { bool _renameOpen; void OpenRename() { _renameOpen = true; } async Task HandleRenameSubmit(string newName) { await RenameUseCase.ExecuteAsync(AccessPoint.Name, newName); Nav.NavigateTo($"resources/hardware/{newName}"); } } @code { bool _cloneOpen; void OpenClone() { _cloneOpen = true; } async Task HandleCloneSubmit(string newName) { await CloneUseCase.ExecuteAsync(AccessPoint.Name, newName); Nav.NavigateTo($"resources/hardware/{newName}"); } }