save method

  1. @override
void save({
  1. bool erase = false,
})
override

Saves the current state.

If erase is true, clears the undo history.

Implementation

@override
void save({bool erase = false}) {
  _cancelAutoSave();
  final oldState =
      List<T>.of(internalSaved.isNotEmpty ? internalSaved : internalInitial);

  super.save(erase: erase);

  final currentState = internalCurrent;
  final delta = calculateDelta(
    oldState: oldState,
    newState: currentState,
    keySelector: (item) => logic.getItemKey(item)!,
    hasSpatialChange: logic.hasSpatialChange,
  );

  _onSavedCallback?.call(delta);
}