VasilijeBursac opened a new issue, #34682: URL: https://github.com/apache/superset/issues/34682
## Screenshot <img width="1439" height="739" alt="Image" src="https://github.com/user-attachments/assets/be8c2047-7882-460f-a1ef-0e6cc3271aca" /> ## Description Currently, when a dashboard refreshes, Superset hides each chart and shows only the loading animation until the new data is rendered. On dashboards with multiple charts refreshing at different speeds, this can cause noticeable flickering and distracting visual changes, especially for users who monitor dashboards continuously. **Are there any specific reasons for fully hiding charts during refresh beyond emphasizing the loading state and ensuring loading animation visibility?** ## Proposed Improvement In many use cases, keeping the previous chart visible until the updated data is ready would create a more subtle, less disruptive user experience. This way, users would simply see the chart update once the refresh completes, without repeated disappear/reappear cycles. If the main concern with preserving chart visibility is ensuring that the loading animation remains noticeable, a more flexible approach could be to allow configuring the loading indicator’s position and style — for example, placing it in a specific location within the chart area (e.g. header whitespace in the chart corner), so it remains visible without interfering with the chart content. This would keep the loading feedback clear and accessible while minimizing disruption to users who are actively monitoring dashboards. ### Some things I have tried For our needs, I’ve modified the `Chart.tsx` component to call `renderChartContainer()` even during loading, overlaying the chart with the loading animation instead of replacing it. This could be considered as a potential default behavior in Superset. The most flexible approach would be to make this configurable — for example, adding a checkbox in the "Edit chart" options to allow users to choose whether charts remain visible during refresh. I’ve tested this by: 1. Adding a new `CheckboxControl` in `sharedControls.tsx` 2. Accessing the checkbox control’s value from `formData` in `Chart.tsx` to control `renderChartContainer()` based on the user’s choice and loading state 3. Updating `controlPanel.tsx` for the desired chart type to include the new control However, this currently requires applying step 3 to each chart type’s `controlPanel.tsx`. Is there a more efficient way to make this available across all chart types? ## Design input What is the Superset team’s opinion and vision on this? If you agree this could improve UX, I’m happy to open a PR with an implementation. @kasiazjc @rusackas @mistercrunch Thanks in advance! Best regards! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
