-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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] Improve the filtering panel UX #3140
Comments
Closing the panel when deleting the last filter is quite simple. Meanwhile, you can implement a workaround like in this example Alternatively, you can override the whole |
On Airtable, deleting the last filter shows the following message: For the DataGrid, I don't know why it was decided to do this way when the filter panel was created. We could close the panel when the last filter is deleted. cc @oliviertassinari
Only closing the panel when deleting the last filter won't solve this problem. The user could still mistakenly click in a row to close the panel. A better solution would be show a backdrop when any dialog is open. I don't mean a backdrop from |
I think that we should have @danilo-leal redo the UX of the filtering panel for us, and freeze all changes until it's done or find a great reference to copy. For me, this pain is very close to #1777. The whole filter panel UX if not great (to be politically correct). This is reinforced from the feedback on the developer survey: https://www.notion.so/mui-org/Raw-data-aa374141dcb3453dbfea301dcc437126#75ded117ff3e4244be21fcdc53fdf98a 10 requests for "fix features - filtering". In this instance, I personally got tricked multiple times in clicking the empty arrow to close the panel and then not understanding why nothing was apparently happening 🙈. I feel that this icon is wrong, it shouldn't look like a close icon. This would already be clearer: Actually, Airtable changed its design since the last time we work on the filtering. It seems to work well 👌 Same for Notion:
@m4theushw Let's say there is one filter applied and you want to change the column you filter on. Would you rather change the column select or remove the filter and add a new one? Personally, I'm more on the second group to make sure I start from a pristine state. In the end, I would be in favor of following the other existing tools in the space so that end-users don't have to learn new behavior from us. Instead, if they can rely on the expectation they have with Notion, Airtable, Excel, etc. I think that it's better. |
tbh i like the current simple datagrid filters over airtables. |
True, we could consider a dedicated close button for the panel, with no other side effects. |
I think we have two issues here: the confusing delete button and the For the first, we could be more explicit in the icon chosen. Use a trash icon when the filter can be removed and another icon when it behaves like a reset button. Or make the delete button to always delete and add an empty state message (like Airtable does). For the second issue, we have the option of adding a backdrop on top of the virtual scroller to block any interaction while a panel is open. This solves part of the pain raised by the author while the filter panel UX can be addressed later. |
@m4theushw From my perspective, it's not an issue. It's part of the tradeoff to use Popper and not Popover. This is how many UIs behave. As an end-user I have personally been trained (using many different web apps) to close pop-ups like this by clicking on while area of the screen to avoid side click effects. I do it without even think of doing it. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
From issue #3841 we modifyed the behavior of this button. The why we made this choice is a tricky configuration, in which developers design filters which does not require value. In such case, it is was not possible to remove the filtering, because clicking on the cross was setting When you delete the filter item, the filter panel show the default one. So we would be in a situation where one visual state of the filter panel would correspond to 2 distinct states:
So we decided that when removing the last item, the filter panel close. For now, if |
Summary 💡
I feel like the UX behavior should be if the filter dialog is open i should be able to remove all the rows (
and if the last row is removed the dialog should close).Examples 🌈
Motivation 🔦
it's not always obvious to people to click outside of the popup or the filters menu button to get the filtering panel closed. also if you have a rowclick event enabled and clicking off the filter can fire that event if not careful.
Order ID 💳 (optional)
31818
The text was updated successfully, but these errors were encountered: