@if (string.IsNullOrWhiteSpace(Anchor)) { @if (ChildContent != null) { @ChildContent } } else { @if (ChildContent != null) { @ChildContent } } @code{ [Parameter] public string Title { get; set; } = ""; [Parameter] public string Anchor { get; set; } = ""; [Parameter] public bool Collapsed { get; set; } [Parameter] public RenderFragment? ChildContent { get; set; } [CascadingParameter(Name = "OpenAPIUI_TOC")] public ITableOfContentsTree Tree { get; set; } = null!; [CascadingParameter(Name = "OpenAPIUI_TOC_Parent")] public string Parent { get; set; } = ""; private string _anchor = $"anc{Random.Shared.Next():X8}"; protected override void OnAfterRender(bool firstRender) { if (!firstRender) return; Tree.Add(Title, string.IsNullOrWhiteSpace(Anchor) ? _anchor : Anchor, Parent, Collapsed); } }