save method
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);
}