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

Table Column Filtering and Performance Improvements #44

Merged

Conversation

jescalada
Copy link
Collaborator

This PR introduces a HideColumnsPopover for the Table component which allows switching the default hidden columns when making a query or loading data:

  • Hide All Unselected: By default, hides all non-essential columns that are not part of the currently query metrics or params
  • Show All Unselected: By default, shows all non-essential columns excluding any in the initial hidden columns (like hash or description)
  • Default: The original behaviour of the app, where columns can be managed manually while preserving state on query or refresh

image

Performance improvements:

Scrolling speeds for the Table were optimized by a factor of 3-4, although animation cancelling requires a small loading delay in itself to be effective (~30 ms). Nevertheless, it is a big improvement when in "Hide All" mode, which used to be very laggy by default in spite of having few columns.

Horizontal scrolling is still rather slow, owing to the fact that cells and column values/styles are repeatedly rendered on the fly. This may require more investigation testing to speed things up.

Copy link
Collaborator

@fabiovincenzi fabiovincenzi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@suprjinx
Copy link
Contributor

suprjinx commented May 3, 2024

i notice that this new control doesn't really change anything in the current table -- should it cause a refresh to "see what's different" (as the others do, such as Manage Columns)? If this only affects the next search, maybe the control should be near the search button?

@jescalada jescalada merged commit cfc524c into G-Research:release/v3.17.5 May 3, 2024
3 checks passed
vinayan3 pushed a commit to vinayan3/fasttrackml-ui-aim that referenced this pull request Aug 28, 2024
* Add visibility change handler

* Add type definitions for column filters

* Add internal column filtering logic

* Add HideColumnsPopover

* Improve table scrolling speeds

* Plug new props into each app container

* Fix HideColumnsPopover re-rendering problems

* Fix Params and Scatters unselected metric filtering

---------

Co-authored-by: fabiovincenzi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Faster Aim UI: Only display selected params/metrics in tables by default
3 participants