show spinner for metircs and log data when experiment is loading#3082
show spinner for metircs and log data when experiment is loading#3082
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds explicit “experiment is loading” UI states to the experiment details dashboard so users see a spinner while experiment data is being fetched, instead of partial/empty metrics/enrollment views.
Changes:
- Plumbs
isLoadingExperiment$fromExperimentServiceinto the metrics data section and down into the query result component. - Updates the metrics query result template to render a top-level loading spinner when the experiment is loading.
- Adds a loading spinner state to the enrollment data section (including spinner module import + styling).
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/frontend/projects/upgrade/src/app/features/dashboard/experiments/pages/experiment-details-page/experiment-details-page-content/experiment-metrics-data-section-card/experiment-query-result/experiment-query-result.component.ts | Adds an @Input() flag to control top-level loading UI. |
| packages/frontend/projects/upgrade/src/app/features/dashboard/experiments/pages/experiment-details-page/experiment-details-page-content/experiment-metrics-data-section-card/experiment-query-result/experiment-query-result.component.html | Switches to control-flow blocks and adds a top-level spinner when isLoadingExperiment is true. |
| packages/frontend/projects/upgrade/src/app/features/dashboard/experiments/pages/experiment-details-page/experiment-details-page-content/experiment-metrics-data-section-card/experiment-metrics-data-section-card.component.ts | Exposes isLoadingExperiment$ from the service for the section card template. |
| packages/frontend/projects/upgrade/src/app/features/dashboard/experiments/pages/experiment-details-page/experiment-details-page-content/experiment-metrics-data-section-card/experiment-metrics-data-section-card.component.html | Passes loading state into the query result component. |
| packages/frontend/projects/upgrade/src/app/features/dashboard/experiments/pages/experiment-details-page/experiment-details-page-content/experiment-enrollment-data-section-card/experiment-enrollment-data/experiment-enrollment-data.component.ts | Imports spinner module and exposes isLoadingExperiment$ to the enrollment template. |
| packages/frontend/projects/upgrade/src/app/features/dashboard/experiments/pages/experiment-details-page/experiment-details-page-content/experiment-enrollment-data-section-card/experiment-enrollment-data/experiment-enrollment-data.component.scss | Adds .loading-container styling for centered spinner. |
| packages/frontend/projects/upgrade/src/app/features/dashboard/experiments/pages/experiment-details-page/experiment-details-page-content/experiment-enrollment-data-section-card/experiment-enrollment-data/experiment-enrollment-data.component.html | Shows a spinner when the experiment is loading before rendering enrollment content. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
i think copilot is talking about taking advantage of local template variables, which are part of the new ng template syntax. new to me but makes a lot of sense: https://angular.dev/guide/templates/variables. |
@danoswaltCL ok, cool I'll take a look at that. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…experiments/pages/experiment-details-page/experiment-details-page-content/experiment-metrics-data-section-card/experiment-query-result/experiment-query-result.component.html Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
No description provided.