handleScroll method
Handle scroll event and calculate updated viewport state.
Implementation
@override
ViewportState handleScroll(ScrollEvent event, DataGridState<T> currentState) {
final visibleRange = _calculator.calculateVisibleRows(
event.offsetY,
currentState.viewport.viewportHeight,
currentState.displayOrder.length,
);
final visibleColumnRange = _calculator.calculateVisibleColumns(
event.offsetX,
currentState.columns.map((c) => c.width).toList(),
currentState.viewport.viewportWidth,
);
return currentState.viewport.copyWith(
scrollOffsetX: event.offsetX,
scrollOffsetY: event.offsetY,
firstVisibleRow: visibleRange.start,
lastVisibleRow: visibleRange.end,
firstVisibleColumn: visibleColumnRange.start,
lastVisibleColumn: visibleColumnRange.end,
);
}