Skip to content

SED-4450 the cross execution and analytics view have no loading indicator#1307

Open
lucianbaciu wants to merge 21 commits intomasterfrom
SED-4450-the-cross-execution-and-analytics-view-have-no-loading-indicator
Open

SED-4450 the cross execution and analytics view have no loading indicator#1307
lucianbaciu wants to merge 21 commits intomasterfrom
SED-4450-the-cross-execution-and-analytics-view-have-no-loading-indicator

Conversation

@lucianbaciu
Copy link
Contributor

No description provided.

…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
@chatgpt-codex-connector
Copy link

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@gemini-code-assist
Copy link

Summary of Changes

Hello @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

  • Loading Indicators Implementation: Introduced dedicated loading state signals (e.g., summaryWidgetLoading, executionsChartLoading) across various components like CrossExecutionDashboardState, ChartDashletComponent, TableDashletComponent, CrossExecutionHeatmapComponent, and PerformanceViewTimeSelectionComponent to manage the visibility of loading spinners during data fetching.
  • Conditional Spinner Display: Implemented conditional rendering of mat-spinner components in several HTML templates (e.g., scheduler-report-view.component.html, cross-execution-heatmap.component.html, chart-dashlet.component.html) to provide visual feedback to the user while data is being loaded.
  • Refresh Trigger Differentiation: Added a lastRefreshTrigger signal to distinguish between manual and automatic data refreshes. This allows loading spinners to be displayed only for user-initiated actions (manual refreshes) and suppressed during background auto-refreshes, preventing unnecessary visual clutter.
  • Component Standalone Conversion: Several Angular components, including ChartDashletComponent, TableDashletComponent, TsGroupingComponent, TimeRangePickerComponent, DashboardFilterBarComponent, FilterBarItemComponent, and PerformanceViewTimeSelectionComponent, have been converted to standalone components, enhancing modularity and simplifying the Angular module structure.
  • Refactoring and Access Modifier Adjustments: Numerous methods across DashboardComponent and DashboardFilterBarComponent have had their access modifiers changed to protected or private, indicating a general refactoring effort to encapsulate internal logic and improve code organization.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Collaborator

@neogucky neogucky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed it writes "manual" and "auto" in the analytics view whioch is likely a missed debug output

@lucianbaciu lucianbaciu requested a review from neogucky January 20, 2026 22:11
@neogucky
Copy link
Collaborator

/gemini review

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Collaborator

@neogucky neogucky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lucian-baciu can you check that all debug code is cleaned up?

@neogucky neogucky self-requested a review January 25, 2026 22:22
neogucky
neogucky previously approved these changes Jan 25, 2026
@neogucky neogucky changed the title Sed 4450 the cross execution and analytics view have no loading indicator SED-4450 the cross execution and analytics view have no loading indicator Jan 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants