Skip to content

feat: add tab select with save chart to dashboard#36332

Merged
EnxDev merged 73 commits intoapache:masterfrom
SBIN2010:feature/add_tab_select_with_save_chart
Jan 16, 2026
Merged

feat: add tab select with save chart to dashboard#36332
EnxDev merged 73 commits intoapache:masterfrom
SBIN2010:feature/add_tab_select_with_save_chart

Conversation

@SBIN2010
Copy link
Contributor

@SBIN2010 SBIN2010 commented Nov 28, 2025

User description

SUMMARY

Users can now select a specific tab when saving a chart to a dashboard. This allows for more precise control over chart placement in complex dashboards with multiple tabs.

Add the ability to select a tab in the chart save modal window when placing it on a dashboard:

  • Load and display available tabs when an existing dashboard is selected
  • Allow users to choose a specific tab for the new chart
  • Automatically position the chart on the selected tab

Added TreeSelect from Ant Design for tab selection

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Снимок экрана от 2025-11-28 22-43-07
demo2_can_select_tab.webm

TESTING INSTRUCTIONS

run test src/explore/components/SaveModal.test.jsx

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

CodeAnt-AI Description

Let users pick a dashboard tab when saving a chart

What Changed

  • When using "Save as..." and choosing a dashboard, a tab selector appears so the chart can be assigned to a specific tab
  • Newly saved charts are added directly onto the selected dashboard tab; if this fails, the chart is still saved and a warning is shown
  • When redirecting to the dashboard after saving, the page now opens on the chosen tab instead of the default tab

Impact

✅ Easier chart placement on multi-tab dashboards
✅ Quicker access to newly saved charts
✅ Clearer feedback when tab placement fails

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

SBIN2010 and others added 30 commits October 22, 2024 23:07
@codeant-ai-for-open-source
Copy link
Contributor

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@netlify
Copy link

netlify bot commented Jan 8, 2026

Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit b026c1e
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/696022dcd7673e0008fc0a8d
😎 Deploy Preview https://deploy-preview-36332--superset-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@SBIN2010 SBIN2010 requested a review from EnxDev January 8, 2026 22:05
Copy link
Contributor

@bito-code-review bito-code-review bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Agent Run #bcacb9

Actionable Suggestions - 1
  • superset-frontend/src/explore/components/SaveModal.tsx - 1
Additional Suggestions - 1
  • superset-frontend/src/explore/types.ts - 1
    • Misleading enum name · Line 38-41
      The newly added enum is named ChartStatusType, but its values ('overwrite' and 'saveas') are for save actions, not chart statuses. This is confusing given the existing ChartStatus type for rendering states. Renaming it to something like SaveActionEnum would improve clarity and maintainability.
Review Details
  • Files reviewed - 4 · Commit Range: 127cdaf..b026c1e
    • superset-frontend/src/dashboard/constants.ts
    • superset-frontend/src/explore/components/SaveModal.test.jsx
    • superset-frontend/src/explore/components/SaveModal.tsx
    • superset-frontend/src/explore/types.ts
  • Files skipped - 0
  • Tools
    • Eslint (Linter) - ✔︎ Successful
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

Comment on lines +105 to +107
action: this.canOverwriteSlice()
? ChartStatusType.overwrite
: ChartStatusType.saveas,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent enum vs string usage

The refactoring introduces ChartStatusType enum but inconsistently mixes it with string literals for action values. While functionally equivalent since enum values are strings, this creates maintenance risk if enum values change. For example, comparisons like this.state.action === 'overwrite' should use ChartStatusType.overwrite for type safety.

Code Review Run #bcacb9


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

@EnxDev EnxDev added the 🎪 ⚡ showtime-trigger-start Create new ephemeral environment for this PR label Jan 16, 2026
@github-actions github-actions bot added 🎪 b026c1e 🚦 building Environment b026c1e status: building 🎪 b026c1e 📅 2026-01-16T13-48 Environment b026c1e created at 2026-01-16T13-48 🎪 b026c1e 🤡 EnxDev Environment b026c1e requested by EnxDev and removed 🎪 ⚡ showtime-trigger-start Create new ephemeral environment for this PR labels Jan 16, 2026
@github-actions
Copy link
Contributor

🎪 Showtime is building environment on GHA for b026c1e

@github-actions github-actions bot added 🎪 b026c1e 🚦 deploying Environment b026c1e status: deploying 🎪 b026c1e 🚦 running Environment b026c1e status: running 🎪 🎯 b026c1e Active environment pointer - b026c1e is receiving traffic 🎪 b026c1e 🌐 54.218.123.95:8080 Environment b026c1e URL: http://54.218.123.95:8080 (click to visit) and removed 🎪 b026c1e 🚦 building Environment b026c1e status: building 🎪 b026c1e 🚦 deploying Environment b026c1e status: deploying 🎪 b026c1e 🚦 running Environment b026c1e status: running 🎪 🎯 b026c1e Active environment pointer - b026c1e is receiving traffic labels Jan 16, 2026
@github-actions
Copy link
Contributor

🎪 Showtime deployed environment on GHA for b026c1e

Environment: http://54.218.123.95:8080 (admin/admin)
Lifetime: 48h auto-cleanup
Updates: New commits create fresh environments automatically

Copy link
Contributor

@EnxDev EnxDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SBIN2010 Thanks a lot for working on this feature; it’s super useful!

@EnxDev EnxDev merged commit c30edaf into apache:master Jan 16, 2026
77 checks passed
aminghadersohi pushed a commit to aminghadersohi/superset that referenced this pull request Jan 16, 2026
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com>
reynoldmorel pushed a commit to reynoldmorel/superset that referenced this pull request Jan 16, 2026
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com>
JCelento pushed a commit to JCelento/superset that referenced this pull request Jan 19, 2026
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com>
JCelento pushed a commit to JCelento/superset that referenced this pull request Jan 19, 2026
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com>
aminghadersohi pushed a commit to aminghadersohi/superset that referenced this pull request Jan 24, 2026
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com>
(cherry picked from commit c30edaf)
@sadpandajoe sadpandajoe added 🎪 🛑 showtime-trigger-stop Destroy ephemeral environment and clean up AWS resources and removed testenv-up labels Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎪 b026c1e 🤡 EnxDev Environment b026c1e requested by EnxDev 🎪 b026c1e 🚦 running Environment b026c1e status: running 🎪 b026c1e 🌐 54.218.123.95:8080 Environment b026c1e URL: http://54.218.123.95:8080 (click to visit) 🎪 b026c1e 📅 2026-01-16T13-48 Environment b026c1e created at 2026-01-16T13-48 dashboard:tab Related to the usage of tabs in the Dashboard explore:save Related to saving changes in Explore 🎪 🛑 showtime-trigger-stop Destroy ephemeral environment and clean up AWS resources size:L This PR changes 100-499 lines, ignoring generated files size/XL 🎪 ⌛ 48h Environment expires after 48 hours (default)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants