@using RackPeek.Web.Components.Components @typeparam TSystem where TSystem : RackPeek.Domain.Resources.SystemResources.SystemResource
@System.Name
@if (!_isEditing) { } else { }
Type
@if (_isEditing) { } else if (!string.IsNullOrWhiteSpace(System.Type)) {
@System.Type
}
OS
@if (_isEditing) { } else if (!string.IsNullOrWhiteSpace(System.Os)) {
@System.Os
}
Cores
@if (_isEditing) { } else if (System.Cores.HasValue) {
@System.Cores
}
RAM (GB)
@if (_isEditing) { } else if (System.Ram.HasValue) {
@System.Ram GB
}
Runs On
@if (_isEditing) { } else if (!string.IsNullOrWhiteSpace(System.RunsOn)) { @System.RunsOn }
@if (!_isEditing && System.Drives?.Any() == true) {
Drives
@foreach (var drive in System.Drives) {
@drive.Type — @drive.Size GB
}
}
@code { [Parameter][EditorRequired] public TSystem System { get; set; } = default!; [Parameter] public EventCallback OnSave { get; set; } private bool _isEditing; private SystemEditModel _edit = new(); void BeginEdit() { _edit = SystemEditModel.From(System); _isEditing = true; } async Task Save() { _isEditing = false; await OnSave.InvokeAsync(_edit); } void Cancel() { _isEditing = false; } }