LocalHistoryRoute<T> mixin

A mixin used by routes to handle back navigations internally by popping a list.

When a Navigator is instructed to pop, the current route is given an opportunity to handle the pop internally. A LocalHistoryRoute handles the pop internally if its list of local history entries is non-empty. Rather than being removed as the current route, the most recent LocalHistoryEntry is removed from the list and its LocalHistoryEntry.onRemove is called.

See also:

  • Route, which documents the meaning of the T generic type argument.
Superclass Constraints
Mixin Applications

Properties

popDisposition RoutePopDisposition
Returns whether calling Navigator.maybePop when this Route is current (isCurrent) should do anything.
no setteroverride
willHandlePopInternally bool
Whether calling didPop would return false.
no setteroverride
The navigator that the route is in, if any.
no setterinherited
settings RouteSettings
The settings for this route.
no setterinherited
restorationScopeId ValueListenable<String?>
The restoration scope ID to be used for the RestorationScope surrounding this route.
no setterinherited
overlayEntries List<OverlayEntry>
The overlay entries of this route.
no setterinherited
currentResult → T?
When this route is popped (see Navigator.pop) if the result isn't specified or if it's null, this value will be used instead.
no setterinherited
popped Future<T?>
A future that completes when this route is popped off the navigator.
no setterinherited
isCurrent bool
Whether this route is the top-most route on the navigator.
no setterinherited
isFirst bool
Whether this route is the bottom-most active route on the navigator.
no setterinherited
hasActiveRouteBelow bool
Whether there is at least one active route underneath this route.
no setterinherited
isActive bool
Whether this route is on the navigator.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addLocalHistoryEntry(LocalHistoryEntry entry) → void
Adds a local history entry to this route.
changedExternalState() → void
Called whenever the Navigator has updated in some manner that might affect routes, to indicate that the route may wish to rebuild as well.
inherited
changedInternalState() → void
Called whenever the internal state of the route has changed.
inherited
didAdd() → void
Called after install when the route is added to the navigator.
inherited
didChangeNext(Route? nextRoute) → void
This route's next route has changed to the given new route.
inherited
didChangePrevious(Route? previousRoute) → void
This route's previous route has changed to the given new route.
inherited
didComplete(T? result) → void
The route was popped or is otherwise being removed somewhat gracefully.
inherited
didPop(T? result) bool
A request was made to pop this route. If the route can handle it internally (e.g. because it has its own stack of internal state) then return false, otherwise return true (by returning the value of calling super.didPop). Returning false will prevent the default behavior of NavigatorState.pop.
override
didPopNext(Route nextRoute) → void
The given route, which was above this one, has been popped off the navigator.
inherited
didPush() TickerFuture
Called after install when the route is pushed onto the navigator.
inherited
didReplace(Route? oldRoute) → void
Called after install when the route replaced another in the navigator.
inherited
dispose() → void
Discards any resources used by the object.
inherited
install() → void
Called when the route is inserted into the navigator.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onPopInvoked(bool didPop) → void
Called after a route pop was handled.
inherited
removeLocalHistoryEntry(LocalHistoryEntry entry) → void
Remove a local history entry from this route.
toString() String
A string representation of this object.
inherited
willPop() Future<RoutePopDisposition>
Returns whether calling Navigator.maybePop when this Route is current (isCurrent) should do anything.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited