apply<T extends DataGridRow> method

  1. @override
DataGridState<T>? apply<T extends DataGridRow>(
  1. EventContext<T> context
)
override

Apply this event's transformation to the state. Returns the new state, or null if no state change should occur. Can return a Future for async operations.

Implementation

@override
DataGridState<T>? apply<T extends DataGridRow>(EventContext<T> context) {
  final updatedColumns = List.of(context.state.columns);

  if (oldIndex < 0 ||
      oldIndex >= updatedColumns.length ||
      newIndex < 0 ||
      newIndex >= updatedColumns.length) {
    return null;
  }

  final column = updatedColumns.removeAt(oldIndex);
  updatedColumns.insert(newIndex, column);
  return context.state.copyWith(columns: updatedColumns);
}