mirror of
https://github.com/urbit/shrub.git
synced 2024-12-25 21:12:56 +03:00
parent
e6df199fff
commit
3b5d3c6ff6
@ -244,7 +244,17 @@ export default class VirtualScroller extends PureComponent<VirtualScrollerProps,
|
|||||||
element.addEventListener('wheel', (event) => {
|
element.addEventListener('wheel', (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const normalized = normalizeWheel(event);
|
const normalized = normalizeWheel(event);
|
||||||
element.scrollBy(0, normalized.pixelY * -1);
|
if (
|
||||||
|
(event.target.scrollHeight > event.target.clientHeight && event.target.clientHeight > 0) // If we're scrolling something with a scrollbar
|
||||||
|
&& (
|
||||||
|
(event.target.scrollTop > 0 && event.deltaY < 0) // Either we're not at the top and scrolling up
|
||||||
|
|| (event.target.scrollTop < event.target.scrollHeight - event.target.clientHeight && event.deltaY > 0) // Or we're not at the bottom and scrolling down
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
event.target.scrollBy(0, normalized.pixelY);
|
||||||
|
} else {
|
||||||
|
element.scrollBy(0, normalized.pixelY * -1);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}, { passive: false });
|
}, { passive: false });
|
||||||
window.addEventListener('keydown', this.invertedKeyHandler, { passive: false });
|
window.addEventListener('keydown', this.invertedKeyHandler, { passive: false });
|
||||||
|
Loading…
Reference in New Issue
Block a user