BaseBlocPageState<T extends StatefulWidget, B extends MainBloc<MainBlocEvent, MainBlocState>> class abstract

A base class for all StatefulWidget states in the application that use a Bloc.

This class extends BasePageDelegate and provides a foundation for creating state classes that are associated with a specific Bloc.

Type Parameters:

  • T: The type of the StatefulWidget this state is associated with.
  • B: The type of Bloc this state will use. Must extend MainBloc.

Usage:

class MyHomePageState extends BaseBlocPageState<MyHomePage, MyBloc> {
  @override
  Widget buildPage(BuildContext context) {
    return buildLoadingOverlay(
      child: Scaffold(
        appBar: AppBar(title: Text('My Page')),
        body: BlocBuilder<MyBloc, MyState>(
          builder: (context, state) {
            return Text('${state.data}');
          },
        ),
      ),
    );
  }
}

The buildLoadingOverlay method can be used to wrap any widget with a loading indicator:

buildLoadingOverlay(
  child: YourWidget(),
  loadingKey: 'customKey', // Optional, defaults to global
)

Access the bloc instance using the bloc property:

FloatingActionButton(
  onPressed: () => bloc.add(YourEvent()),
  child: Icon(Icons.add),
)
Inheritance
Mixed-in types

Constructors

BaseBlocPageState()

Properties

bloc → B
Access the stateManager as a Bloc with the correct type.
no setter
commonBloc CommonBloc
The common bloc instance for managing loading states.
no setterinherited
context BuildContext
The location in the tree where this widget builds.
no setterinherited
di GetIt
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
mounted bool
Whether this State object is currently in a tree.
no setterinherited
latefinalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stateManager → B
The state manager instance for this page, automatically initialized with dependencies.
latefinalinherited
widget → T
The current configuration.
no setterinherited

Methods

activate() → void
Called when this object is reinserted into the tree after having been removed via deactivate.
inherited
build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
inherited
buildLoadingOverlay({required Widget child, String? loadingKey = LoadingKey.global, Widget? loadingWidget}) Widget
Wraps a widget with a loading overlay that can be shown/hidden based on loading state.
override
buildLoadingOverlayWidget({required Widget child, String? loadingKey = LoadingKey.global, Widget? loadingWidget, Duration timeout = const Duration(seconds: 30)}) Widget
Builds the loading overlay widget using BlocBuilder.
inherited
buildPage(BuildContext context) Widget
Builds the main content of the page.
inherited
buildPageListeners({required Widget child}) Widget
override
buildPageLoading() Widget
Builds the loading indicator widget.
inherited
deactivate() → void
Called when this object is removed from the tree.
override
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
didChangeDependencies() → void
Called when a dependency of this State object changes.
override
didUpdateWidget(covariant T oldWidget) → void
Called whenever the widget configuration changes.
inherited
dispose() → void
Called when this object is removed from the tree permanently.
inherited
hideLoading({String? key = LoadingKey.global}) → void
Hides the loading overlay for a specific key.
inherited
initState() → void
Called when this object is inserted into the tree.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reassemble() → void
Called whenever the application is reassembled during debugging, for example during hot reload.
inherited
setState(VoidCallback fn) → void
Notify the framework that the internal state of this object has changed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode.
inherited

Operators

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