dosubot[bot] commented on issue #34682:
URL: https://github.com/apache/superset/issues/34682#issuecomment-3186026058

   <!-- Answer -->
   There aren't any technical or architectural constraints forcing Superset 
charts to be hidden during refresh—the current approach is mainly a traditional 
UX choice to clearly indicate loading and avoid showing potentially stale or 
inconsistent visuals. The logic in `Chart.tsx` and `ChartRenderer.jsx` fully 
replaces the chart with a loading spinner when `chartStatus` is `'loading'`, 
which causes the flickering you described on dashboards with many charts 
refreshing at different times. There's no built-in option to preserve chart 
visibility during refresh, but overlaying a loading indicator on top of the 
existing chart is entirely feasible and can be implemented by adjusting the 
render logic in these components 
[(source)](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/components/Chart/Chart.tsx).
   
   Controls in Superset are defined as reusable components, but each chart 
type's control panel is configured separately. However, you can define a new 
global control in `controls.jsx` and reference it in multiple chart types, or 
potentially add it to a shared section if you want to make this option widely 
available without duplicating code 
[(source)](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/explore/controls.jsx).
 The codebase is modular enough that adding a global or per-chart toggle for 
this behavior should be straightforward and robust.
   
   No documentation, tickets, or PRs were found that discuss or implement a 
configurable option for this, so your proposal would be a novel UX improvement 
for Superset.
   
   
   <!-- Dosu Comment Footer -->
   *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*
   
   ---
   <sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/e2b4c0c9-bc87-4d90-ae37-1c6c1e37eb7e?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/e2b4c0c9-bc87-4d90-ae37-1c6c1e37eb7e?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/e2b4c0c9-bc87-4d90-ae37-1c6c1e37eb7e?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/e2b4c0c9-bc87-4d90-ae37-1c6c1e37eb7e?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/e2b4c0c9-bc87-4d90-ae37-1c6c1e37eb7e?feedback_type=hallucination)
 | [Report 
🐛](https://app.dosu.dev/response-feedback/e2b4c0c9-bc87-4d90-ae37-1c6c1e37eb7e?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/e2b4c0c9-bc87-4d90-ae37-1c6c1e37eb7e?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu
 b)&nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/34682)


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