Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[data grid] Row resize handle #3801

Open
Tracked by #3737
joserodolfofreitas opened this issue Jan 31, 2022 · 7 comments
Open
Tracked by #3737

[data grid] Row resize handle #3801

joserodolfofreitas opened this issue Jan 31, 2022 · 7 comments
Labels
component: data grid This is the name of the generic UI component, not the React module! design This is about UI or UX design, please involve a designer feature: Rendering layout Related to the data grid Rendering engine new feature New feature or request plan: Pro Impact at least one Pro user waiting for 👍 Waiting for upvotes

Comments

@joserodolfofreitas
Copy link
Member

joserodolfofreitas commented Jan 31, 2022

Add a visual handle shown when the mouse cursor is close to a row's lines, allowing users to change a row's height through the UI (by clicking and dragging the lines)

It's like the handle to resize a column's width, but for the rows' height.

Based on #3218 comment, part of #3737, related to #3750.

Benchmark

@joserodolfofreitas joserodolfofreitas added component: data grid This is the name of the generic UI component, not the React module! new feature New feature or request feature: Rendering layout Related to the data grid Rendering engine labels Jan 31, 2022
@cherniavskii
Copy link
Member

I think we should discuss whether we want to implement this.
AG Grid allows to set row height, but there's no Row resizing feature: https://www.ag-grid.com/javascript-data-grid/row-height/
I'm not sure if there's a valid use case for such feature either.

@joserodolfofreitas
Copy link
Member Author

We can link the issue to the "variable row height" documentation, and add the waiting for 👍 label, to confirm it's a desired feature.
Do we have any major technical challenges on this one?

@cherniavskii
Copy link
Member

I think performance is the biggest challenge.
Currently, to change the row height we recalculate positions of all rows on the page.
With row resize, we'll have to do that on each resize event.
I'm not sure if we can avoid recalculating all rows positions.

Adding @DanailH to discussion, since he has more context in this regard

@m4theushw
Copy link
Member

The column resize doesn't call setColumnWidth on each resize event. It first updates imperatively the width of all cells, then syncs the state.

https://github.com/mui-org/material-ui-x/blob/ce1aebfc59721ec8970b7386c2cb8524231e290e/packages/grid/_modules_/grid/hooks/features/columnResize/useGridColumnResize.tsx#L137

@cherniavskii
Copy link
Member

@m4theushw Interesting, it pretty much solves my concern :)
Have you discovered a use case for this feature?

@m4theushw

This comment was marked as resolved.

@joserodolfofreitas joserodolfofreitas added the plan: Pro Impact at least one Pro user label Feb 2, 2022
@cherniavskii cherniavskii added the waiting for 👍 Waiting for upvotes label Mar 23, 2022
@oliviertassinari oliviertassinari changed the title [DataGrid] Add a resize handle to row lines. [data grid] Implement row resize Jun 18, 2022
@hassaans208
Copy link

hassaans208 commented Mar 6, 2023

I hope this to be a solution to your problem
#417 (comment)

@joserodolfofreitas joserodolfofreitas changed the title [data grid] Implement row resize [data grid] Row resize handle Mar 14, 2023
@oliviertassinari oliviertassinari added design This is about UI or UX design, please involve a designer and removed design: ux labels Aug 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: data grid This is the name of the generic UI component, not the React module! design This is about UI or UX design, please involve a designer feature: Rendering layout Related to the data grid Rendering engine new feature New feature or request plan: Pro Impact at least one Pro user waiting for 👍 Waiting for upvotes
Projects
None yet
Development

No branches or pull requests

5 participants