You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "FrancescoCastaldi (via GitHub)" <gi...@apache.org> on 2026/06/25 10:58:22 UTC
[D] How to dynamically and interactively connect multiple tabs using layout elements? [superset]
GitHub user FrancescoCastaldi created a discussion: How to dynamically and interactively connect multiple tabs using layout elements?
## Question
I'm building a complex dashboard in Superset (v3.x) with multiple tabs, and I'm looking for ways to **dynamically and interactively connect multiple tabs** using layout elements.
### Current Setup
- Dashboard with 6+ tabs (Overview, Daily Production, Monthly Production, Regional, Top 10, etc.)
- Each tab contains multiple charts with cross-filters enabled
- Some charts appear in multiple tabs with different perspectives
### What I'm Trying to Achieve
1. **Cross-tab navigation from layout elements**: Clicking a section in a markdown/text component on one tab should navigate to a specific tab (e.g., clicking "Daily Production" on the Overview tab should switch to the Daily Production tab)
2. **Dynamic content based on tab selection**: Having a markdown/text component that updates its content or highlights based on which tab is currently active
3. **Shared filter state across tabs**: Ensuring filter selections on one tab persist and apply when navigating to another tab
### Questions
1. Is there a native way to create **clickable links in markdown/text components** that navigate to specific tabs?
2. Can layout elements (like `MARKDOWN` or `TEXT`) be used to create a **dynamic table of contents** that reflects the current tab state?
3. Are there any **workarounds or best practices** for achieving interactive cross-tab navigation using existing Superset features?
4. Would this require custom frontend development, or can it be achieved through configuration/SQL?
### What I've Tried
- Using `MARKDOWN` components with HTML `<a>` tags — but these don't integrate with Superset's tab navigation
- Cross-filters work within a tab but don't seem to affect navigation between tabs
- Looked into `filter_scopes` but this seems focused on filter behavior, not tab navigation
Any guidance on how to achieve this kind of interactive, interconnected dashboard experience would be greatly appreciated!
---
**Environment:**
- Superset version: 3.x
- Database: MSSQL
- Deployment: Docker
GitHub link: https://github.com/apache/superset/discussions/41422
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to dynamically and interactively connect multiple tabs using layout elements? [superset]
Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: How to dynamically and interactively connect multiple tabs using layout elements?
<!-- Answer -->
Here's what I found regarding your questions:
**1. Clickable links in markdown that navigate to specific tabs**
There's no built-in feature specifically designed for this, but there's a **workaround using URL hash anchors**. Superset's tab system supports anchor-based navigation — the `AnchorLink` component monitors URL hash changes and scrolls/navigates to matching elements [[1]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/dashboard/components/AnchorLink/index.tsx#L51-L57). You can try constructing markdown links like `[Daily Production](#TAB_ID)` where `TAB_ID` is the internal component ID of the target tab. You can also generate permalinks with anchors that jump directly to specific tabs [[2]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/utils/urlUtils.ts#L159-L187). To find the tab IDs, inspect the dashboard layout JSON via the API (`/api/v1/dashboard/{id}`).
**2. Dynamic table of contents reflecting tab state**
This is **not natively supported**. Markdown components render static content and have no awareness of the current active tab state [[3]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/dashboard/components/gridComponents/Markdown.jsx). There's no callback or variable injection that would let a markdown component reactively update based on which tab is selected.
**3. Shared filter state across tabs**
This **works well natively**. Cross-filters now propagate globally across dashboard tabs [[4]](https://github.com/apache/superset/pull/38762), and native filter selections persist when switching tabs via Redux state management [[5]](https://github.com/apache/superset/pull/39708). So your filter selections on one tab will automatically apply when you navigate to another tab — no special configuration needed beyond enabling cross-filters.
**4. Custom frontend development required?**
For items 1 and 2, yes — achieving a fully interactive cross-tab navigation experience with dynamic content would require custom frontend development. The tab navigation system is Redux-based using a `directPathToChild` state pattern [[6]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/dashboard/components/gridComponents/Tabs.jsx#L228-L244), so a custom component or plugin could programmatically trigger tab switches by dispatching the appropriate Redux actions. For embedded dashboards, the Embedded SDK's `postMessage` protocol offers another avenue [[7]](https://github.com/apache/superset/discussions/28196#discussioncomment-17399253).
**Summary of what's achievable without custom code:**
- ✅ Cross-filter state persists across tabs (native)
- ⚠️ Hash-based anchor links in markdown may navigate to tabs (workaround, may require testing with your version)
- ❌ Dynamic markdown content based on active tab (not possible)
- ❌ Interactive table of contents with active state highlighting (not possible)
If you need the full interactive experience you described, a custom React component or a Superset plugin would be the path forward.
<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*
---
Share context across your team and agents. Try [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-tagline&utm_term=apache%2Fsuperset).
[](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-feedback&utm_term=apache%2Fsuperset&message_id=a70575ba-719f-4c8c-b102-d20680e44804) [](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-learn-repo&utm_term=apache%2Fsuperset) [](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-add-team&utm_term=apache%2Fsuperset)
GitHub link: https://github.com/apache/superset/discussions/41422#discussioncomment-17433025
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org