Transaction class
A Transaction holds a list of ChangedEvents collected during a transaction, as the value of the read-only #changes property.
Start a transaction by calling UndoManager#startTransaction (or Model#startTransaction or Diagram#startTransaction, which call that method). Be sure to finish a transaction with a matching call to UndoManager#commitTransaction (or Model#commitTransaction or Diagram#commitTransaction), or a call to UndoManager#rollbackTransaction (or the same named methods on Model or Diagram).
If you are performing multiple or repeated changes to a model or diagram, surround all of the code with calls to start and commit the transaction -- do not perform repeated calls to start-commit-start-commit. Typically each change caused by the user, such as a button click or a change of focus or a mouse drag, should perform one transaction in which all changes are made. All of the predefined commands and tools perform transactions.
Undoing or redoing a transaction is done by calling UndoManager#undo or UndoManager#redo. Those methods call the #undo or #redo methods here.
The UndoManager holds a list of Transactions in its UndoManager#history.
- Available extensions
- Annotations
-
- @JS()
- @staticInterop
Constructors
- Transaction.new()
-
factory
Properties
-
changes
↔ List<
ChangedEvent> -
Available on Transaction, provided by the Transaction$Typings extension
This read-only property returns the list of ChangedEvents. The changes are stored in order of occurrence.getter/setter pair - hashCode → int
-
The hash code for this object.
no setterinherited
- isComplete ↔ bool
-
Available on Transaction, provided by the Transaction$Typings extension
Gets or sets whether we can add more ChangedEvents to this list of changes. This is initially false. It is set to true by UndoManager#commitTransaction and UndoManager#rollbackTransaction.getter/setter pair - name ↔ String
-
Available on Transaction, provided by the Transaction$Typings extension
Gets or sets the transaction name for this collection of changes. This is set by a top-level call to UndoManager#commitTransaction.getter/setter pair - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
canRedo(
) → bool -
Available on Transaction, provided by the Transaction$Typings extension
This predicate returns true if you can call #redo, namely when #isComplete is true. @return {boolean} true if ready for #redo to be called. -
canUndo(
) → bool -
Available on Transaction, provided by the Transaction$Typings extension
This predicate returns true if you can call #undo, namely when #isComplete is true. @return {boolean} true if ready for #undo to be called. -
clear(
) → void -
Available on Transaction, provided by the Transaction$Typings extension
Clear all of the saved changes. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
optimize(
) → void -
Available on Transaction, provided by the Transaction$Typings extension
Remove all but the first and last Property ChangedEvents for each property for each object. -
redo(
) → void -
Available on Transaction, provided by the Transaction$Typings extension
Re-perform these changes after an #undo. This is normally called only by the UndoManager. #canRedo must be true for this method to have any effect. -
toString(
) → String -
A string representation of this object.
inherited
-
undo(
) → void -
Available on Transaction, provided by the Transaction$Typings extension
Undo all of the changes, in reverse order. This is normally called only by the UndoManager. #canUndo must be true for this method to have any effect.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited