-
Notifications
You must be signed in to change notification settings - Fork 28
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
fix(LogTable): implement virtual scrolling #1505
base: master
Are you sure you want to change the base?
Conversation
99e0518
to
3b34500
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.
Implementing virtual scrolling is possible, but it is not something simple. A proper raw implementation would be about 300 - 500 more lines.
We do it in the files list in the Files app and then in the accounts table in settings.
Here the only problem is the table layout.
I'd try:
- Check if we can use
vue-virtual-scroller
+display: contents
to makediv
wrappers "invisible" for the tree in the table. - We can fork
vue-virtual-scroller
to add missing features like containers tag. - Use
useVirtualList
from vueuse. It might not work well with its default styles, but with constant height we can easily reuse it withtranslateY
instead ofmarginTop
. - Copy implementation from server
- copied from server/apps/settings/src/components/Users/VirtualList.vue, omitting some redundant logic Signed-off-by: Maksim Sukharev <[email protected]>
Signed-off-by: Maksim Sukharev <[email protected]>
3b34500
to
bcde1f7
Compare
Accounts table implementation looks more fitting, so I take over logic from it. Probably need some more style adjustments, but atm looks decent and works fine performance-wise. cc @Pytal for input as author of original commit |
Attempt to implement 'virtual scrolling':
TODO: