SED-4450 the cross execution and analytics view have no loading indicator#1307
SED-4450 the cross execution and analytics view have no loading indicator#1307lucianbaciu wants to merge 21 commits intomasterfrom
Conversation
…execution-and-analytics-view-have-no-loading-indicator # Conflicts: # projects/step-frontend/src/lib/modules/execution/components/schedule-overview/cross-execution-dashboard/report/scheduler-report-view.component.html
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
Summary of ChangesHello @lucianbaciu, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the user experience in the cross-execution and analytics views by integrating comprehensive loading indicators. It establishes a refined system for managing loading states across various dashboard widgets and charts, intelligently differentiating between user-initiated and automatic data refreshes to control spinner visibility. Beyond user-facing improvements, the PR also includes a substantial refactoring effort, converting several Angular components to standalone, which boosts the application's modularity and maintainability. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces comprehensive loading state management across various dashboard components and charts, utilizing new signal<boolean> properties for individual widget loading states and a lastRefreshTrigger signal to differentiate between 'manual' and 'auto' refreshes. The changes include adding conditional loading spinners to alt-execution-errors, cross-execution-heatmap, scheduler-report-view, chart-dashlet, table-dashlet, and performance-view-time-selection components. Many components are converted to standalone, and several methods in dashboard.component.ts are refactored to be protected or private. Review comments highlight a potential issue with isLoading state management in table-dashlet.component.ts due to nested subscriptions, suggest removing a redundant loading check in scheduler-report-view.component.html, and point out a debug statement that needs removal in dashboard.component.html.
...step-frontend/src/lib/modules/timeseries/components/table-dashlet/table-dashlet.component.ts
Outdated
Show resolved
Hide resolved
...ents/schedule-overview/cross-execution-dashboard/report/scheduler-report-view.component.html
Outdated
Show resolved
Hide resolved
projects/step-frontend/src/lib/modules/timeseries/components/dashboard/dashboard.component.html
Outdated
Show resolved
Hide resolved
neogucky
left a comment
There was a problem hiding this comment.
I noticed it writes "manual" and "auto" in the analytics view whioch is likely a missed debug output
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request primarily focuses on enhancing the user experience by introducing loading indicators across various components and refactoring the way time range and filter changes are managed. The changes improve modularity and control over the UI state, especially regarding loading states, by moving from direct context manipulation to event-based propagation. The adoption of Angular signals for managing loading states is a good practice for reactivity.
...ib/modules/execution/components/alt-execution-analytics/alt-execution-analytics.component.ts
Outdated
Show resolved
Hide resolved
...ep-frontend/src/lib/modules/timeseries/components/table-dashlet/table-dashlet.component.html
Outdated
Show resolved
Hide resolved
...step-frontend/src/lib/modules/timeseries/components/table-dashlet/table-dashlet.component.ts
Outdated
Show resolved
Hide resolved
...step-frontend/src/lib/modules/timeseries/components/table-dashlet/table-dashlet.component.ts
Outdated
Show resolved
Hide resolved
...frontend/src/lib/modules/timeseries/modules/_common/types/time-series/time-series-context.ts
Outdated
Show resolved
Hide resolved
neogucky
left a comment
There was a problem hiding this comment.
@lucian-baciu can you check that all debug code is cleaned up?
…-view-have-no-loading-indicator
…-view-have-no-loading-indicator
No description provided.