@using RackPeek.Domain.Resources.Services @using RackPeek.Domain.Resources.Services.UseCases @inject UpdateServiceUseCase UpdateServiceUseCase @inject GetServiceUseCase GetServiceUseCase @inject DeleteServiceUseCase DeleteServiceUseCase @inject CloneServiceUseCase CloneServiceUseCase @inject NavigationManager Nav @inject RenameServiceUseCase RenameServiceUseCase
@Service.Name
@if (!_isEditing) { } else { }
IP
@if (_isEditing) { } else if (!string.IsNullOrWhiteSpace(Service.Network?.Ip)) {
@Service.Network!.Ip
}
Port
@if (_isEditing) { } else if (Service.Network?.Port.HasValue == true) {
@Service.Network.Port
}
Protocol
@if (_isEditing) { } else if (!string.IsNullOrWhiteSpace(Service.Network?.Protocol)) {
@Service.Network!.Protocol
}
URL
@if (_isEditing) { } else if (!string.IsNullOrWhiteSpace(Service.Network?.Url)) { @Service.Network.Url }
Runs On
@if (_isEditing) { } else if (!string.IsNullOrWhiteSpace(Service.RunsOn)) { @Service.RunsOn }
Notes
@if (_isEditing) { } else { }
Are you sure you want to delete @Service.Name? @code { bool _cloneOpen; void OpenClone() { _cloneOpen = true; } async Task HandleCloneSubmit(string newName) { await CloneServiceUseCase.ExecuteAsync(Service.Name, newName); Nav.NavigateTo($"resources/services/{newName}"); } } @code { [Parameter] [EditorRequired] public Service Service { get; set; } = default!; [Parameter] public EventCallback OnSave { get; set; } private bool _isEditing; private ServiceEditModel _edit = new(); void BeginEdit() { _edit = ServiceEditModel.From(Service); _isEditing = true; } async Task Save() { _isEditing = false; await OnSave.InvokeAsync(_edit); } void Cancel() { _isEditing = false; } bool _selectParentOpen; string? SelectedParentName; async Task HandleParentSelected(string? name) { SelectedParentName = name; await UpdateServiceUseCase.ExecuteAsync( Service.Name, Service.Network?.Ip, Service.Network?.Port, Service.Network?.Protocol, Service.Network?.Url, name, Service.Notes); Service = await GetServiceUseCase.ExecuteAsync(Service.Name); _edit = ServiceEditModel.From(Service); } } Are you sure you want to delete @Service.Name?
@code { private bool _confirmDeleteOpen; [Parameter] public EventCallback OnDeleted { get; set; } void ConfirmDelete() { _confirmDeleteOpen = true; } async Task DeleteServer() { _confirmDeleteOpen = false; await DeleteServiceUseCase.ExecuteAsync(Service.Name); if (OnDeleted.HasDelegate) await OnDeleted.InvokeAsync(Service.Name); } } @code { bool _renameOpen; void OpenRename() { _renameOpen = true; } async Task HandleRenameSubmit(string newName) { await RenameServiceUseCase.ExecuteAsync(Service.Name, newName); Nav.NavigateTo($"resources/services/{newName}"); } }