diff --git a/src/ScadaLink.CentralUI/Components/Pages/Design/Templates.razor b/src/ScadaLink.CentralUI/Components/Pages/Design/Templates.razor index 061e475..a969103 100644 --- a/src/ScadaLink.CentralUI/Components/Pages/Design/Templates.razor +++ b/src/ScadaLink.CentralUI/Components/Pages/Design/Templates.razor @@ -177,10 +177,15 @@ } } + private bool _revealApplied; + protected override async Task OnAfterRenderAsync(bool firstRender) { - if (firstRender && TemplateIdParam > 0 && _tree != null) + // Wait until second render so TreeView has finished restoring its sessionStorage + // expansion state; otherwise that restore races with RevealNode and overwrites it. + if (!_revealApplied && !firstRender && TemplateIdParam > 0 && _tree != null) { + _revealApplied = true; await _tree.RevealNode($"t:{TemplateIdParam}", select: true); } }