MadTabNavigationServiceImpl<T extends MadTabNavigationState> class

Extends MadNavigationServiceImpl with tab-based navigation support.

Manages multiple independent navigation stacks for tabbed interfaces.

Inheritance
Implemented types

Constructors

MadTabNavigationServiceImpl(T initialState)
Creates a new MadTabNavigationServiceImpl with the given initialState.

Properties

hashCode → int
The hash code for this object.
no setterinherited
isClosed → bool
Whether the bloc is closed.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
state → T
The current state.
no setterinherited
stateStream → Stream<MadTabNavigationState>
A stream of navigation state changes.
no setterinherited
stream → Stream<MadNavigationState>
The current stream of states.
no setterinherited
streamSeeded → Stream<MadNavigationState>
A broadcast stream that automatically emits the current state to new subscribers.
latefinalinherited

Methods

add(MadNavigationEvent event) → void
Notifies the Bloc of a new event which triggers all corresponding EventHandler instances.
inherited
addError(Object error, [StackTrace? stackTrace]) → void
Reports an error which triggers onError with an optional StackTrace.
inherited
changeTab(MadTabType tab) → void
Changes the active tab in the navigation state.
inherited
close() → Future<void>
Closes the event and state Streams. This method should be called when a Bloc is no longer needed. Once close is called, events that are added will not be processed. In addition, if close is called while events are still being processed, the Bloc will finish processing the pending events.
inherited
emit(MadNavigationState state) → void
emit is only for internal use and should never be called directly outside of tests. The Emitter instance provided to each EventHandler should be used instead.
inherited
init() → Future<void>
Called after the bloc is initialized.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
on<E extends Event>(EventHandler<E, MadNavigationState> handler, {EventTransformer<E>? transformer}) → void
Register event handler for an event of type E. There should only ever be one event handler per event type E.
inherited
onAsync<E extends Event>(AsyncEventHandler<E, MadNavigationState> handler, {Stream<E> transformer(Stream<E>, Stream<E> (E))?}) → void
Register event handler for an event of type E. There should only ever be one event handler per event type E.
inherited
onChange(Change<MadNavigationState> change) → void
Called whenever a change occurs with the given change. A change occurs when a new state is emitted. onChange is called before the state of the cubit is updated. onChange is a great spot to add logging/analytics for a specific cubit.
inherited
onDone(MadNavigationEvent event, [Object? error, StackTrace? stackTrace]) → void
Called whenever an event handler for a specific Bloc has completed. This may include an error and stackTrace if an uncaught exception occurred within the event handler.
inherited
onError(Object error, StackTrace stackTrace) → void
Called whenever an error occurs and notifies BlocObserver.onError.
inherited
onEvent(MadNavigationEvent event) → void
Called whenever an event is added to the Bloc. A great spot to add logging/analytics at the individual Bloc level.
inherited
onTransition(Transition<MadNavigationEvent, MadNavigationState> transition) → void
Called whenever a transition occurs with the given transition. A transition occurs when a new event is added and a new state is emitted from a corresponding EventHandler.
inherited
pop({Object? result}) → bool
Removes the current route from the navigation stack.
inherited
popAndPushToCurrentTab<T>(NavRoute<T> route, {Object? result}) → Future<T?>
Removes the current route and pushes a new route to the current tab's stack.
inherited
popAndPushToRoot<T>(NavRoute<T> route, {Object? result}) → Future<T?>
Removes the current route and pushes a new route to the root stack.
inherited
popUntil(NavRoutePredicate predicate) → void
Removes routes until the given predicate is met.
inherited
pushAndRemoveUntilForRootStack<T>(NavRoute<T> route, {required NavRoutePredicate predicate}) → Future<T?>
Pushes a route and removes all previous routes until the predicate is met.
inherited
pushAndRemoveUntilForTabStack<T>(NavRoute<T> route, {required NavRoutePredicate predicate}) → Future<T?>
Pushes a route and removes all previous routes in the current tab until the predicate is met.
inherited
pushToCurrentTab<T>(NavRoute<T> route) → Future<T?>
Pushes a new route to the current tab's navigation stack.
inherited
pushToRoot<T>(NavRoute<T> route) → Future<T?>
Pushes a new route to the root navigation stack.
inherited
refresh() → void
Refreshes the current navigation state.
inherited
replaceInRoot<T>({required NavRoute<T> oldRoute, required NavRoute<T> newRoute}) → void
Replaces an existing oldRoute in the root stack with a newRoute.
inherited
replaceInTab<T>({required NavRoute<T> oldRoute, required NavRoute<T> newRoute}) → void
Replaces an existing route in the current tab's stack with a new route.
inherited
resetJumpToTopOnRootPage() → void
Resets the "jump to top" flag for the current root page.
inherited
resetRootStack(RouteStack stack) → void
Resets the root navigation stack to the given stack.
inherited
resetTabStack(RouteStack stack, {required MadTabType tab}) → void
Resets the navigation stack for a specific tab.
inherited
selectTabByUser(MadTabType tab) → void
Handles user interactions with tabs.
inherited
setEventHandlers() → void
Sets up event handlers for this bloc.
override
toString() → String
A string representation of this object.
inherited

Operators

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