IrisGrid currently handles scroll events when cursor is over the grid. This behaves as expected when there is scrollable data. The user scrolls and sees the table scroll accordingly. In cases where there are too few rows to scroll or when there are no more rows to scroll in the target direction, no UI change occurs when the user scrolls, and the scroll event is swallowed by the component. This can be confusing if the user is scrolling a long page that happens to contain IrisGrid examples (e.g. deephaven.io). The page scrolls until the cursor ends up over an IrisGrid example in which case the page stops scrolling. If the grid is not scrollable, the lack of UI change gives the impression that the UI has locked up somehow.
Proposed solution would be to only stop propagation of scroll events that would result in scroll position changes.
If table has no scrollable data, propagate the event
If table has no more rows in the direction the user is attempting to scroll, propagate the event
If table will scroll in some way in response to the event, stop propagation
IrisGrid currently handles scroll events when cursor is over the grid. This behaves as expected when there is scrollable data. The user scrolls and sees the table scroll accordingly. In cases where there are too few rows to scroll or when there are no more rows to scroll in the target direction, no UI change occurs when the user scrolls, and the scroll event is swallowed by the component. This can be confusing if the user is scrolling a long page that happens to contain IrisGrid examples (e.g. deephaven.io). The page scrolls until the cursor ends up over an IrisGrid example in which case the page stops scrolling. If the grid is not scrollable, the lack of UI change gives the impression that the UI has locked up somehow.
Proposed solution would be to only stop propagation of scroll events that would result in scroll position changes.