-
-
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
[data grid] Improve Server-side support with new data source #8179
Comments
This comment was marked as resolved.
This comment was marked as resolved.
We have recently explored supporting lazy loading for tree data and row grouping, and this seems to be extending the original description of the data source. With the data source, we want to support at least these use cases:
It’s preferable for the data source to be optional in the use cases that are currently supported by the data grid (like server filtering, sorting, pagination, etc.). Benchmarks:
|
Just for cross-reference: We now have an implementation in Toolpad which supports pagination, filtering, sorting and all CRUD operations. |
@cherniavskii Any update on this development ? |
Seems like this is a priority for V7? Does the MUI team have any guidance on when this will land/be usable? I ask b/c our team is considering server-side pagination, sorting, filtering in the upcoming months and we'll have to roll our own solution or use this solution if it becomes available. We are Premium users. Thanks! |
Hey @BrentFarese, thank you for reaching out. Meanwhile, may I know what specific features you currently use or plan to use in the future, do you also expect any advanced use cases like aggregation, row-grouping, etc. to be utilized in your project with server-side support? CC @avioralm |
@MBilalShafi we don't plan to use advanced features for the initial implementation, just pagination, sorting, filtering support. I know timelines shift all the time, but is this work expected to land in 1-2 months or is it more like 4-6 months? Just gauging whether we wait for it or roll our own. Thanks! |
1-2 months is the more likely period for the first implementation (including server-side filtering, sorting, and pagination), however, I'm curious to know if meanwhile there's a barrier for you to keep using the server-side features already supported by the Grid. The following features are already available in the Grid: |
No there is not a barrier to us using the existing server-side features. We might have to do that depending on when we implement server-side logic and when MUI releases the initial version. Would like to avoid having to migrate tho so we'll follow releases closely. Thanks! |
@MBilalShafi We are using the pro plan in our company and it is getting harder and harder to implement new tabular data features without the data source. |
Hi @avioralm, thank you for reaching out. I'd be interested to know more about specific features / use-cases you want to solve with the data source. The first implementation of data source is expected to land in Q2 2024, however it will cover a subset of features with other advanced ones to follow up. Here's the list of Server-side features targeted in first implementation of the data source.
Does that cover your use case? |
@MBilalShafi |
@MBilalShafi any update on the initial release? We're doing pagination now using the "old" way. Any specific issues/PRs we should follow? Thanks! |
Hey @BrentFarese thank you for your continued interest in the set of features related to backend integration, you can subscribe to this first phase PR which is currently under review: #12317 |
Hi @MBilalShafi, We've been using the DataGrid in our app since it was first released. Our app binds various server-side data sources with different interfaces from 100 rows to several million rows. For this reason, we have relied on the server-side filtering and sorting modes in combination with Infinite Loading from the very beginning to implement server-side data. Due to @cherniavskii comment that the new data source mechanism will replace the previous server-side modes, I am now a little unsure whether there is a suitable migration path for our approach. This leads to two questions:
|
Hey @sebastianfrey, The currently supported filtering, sorting, pagination are going nowhere, at least for now. The data source is supposed to be an opt-in feature, if not used, the Grid will behave the same as of today. Coming to your questions, yes, the infinite loading will be subsequently supported with the data source, but it will most likely be hidden behind a flag, to be backward compatible. If we even plan to replace the current implementation with the new one, it will happen no sooner than the next major release (expected in March 2025), and there will be a proper migration path available for the breaking features before that. How does that sound? |
Hi @MBilalShafi, thanks for reaching out and clarifying things. Yes that makes sense, as soon as the new data source feature is released I will make some tests involving infinite loading. |
Summary 💡
The server-side data source will be implemented in a step-by-step manner, the issues it will be covered in are mentioned in the list below.
Motivation 🔦
To make the integration of the data grid with users' data easier. Today we have https://mui.com/x/react-data-grid/row-updates/#lazy-loading but it could be a lot better.
Examples 🌈
createCollection()
function in the ToolpadShaping page
https://www.notion.so/mui-org/Data-source-proposal-db58b8b749154420a407f231c5528c1d
User requests
The text was updated successfully, but these errors were encountered: