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

Display large tables in the dataset landing page #2535

Open
5 tasks
robyngit opened this issue Sep 20, 2024 · 0 comments
Open
5 tasks

Display large tables in the dataset landing page #2535

robyngit opened this issue Sep 20, 2024 · 0 comments
Labels
ADC CI-14 Data search and display improvements (ADC deliverable) arctic data center dataset landing page Enhancements and bugs for the dataset landing pages enhancement

Comments

@robyngit
Copy link
Member

The TableEditorView now has a "view" mode, which is used to show data objects from the dataset landing page, see these PRs. With those changes, we made rendering in the TableEditorView more efficient, but there are still opportunities to improve the performance, especially when dealing with large datasets.

There are limits set on the size of data that can be loaded into the table to prevent the browser from freezing or crashing. Enabling lazy loading and other optimizations would allow users to view & browser large tables directly in the browser.

Here are a few ideas to improve the performance:

  • Lazy load dropdowns - In edit mode, there are dropdown menus on each row & col header that are pre-rendered. Instead, render dropdowns only when they are clicked.
  • Lazy load the table rows - The entire table is rendered at once. Instead, render only the visible rows and load more as the user scrolls or pages through the data, especially for large datasets.
  • Leverage logic from PapaParse (our csv parser) to handle large tables, such as:
    • chunk - Process multiple csv rows at a time so we can progressively render the table without freezing the browser. See if we can clear unused data after each chunk is processed?
    • worker - Run the parsing in a background thread, keeping the UI responsive while the CSV is being parsed.
    • preview - Parse the first n rows of the CSV file. We should set this to the maximum threshold of rows that we can handle in the browser.

Other improvements:

These would make it easier for users to browser large tables

  • Add a search bar - Add a search bar to filter the data based on the user's input.
  • Add a filter - Allow filtering data based on the values in the columns.
@robyngit robyngit added enhancement dataset landing page Enhancements and bugs for the dataset landing pages arctic data center ADC CI-14 Data search and display improvements (ADC deliverable) labels Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ADC CI-14 Data search and display improvements (ADC deliverable) arctic data center dataset landing page Enhancements and bugs for the dataset landing pages enhancement
Projects
Development

No branches or pull requests

1 participant