-
Notifications
You must be signed in to change notification settings - Fork 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
perf(ui): virtualized schema table rows #6287
Merged
Merged
Changes from all commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
94e52c5
perf(ui): virtualized schema table for better performance when render…
stanbaker c1d5164
Merge branch 'master' into master
stanbaker a3ef0fd
deps: update antd/rc-table for access to showExpandColumn prop and ad…
stanbaker 5eb0d48
fix: add back foreign key toggle functionality and fix scroll issues
stanbaker a446d42
Merge branch 'master' into master
stanbaker 6c0f236
fix: avoid mutating previous expanded row state directly
stanbaker 9c46886
fix: disable hover events causing rerender on ingestion source table …
stanbaker 780624f
chore: remove eslint-disable
stanbaker efed5dc
Merge branch 'master' of github.com:datahub-project/datahub
stanbaker 864b39a
Merge branch 'master' into master
stanbaker e923db6
Revert "chore: remove eslint-disable"
stanbaker 4861a80
Revert "fix: disable hover events causing rerender on ingestion sourc…
stanbaker 51ffd08
Revert "fix: avoid mutating previous expanded row state directly"
stanbaker ce48943
Revert "fix: add back foreign key toggle functionality and fix scroll…
stanbaker 73f6476
Revert "deps: update antd/rc-table for access to showExpandColumn pro…
stanbaker 70d422c
Revert "perf(ui): virtualized schema table for better performance whe…
stanbaker 115d513
Merge branch 'master' of github.com:datahub-project/datahub
stanbaker 79cb7f1
fix(ui): replace virtuallist-antd for virtualized-table-for-antd in o…
stanbaker 74caff3
Merge branch 'master' into master
stanbaker 3530169
test(ui): add jest mock for table virtualization module
stanbaker 88318c9
chore(ui): disable eslint for require import in test
stanbaker File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 4 additions & 1 deletion
5
datahub-web-react/src/app/entity/shared/components/styled/StyledTable.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unfortunately removing this will also remove our functionality around showing foreign key entities on clicking them. So when you have a foreign key like this schema:
and you click on "Foreign Key" you get this:
Is there a way to use virtuallist while preserving this schema functionality to use
SchemaRow
? After playing around with it a bit myself it doesn't seem very easy. So we'd have to change our implementation to still get the same functionality thatSchemaRow
provides with foreign keys.Another option is to look at other virtual list libraries that might still allow us to do this. Have you looked at react-window? not sure how easy it would be to use with ant designs table, though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @chriscollins3456, first of all -- thank you for the thorough review! I'm currently in progress working on getting the foreign key information back to working with the chip toggle.
It looks like you had originally started some work to have rows expand based on search (
filterSchemaRows.ts
), so I was going to build off of where that is used in theexpandable
prop for the table itself withselectedFkFieldPath
info.Originally I had tried to implement react-window with autosizer, but was running in to a wall due to how ant-design (really rc-table) expects to render the
components
overrides vs how react-window prefers to wrap virtualized rows.I'm making good progress on restoring the FK functionality though and expect to have it pushed tomorrow afternoon after resolving some dependency issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
amazing! I appreciate the explanation - all that makes total sense to me