moveCurrentCellToEdgeOfColumns method

  1. @override
void moveCurrentCellToEdgeOfColumns(
  1. PlutoMoveDirection direction, {
  2. bool force = false,
  3. bool notify = true,
})
inherited

Implementation

@override
void moveCurrentCellToEdgeOfColumns(
  PlutoMoveDirection direction, {
  bool force = false,
  bool notify = true,
}) {
  if (!direction.horizontal) {
    return;
  }

  if (!force && isEditing == true) {
    return;
  }

  if (currentCell == null) {
    return;
  }

  final columnIndexes = columnIndexesByShowFrozen;

  final int columnIdx =
      direction.isLeft ? columnIndexes.first : columnIndexes.last;

  final column = refColumns[columnIdx];

  final cellToMove = currentRow!.cells[column.field];

  setCurrentCell(cellToMove, currentRowIdx, notify: notify);

  if (!showFrozenColumn || column.frozen.isFrozen != true) {
    direction.isLeft
        ? scroll.horizontal!.jumpTo(0)
        : scroll.horizontal!.jumpTo(scroll.maxScrollHorizontal);
  }
}