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

[DataGridPro] Server-side tree data support #12317

Merged
merged 107 commits into from
Jun 28, 2024

Conversation

MBilalShafi
Copy link
Member

@MBilalShafi MBilalShafi commented Mar 4, 2024

Part of #8179
Resolves #3377

Previews:
Server side tree data with server-side indexed pagination, sorting, filtering, and caching: https://deploy-preview-12317--material-ui-x.netlify.app/x/react-data-grid/server-side-data/tree-data/
Plain data server-side pagination, filtering, and sorting: https://deploy-preview-12317--material-ui-x.netlify.app/x/react-data-grid/server-side-data/#usage

Action items:

  • A basic data source implementation via a dedicated hook
  • New strategy processor for server-side tree data
  • Allow use of the cache with the data source
  • Make pagination.rowCount a controlled state (extracted to [DataGrid] Make rowCount part of the state #12381)
  • Support x-data-generator to provide server-side filtered and sorted data (mock an actual data source) => (useMockServer)
  • Support server-side sorting, filtering, and (index-based) pagination.
  • Make rows an optional prop (extracted to [DataGrid] Make rows an optional prop #12478)
  • Support imperative operations on the data source cache
  • Add a default internal cache
  • Support unknown and estimated rowCount (extracted to [DataGrid] Support advanced server-side pagination use cases #12474)
  • Support defaultGroupingExpansionDepth and isGroupExpandedByDefault
  • Demos
    • Error handling (plain data)
    • Error handling (tree data)
    • Custom cache on plain data
    • Demos with swr and react-query
  • Discoverability: Make the demos closer to the actual code to make it easy to copy-paste
  • Perf: Optimize the rowTreeCreation and other processes of rows pre-processing
  • Revisit naming conventions (e.g. DataSource vs DataManager vs DataProvider vs ?)

Follow-up Items (for subsequent PRs):

@MBilalShafi MBilalShafi added component: data grid This is the name of the generic UI component, not the React module! feature: Server integration Better integration with backends MUI X Pro labels Mar 4, 2024
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged label Mar 10, 2024

This comment has been minimized.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged label Mar 10, 2024
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged label Mar 12, 2024

This comment has been minimized.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged label Mar 22, 2024

This comment has been minimized.

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged label Mar 29, 2024
@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged label Apr 5, 2024
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged label Apr 16, 2024

This comment was marked as outdated.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged label Jun 13, 2024
@github-actions github-actions bot added PR: out-of-date The pull request has merge conflicts and can't be merged and removed PR: out-of-date The pull request has merge conflicts and can't be merged labels Jun 14, 2024
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged label Jun 19, 2024
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged label Jun 25, 2024
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged label Jun 25, 2024
@MBilalShafi MBilalShafi merged commit a90712f into mui:master Jun 28, 2024
16 of 17 checks passed
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! feature: Server integration Better integration with backends plan: Pro Impact at least one Pro user
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[data grid] Implement server-side data source in tree data
7 participants