Skip to content

feat: unify row viewer and column explorer#8905

Merged
mscolnick merged 6 commits intomainfrom
kg/unify-row-col-viewer
Mar 30, 2026
Merged

feat: unify row viewer and column explorer#8905
mscolnick merged 6 commits intomainfrom
kg/unify-row-col-viewer

Conversation

@kirangadhave
Copy link
Copy Markdown
Contributor

@kirangadhave kirangadhave commented Mar 27, 2026

📝 Summary

Combines the row viewer and column explorer in a single tabbed "Tab Explorer Pane"

🔍 Description of Changes

  • Single tabbed panel with Rows and Columns tabs, replacing two independent panels
    • Single toolbar button toggles the panel open/close; tab selection lives inside the panel
    • When only one tab is available (e.g. mo.ui.dataframe which has showColumnExplorer=false), renders without a tab bar
    • Tab type persists when toggling the panel on/off
  • Minor UI improvements on side bar
    • row viewer search textbox is visually consistent with column explorer search
    • "select/deselect row" text is replaced with a checkbox
    • Better formatting for top bar (pin, focus, close btn)
Screen.Recording.2026-03-27.at.3.03.05.PM.mov

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
marimo-docs Ready Ready Preview, Comment Mar 30, 2026 7:37pm

Request Review

@kirangadhave kirangadhave added the enhancement New feature or request label Mar 27, 2026
@Light2Dark
Copy link
Copy Markdown
Collaborator

Light2Dark commented Mar 30, 2026

  1. Could we move the tab selection to the area at the top? And probably make it much less prominent. It's a bit too big and has too much padding.
image
  1. The powerful thing about column explorer is that you can click on the columns to view charts & summary stats. Hence why it was called column explorer. Could we communicate to the user that they can click on the column?

  2. Maybe reduce the size of the select text, and slightly reduce the size of the select checkbox. Might be hard, I wouldn't spend too much time on it.

  3. Looks like some things are squished when the panel is too small. We could increase the min-width of the panel/even get rid of the << and >> buttons I think

image

@kirangadhave
Copy link
Copy Markdown
Contributor Author

kirangadhave commented Mar 30, 2026

  1. Could we move the tab selection to the area at the top? And probably make it much less prominent. It's a bit too big and has too much padding.

I like this. I have this implemented:
Screenshot 2026-03-30 at 10 49 46 AM

  1. The powerful thing about column explorer is that you can click on the columns to view charts & summary stats. Hence why it was called column explorer. Could we communicate to the user that they can click on the column?

How about we expand the first column by default? and also add accordion like expand/collapse icons to the left side of each column header?

  1. Maybe reduce the size of the select text, and slightly reduce the size of the select checkbox. Might be hard, I wouldn't spend too much time on it.

I actually increased the size, so this should be easy to undo

  1. Looks like some things are squished when the panel is too small. We could increase the min-width of the panel/even get rid of the << and >> buttons I think

i did increase the min-width, I can do it a few more points.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 30, 2026

Bundle Report

Changes will increase total bundle size by 1.77kB (0.01%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
marimo-esm 24.82MB 1.77kB (0.01%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: marimo-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/cells-*.js 4 bytes 688.75kB 0.0%
assets/index-*.js 2.93kB 610.08kB 0.48%
assets/edit-*.js -56 bytes 371.3kB -0.02%
assets/index-*.css 13 bytes 360.63kB 0.0%
assets/JsonOutput-*.js 10.5kB 335.17kB 3.23%
assets/ai-*.js -9 bytes 248.35kB -0.0%
assets/cell-*.js 37 bytes 182.77kB 0.02%
assets/agent-*.js 57 bytes 158.29kB 0.04%
assets/layout-*.js -7 bytes 129.42kB -0.01%
assets/panels-*.js -5 bytes 48.2kB -0.01%
assets/file-*.js 57 bytes 47.1kB 0.12%
assets/form-*.js 3 bytes 26.28kB 0.01%
assets/react-*.browser.esm-DzNEmH2W.js (New) 25.64kB 25.64kB 100.0% 🚀
assets/session-*.js 52 bytes 24.99kB 0.21%
assets/state-*.js 21.34kB 23.62kB 938.07% ⚠️
assets/state-*.js 1.53kB 2.27kB 205.78% ⚠️
assets/state-*.js (New) 744 bytes 744 bytes 100.0% 🚀
assets/command-*.js 60 bytes 9.87kB 0.61%
assets/run-*.js -46 bytes 10.51kB -0.44%
assets/switch-*.js -1.12kB 10.12kB -9.99%
assets/column-*.js 1 bytes 7.19kB 0.01%
assets/mermaid-*.core-Dml2GV6b.js (New) 2.38kB 2.38kB 100.0% 🚀
assets/context-*.js (Deleted) -33.57kB 0 bytes -100.0% 🗑️
assets/useHotkey-*.js (New) 1.32kB 1.32kB 100.0% 🚀
assets/react-*.browser.esm-Dmf4Xg1J.js (Deleted) -25.64kB 0 bytes -100.0% 🗑️
assets/mermaid-*.core-hTN4xwYK.js (Deleted) -2.38kB 0 bytes -100.0% 🗑️
assets/toggle-*.js (Deleted) -1.74kB 0 bytes -100.0% 🗑️
assets/SelectionIndicator-*.js (Deleted) -324 bytes 0 bytes -100.0% 🗑️

Files in assets/index-*.js:

  • ./src/plugins/impl/DataTablePlugin.tsx → Total Size: 28.19kB

  • ./src/components/data-table/table-explorer-panel/table-explorer-panel.tsx → Total Size: 5.21kB

  • ./src/components/data-table/row-viewer-panel/row-viewer.tsx → Total Size: 9.38kB

  • ./src/components/data-table/hooks/use-panel-ownership.ts → Total Size: 2.94kB

  • ./src/components/data-table/column-explorer-panel/column-explorer.tsx → Total Size: 10.96kB

Files in assets/JsonOutput-*.js:

  • ./src/components/data-table/TableActions.tsx → Total Size: 3.31kB

  • ./src/core/slots/slots.ts → Total Size: 241 bytes

  • ./src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx → Total Size: 6.29kB

  • ./src/components/data-table/data-table.tsx → Total Size: 5.53kB

@mscolnick mscolnick merged commit 9d64f84 into main Mar 30, 2026
29 checks passed
@mscolnick mscolnick deleted the kg/unify-row-col-viewer branch March 30, 2026 21:33
@github-actions
Copy link
Copy Markdown

🚀 Development release published. You may be able to view the changes at https://marimo.app?v=0.21.2-dev94

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants