-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[DataGrid] Header filter design improvements #15991
base: master
Are you sure you want to change the base?
Conversation
Localization writing tips ✍️Seems you are updating localization 🌍 files. Thank you for contributing to the localization! 🎉 To make your PR perfect, here is a list of elements to check: ✔️
Deploy preview: https://deploy-preview-15991--material-ui-x.netlify.app/ |
packages/x-data-grid-pro/src/components/headerFiltering/GridHeaderFilterCell.tsx
Show resolved
Hide resolved
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
(props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor, | ||
const headerFilterHeight = Math.max( | ||
Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor), | ||
MIN_HEADER_FILTER_HEIGHT, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do we think about adding a minimum height for the header filter row? We need at minimum enough space for the inputs to not be clipped. Would fix #13048
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(there's a broken test related to this, I'll fix if we want to move forward with this approach)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While that seems fine in general, I'm wondering if we could keep the minimum height closer to the compact density height by reducing the font sizes and spacing a bit. I imagine it would be easier now that we have outlined text field. Current compact density view looks a little bit off, isn't it?
Also, this way the users won't be able to customize the height even by using props.headerFilterHeight
if the height is lower than min height which doesn't sound great if I want to override the default header filters and pass a custom element.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'd be great to keep the keyboard navigation working in the menu.
Current behavior | Updated behavior (this PR) |
---|---|
master.mp4 |
current.mp4 |
{isApplied && [ | ||
<rootProps.slots.baseMenuItem | ||
key="filter-menu-clear-filter" | ||
iconStart={<rootProps.slots.columnMenuClearIcon fontSize="small" />} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The menu with icons looks nice 👍, however if we could add icon per operator, like =
for Equals and so on, and use focus state for currently active operator it'll look more visually appealing IMO.
Closes #15486
https://deploy-preview-15991--material-ui-x.netlify.app/x/react-data-grid/filtering/header-filters/
Changelog
Breaking changes
slotProps={{ headerFilterCell: { showClearIcon: true } }}
to restore the clear button in the cell.