50 references to PageViewModel
Aspire.Dashboard (46)
Components\Pages\TraceDetail.razor.cs (46)
115PageViewModel.SelectedSpanType = _spanTypes[0]; 173if (PageViewModel.SpanWaterfallViewModels is null) 178return TraceDetailPageViewModel.ApplySpanFilters(PageViewModel.SpanWaterfallViewModels, PageViewModel.ContextFilterMatches, PageViewModel.DurationFilterMatches); 198PageViewModel.SelectedData = null; 208if (SpanId is not null && PageViewModel.SpanWaterfallViewModels is not null) 210var spanVm = PageViewModel.SpanWaterfallViewModels.SingleOrDefault(vm => vm.Span.SpanId == SpanId); 272PageViewModel.SpanWaterfallViewModels = null; 273PageViewModel.ContextFilterMatches = null; 274PageViewModel.DurationFilterMatches = null; 308PageViewModel.SpanWaterfallViewModels = SpanWaterfallViewModel.Create(trace, result, new SpanWaterfallViewModel.TraceDetailState(_collapsedSpanIds, resources)); 314_maxDepth = PageViewModel.SpanWaterfallViewModels.Max(s => s.Depth); 376if (PageViewModel.SelectedData?.SpanViewModel is { } selectedSpan && selectedSpan.Span.SpanId == viewModel.Span.SpanId) 380else if (PageViewModel.SelectedData?.LogEntryViewModel is { } selectedLog && viewModel.SpanLogs.Any(l => l.LogEntry.InternalId == selectedLog.LogEntry.InternalId)) 388public TraceDetailSelectedDataViewModel? SelectedData => PageViewModel.SelectedData; 427if (PageViewModel.SelectedData?.SpanViewModel?.Span.SpanId == viewModel.Span.SpanId) 435PageViewModel.SelectedData = new TraceDetailSelectedDataViewModel 444PageViewModel.SelectedData = null; 458if (PageViewModel.SpanWaterfallViewModels is null) 463return PageViewModel.SpanWaterfallViewModels.Any(vm => vm.IsCollapsed); 468if (PageViewModel.SpanWaterfallViewModels is null) 474return PageViewModel.SpanWaterfallViewModels.Any(vm => vm.Depth > RootSpanDepth && !vm.IsCollapsed && vm.Children.Count > 0); 479if (PageViewModel.SpanWaterfallViewModels is null) 484foreach (var viewModel in PageViewModel.SpanWaterfallViewModels) 498if (PageViewModel.SpanWaterfallViewModels is null) 503foreach (var viewModel in PageViewModel.SpanWaterfallViewModels) 518if (PageViewModel.SelectedData?.LogEntryViewModel?.LogEntry.InternalId == logEntry.InternalId) 526PageViewModel.SelectedData = new TraceDetailSelectedDataViewModel 584PageViewModel.Filters.Remove(filter); 588PageViewModel.Filters.Add(filter); 616PageViewModel.ContextFilterMatches = null; 617PageViewModel.DurationFilterMatches = null; 621var contextFilters = PageViewModel.Filters 625var durationFilters = PageViewModel.Filters 629if (PageViewModel.SelectedSpanType.Id?.Filter is { } typeFilter) 637var hasTextFilter = !string.IsNullOrWhiteSpace(PageViewModel.Filter); 639? await GetMatchingSpanIdsAsync(contextFilters, hasTextFilter ? [PageViewModel.Filter] : null) 645PageViewModel.ContextFilterMatches = contextMatches; 646PageViewModel.DurationFilterMatches = durationMatches; 674if (PageViewModel.SpanWaterfallViewModels is null) 679if (PageViewModel.SelectedData is null) 684if (PageViewModel.IsSelectedDataExcludedByFilters(GetVisibleSpanViewModels())) 686PageViewModel.SelectedData = null; 726PageViewModel.Filters, 727clearFilters: PageViewModel.Filters.Clear,
Aspire.Dashboard.Components.Tests (4)
Pages\TraceDetailsTests.cs (4)
79cut.WaitForAssertion(() => Assert.Equal(2, cut.Instance.PageViewModel.SpanWaterfallViewModels?.Count)); 497cut.WaitForAssertion(() => Assert.NotNull(cut.Instance.PageViewModel.SpanWaterfallViewModels)); 593cut.WaitForAssertion(() => Assert.NotNull(cut.Instance.PageViewModel.SpanWaterfallViewModels)); 720cut.WaitForAssertion(() => Assert.NotNull(cut.Instance.PageViewModel.SpanWaterfallViewModels));