chat: fixed embedded scroll item disability

Fixes #3801
This commit is contained in:
Tyler Brown Cifu Shuster 2020-10-26 16:59:14 -07:00
parent e6df199fff
commit 3b5d3c6ff6

View File

@ -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);
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); 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 });