-
Notifications
You must be signed in to change notification settings - Fork 357
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
W.I.P. React virtualized extension #1250
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
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/Table.js
Outdated
Show resolved
Hide resolved
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
, andRowWrapper
components with virtualized extensions (accepting those as props in our currentTable
)https://reactabular.js.org/#/features/virtualization?a=using-relative-column-widths
scrollTo
method 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.refs
more 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