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> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu b) [](https://go.dosu.dev/discord-bot) [](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]
