getPreviousPosition method

int? getPreviousPosition(
  1. int end,
  2. int start,
  3. int previousPos
)

Implementation

int? getPreviousPosition(int end, int start, int previousPos) {
  var previousClicked =
      previousPos; //!previousPos.isNegative ? filteredPosition[previousPos] : -1;
  debugPrint(
      'start : $start end : $end previousClickedPos : $previousClicked');
  debugPrint('previousPos : $previousPos');
  var isNotInTheView = (previousClicked <= end && previousClicked >= start);
  if (previousClicked == filteredPosition.first && isNotInTheView) {
    return null;
  }
  var reversedList = filteredPosition.reversed.toList();
  var findBetweenOrBelow = reversedList.firstWhere((y) =>
      ((y <= end && y >= start) && !previousClicked.isNegative
          ? (previousClicked != y)
          : true) &&
      start > y);
  if (!findBetweenOrBelow.isNegative) {
    debugPrint('findBetweenOrBelow : $findBetweenOrBelow}');
  }
  debugPrint('filteredPosition : ${reversedList.join(',')}');
  return findBetweenOrBelow;
}