MUI X: Build complex and data-rich applications using a growing list of advanced React components, like the Data Grid, Date and Time Pickers, Charts, and more!
This issue is a continuation of #1040. We might have an opportunity to improve the UX for end-users when using a table. This surfaced with @prakhargupta1 when using a Toolpad app https://github.com/mui/mui-toolpad/issues/1484.
Facts:
When the content of the cell overflow, end-users only have one option: resize the column width to see the content.
Cell expander. For some use cases, it's better to have a single line per row to quickly scan the data. So getRowHeight auto isn't an option. Resizing the columns is painful so isn't an option either. A cell expander would improve the UX but the problem is that it's not easy to pull off. e.g. https://github.com/mui/mui-x/issues/1040#issuecomment-780484281:
Wrapping configuration per column. A hybrid cell wrapping tradeoff is possible for some use cases: keep a single line for more of the cells but wrap a few. This requires setting getRowHeight auto and forcing some of the cells to overflow on a single line. The problem is that it's not easy to pull off:
Some like Elastic UI go as far as allowing end-users to configure it, not just developers:
Options
For pain 1. we could either:
Do nothing, leave the developer to figure this out on their own. This is what Toolpad will need to figure out.
Add a demo in the docs to implement this.
Add a boolean for developers to enable a cell expander automatically, shown to end-users when the cell overflow.
For pain 2. we could either:
Do nothing, leave the developer to figure this out on their own. This is what Toolpad will need to figure out.
Add a demo in the docs to implement this.
Add a boolean for each row to say if it can overflow or not
Allow end-users to configure which column should wrap.
Summary 💡
This issue is a continuation of #1040. We might have an opportunity to improve the UX for end-users when using a table. This surfaced with @prakhargupta1 when using a Toolpad app https://github.com/mui/mui-toolpad/issues/1484.
Facts:
getRowHeight auto
: https://mui.com/x/react-data-grid/row-height/#dynamic-row-height to wrap a row.Problems
Cell expander. For some use cases, it's better to have a single line per row to quickly scan the data. So
getRowHeight auto
isn't an option. Resizing the columns is painful so isn't an option either. A cell expander would improve the UX but the problem is that it's not easy to pull off. e.g. https://github.com/mui/mui-x/issues/1040#issuecomment-780484281:Wrapping configuration per column. A hybrid cell wrapping tradeoff is possible for some use cases: keep a single line for more of the cells but wrap a few. This requires setting
getRowHeight auto
and forcing some of the cells to overflow on a single line. The problem is that it's not easy to pull off:Some like Elastic UI go as far as allowing end-users to configure it, not just developers:
Options
For pain 1. we could either:
For pain 2. we could either:
Examples 🌈
https://elastic.github.io/eui/#/tabular-content/data-grid
Airtable
Motivation 🔦
Improve the browsing experience