ReplayCubit<State> class
abstract
A specialized Cubit which supports undo
and redo
operations.
ReplayCubit accepts an optional limit
which determines
the max size of the history.
A custom ReplayCubit can be created by extending ReplayCubit.
class CounterCubit extends ReplayCubit<int> {
CounterCubit() : super(0);
void increment() => emit(state + 1);
}
Then the built-in undo
and redo
operations can be used.
final cubit = CounterCubit();
cubit.increment();
print(cubit.state); // 1
cubit.undo();
print(cubit.state); // 0
cubit.redo();
print(cubit.state); // 1
The undo/redo history can be destroyed at any time by calling clear
.
See also:
- Cubit for information about the ReplayCubit superclass.
- Inheritance
- Mixed in types
-
- ReplayCubitMixin<
State>
- ReplayCubitMixin<
Constructors
- ReplayCubit(State state, {int? limit})
-
A specialized Cubit which supports
undo
andredo
operations.
Properties
- canRedo → bool
-
Checks whether the undo/redo stack is at the current change.
no setterinherited
- canUndo → bool
-
Checks whether the undo/redo stack is empty.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isClosed → bool
-
Whether the bloc is closed.
no setterinherited
- limit ← int
-
Sets the internal
undo
/redo
size limit. By default there is no limit.no getterinherited - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → State
-
The current state.
no setterinherited
-
stream
→ Stream<
State> -
The current stream of states.
no setterinherited
Methods
-
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
error
which triggers onError with an optional StackTrace.inherited -
clearHistory(
) → void -
Clear undo/redo history.
inherited
-
close(
) → Future< void> -
Closes the instance.
This method should be called when the instance is no longer needed.
Once close is called, the instance can no longer be used.
inherited
-
emit(
State state) → void -
Updates the
state
to the providedstate
. emit does nothing if thestate
being emitted is equal to the currentstate
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onChange(
Change< State> change) → void -
Called whenever a
change
occurs with the givenchange
. Achange
occurs when a newstate
is emitted. onChange is called before thestate
of thecubit
is updated. onChange is a great spot to add logging/analytics for a specificcubit
.inherited -
onError(
Object error, StackTrace stackTrace) → void -
Called whenever an
error
occurs and notifies BlocObserver.onError.inherited -
redo(
) → void -
Redo the previous change.
inherited
-
shouldReplay(
State state) → bool -
Checks whether the given state should be replayed from the undo/redo stack.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
undo(
) → void -
Undo the last change.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited