@using RackPeek.Domain.Resources.Hardware @using RackPeek.Domain.Resources.SystemResources @if (Tree is null) {
No data.
} else {
@foreach (var systemTree in Tree.Systems) {
@systemTree.System.Name
System
@if (systemTree.ChildResources?.Any() == true) {
@foreach (var child in systemTree.ChildResources) { switch (child) { case SystemResource nestedSystem:
@nestedSystem.Name
System
break; case Service service: var endpoint = service.NetworkString();
@service.Name
Service @if (!string.IsNullOrWhiteSpace(endpoint)) { - @endpoint }
break; } }
} else {
No child resources
}
}
} @code { [Parameter] [EditorRequired] public HardwareDependencyTree? Tree { get; set; } private static string? BuildServiceSubtitle(Service service) { var endpoint = service.NetworkString(); if (string.IsNullOrWhiteSpace(endpoint)) return null; return endpoint; } }