cellPositionToMove method

  1. @override
PlutoGridCellPosition cellPositionToMove(
  1. PlutoGridCellPosition? cellPosition,
  2. PlutoMoveDirection direction
)
inherited

The index position of the cell to move in that direction in the current cell.

Implementation

@override
PlutoGridCellPosition cellPositionToMove(
  PlutoGridCellPosition? cellPosition,
  PlutoMoveDirection direction,
) {
  final columnIndexes = columnIndexesByShowFrozen;

  switch (direction) {
    case PlutoMoveDirection.left:
      return PlutoGridCellPosition(
        columnIdx: columnIndexes[cellPosition!.columnIdx! - 1],
        rowIdx: cellPosition.rowIdx,
      );
    case PlutoMoveDirection.right:
      return PlutoGridCellPosition(
        columnIdx: columnIndexes[cellPosition!.columnIdx! + 1],
        rowIdx: cellPosition.rowIdx,
      );
    case PlutoMoveDirection.up:
      return PlutoGridCellPosition(
        columnIdx: columnIndexes[cellPosition!.columnIdx!],
        rowIdx: cellPosition.rowIdx! - 1,
      );
    case PlutoMoveDirection.down:
      return PlutoGridCellPosition(
        columnIdx: columnIndexes[cellPosition!.columnIdx!],
        rowIdx: cellPosition.rowIdx! + 1,
      );
  }
}