-
Notifications
You must be signed in to change notification settings - Fork 377
W.I.P. React virtualized extension #1250
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
Conversation
packages/patternfly-4/react-table/src/components/Table/RowWrapper.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-table/src/components/Table/Table.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/Body.js
Outdated
Show resolved
Hide resolved
|
PatternFly-React preview: https://1250-pr-patternfly-react-patternfly.surge.sh |
Pull Request Test Coverage Report for Build 4209
💛 - Coveralls |
f720dbb to
219c3ac
Compare
d4cad93 to
b23bde8
Compare
packages/patternfly-4/react-table/src/components/Table/utils/decorators/selectable.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/Body.js
Outdated
Show resolved
Hide resolved
3a002eb to
e0eaef3
Compare
karelhala
left a comment
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.
Looks really good! Few nitpicks here and there, but that's nothing too crucial. I think that this is really great example of how to introduce extended logic to our packages.
packages/patternfly-4/react-table/src/components/Table/utils/decorators/selectable.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/AutoSizer.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/RowWrapper.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/RowWrapper.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/RowWrapper.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/WindowScroller.js
Outdated
Show resolved
Hide resolved
...fly-4/react-virtualized-extension/src/components/Virtualized/utils/calculateAverageHeight.js
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
8266044 to
b0a1a4c
Compare
Demo: Note: I have left the other examples w/ fixed headers/scrolling tbody, however they could be used in conjunction w/ |
This comment has been minimized.
This comment has been minimized.
39c4644 to
98ff900
Compare
This comment has been minimized.
This comment has been minimized.
|
Adding a few more fixes after testing some downstream...
|
e33f0f1 to
8a21eb7
Compare
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/Body.js
Outdated
Show resolved
Hide resolved
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/RowWrapper.js
Outdated
Show resolved
Hide resolved
8a21eb7 to
b240e65
Compare
4c21f70 to
a2c5819
Compare
a2c5819 to
18734fe
Compare
|
Closing in favor of #2011 |
What:
A very very rough W.I.P. to start some initial discussions about a "virtualized" PF4 table.
fixes #1229
Some things I've attempted so far:
Body,BodyWrapper, andRowWrappercomponents with virtualized extensions (accepting those as props in our currentTable)https://reactabular.js.org/#/features/virtualization?a=using-relative-column-widths
scrollTomethod should allow the consumer to scroll to any desired row programmatically.Still working on:
provide anThis should not be needed. PF4 tables already responsively size the row widths and the virtualized table resizes for this.AutoSizer(similar to react-virtualized Autosizer). These essentially just wrap the table and adjust the height/widths appropriately on browser resize.test out other Table variations and provide examples w/ virtualized scrolling (selectable table, actions table, collapsible table, etc). These should all work similarly to the way they do today.Selectable table and actions table have been implemented. Collapsible is currently out of scope for this because dynamic row heights in conjunction with virtualized rows introduces problems we should probably avoid for now.Continue enhancing the Reactabular API surface with latest React methods and propose those changes upstream in Reactabular. In this PR, I have started these enhancements (using new Context API, useOpened 1628 for this.refsmore appropriately, start to upgrade the lifecycles methods to React 16.4 plus.Running demo:
http://pf4-table-virtualized.surge.sh/virtual-scroll/virtualized/
Additional issues:
cc: @karelhala @suomiy