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]

Reply via email to