Commit graph

17 commits

Author SHA1 Message Date
Germain Souquet
308ac505a8 Migrate AutoHideScrollbar to TypeScript
Also changed the way the React.RefObject is collected
2021-06-01 14:13:46 +01:00
Germain Souquet
f10e95956b Use passive option for scroll handler 2021-05-28 14:59:14 +01:00
Michael Telatynski
fabed26b09 Fix Breadcrumbs2 ending up with 2 tabIndexes on Firefox due to explicit css overflow scroll
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-18 12:19:03 +01:00
Bruno Windels
785d0e99fb remove some remaining dead code 2020-03-26 11:17:35 +01:00
Bruno Windels
0436507574 use transparent scrollbars on not hover to emulate scrolbar on hover
allows us to get rid of the margin-right hack as well
2020-03-26 11:17:35 +01:00
Travis Ralston
17a57eb3e5 Bind the onWheel listener directly to props
React doesn't seem to care if this is null/undefined.
2019-04-05 09:43:29 -06:00
Travis Ralston
138fd4ec87 Translate vertical scrolling to horizontal movement in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9314
2019-04-04 16:43:04 -06:00
Bruno Windels
30d848b86e use AutoHideScrollbar in ScrollPanel 2019-03-15 10:16:21 +01:00
Bruno Windels
3ce2309ae2 get scrolltop and scrollevent out of autohide/indicator scrollbar 2019-02-13 14:49:14 +01:00
Bruno Windels
495f264ad5 prevent badge jumping when hovering over sublist
this was caused by the layout growing wider than it could,
hence the overflow event being triggered.

The overflow event is only supported in FF and we fire the
manual check often enough that the overflow gradient still
reliably (dis)appears when needed.
2019-01-29 16:20:39 +01:00
Bruno Windels
5aff76b49d use css scrollbar styles to make native scrollbars prettier 2019-01-21 19:06:49 +01:00
Bruno Windels
31c13adaba cleanup: do initialization in componentDidMount instead of render 2018-12-18 15:10:57 +01:00
Bruno Windels
e67d9c6d4f forward checkOverflow to AutoHideScrollbar, fix over/underflow detection
the overflow/underflow events are not always reliable in nooverlay
browsers (FF), so forward the checkOverflow call we need anyway
for the scroll indicator gradients to see if we need to do the
margin trick for the on-hover scrollbar we use in nooverlay browsers.

this fixes on hover jumping in a subroomlist
2018-12-18 14:29:42 +01:00
Bruno Windels
0f226853f5 add scroll indicator gradients to top and bottom of room sub list 2018-11-12 12:57:21 +01:00
Bruno Windels
c9dc273cb0 better native scrollbar width compensation for FF
instead of having to offset the padding of children of the
autohiding scrollbar container, which gets fiddly quickly,
add a new child to the scrollbar container that gets a negative
margin of the scrollbar width when needed
(on hover and overflowing when overlay is not supported).

This needs an extra DOM element, but as it doesn't do anything weird
layout-wise (like set position), it shouldn't affect styling at all.

It also makes the auto hide scrollbar workarounds completely transparent
to the rest of the code.
2018-11-06 11:37:49 +01:00
Bruno Windels
4c5bd71114 fix lint 2018-11-01 17:56:08 +01:00
Bruno Windels
03781e1327 AutoHideScrollbar component
shows scrollbar on hover when needed
has fallback to overflow: overlay
and fiddling with padding to make content not jump on hover.
2018-11-01 16:32:17 +01:00