JuiceWidgetState2<TBloc1 extends JuiceBloc<BlocState> , TBloc2 extends JuiceBloc<BlocState> , TWidget extends StatefulWidget> class
abstract
Base class for creating stateful widgets that respond to two Juice blocs.
Similar to JuiceWidgetState but handles state changes from two different blocs, merging their streams and providing access to both bloc instances.
Constructors
-
JuiceWidgetState2({BlocDependencyResolver? resolver, Set<
String> groups = const {"*"}, Object? scope1, Object? scope2}) - Creates a JuiceWidgetState2 with optional resolver and rebuild groups.
Properties
- bloc1 → TBloc1
-
The first bloc instance this widget observes.
no setter
- bloc2 → TBloc2
-
The second bloc instance this widget observes.
no setter
- context → BuildContext
-
The location in the tree where this widget builds.
no setterinherited
-
groups
→ Set<
String> -
Groups that control when this widget rebuilds.
Default
{'*'}rebuilds on emissions sent to EVERY widget (rebuildAlways, which is also what an emit withoutgroupsToRebuildsends) — NOT on emissions targeted at named groups. Name the groups this widget shows to rebuild on those. This set is unmodifiable to preserve immutability.final - hashCode → int
-
The hash code for this object.
no setterinherited
- mounted → bool
-
Whether this State object is currently in a tree.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scope1 → Object?
-
Optional scope keys for blocs.
final
- scope2 → Object?
-
final
- widget → TWidget
-
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.
override
-
close(
BuildContext context) → Widget - Called when the merged stream completes — i.e. once ALL of the blocs have closed, not when the first one does. Override to handle cleanup or show final UI state.
-
deactivate(
) → void -
Called when this object is removed from the tree.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
didChangeDependencies(
) → void -
Called when a dependency of this State object changes.
inherited
-
didUpdateWidget(
covariant TWidget oldWidget) → void -
Called whenever the widget configuration changes.
inherited
-
dispose(
) → void -
Called when this object is removed from the tree permanently.
override
-
initState(
) → void -
Called when this object is inserted into the tree.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onBuild(
BuildContext context, StreamStatus< BlocState> status) → Widget - Main build method to override. Constructs widget UI based on current status.
-
onInit(
) → void - Called when the widget is first initialized. Override to add initialization logic.
-
onStateChange(
StreamStatus< BlocState> status) → bool - Called for each state change to determine if widget should rebuild. Return false to prevent rebuild for this state change.
-
prepareForUpdate(
StreamStatus< BlocState> status) → void - Called when the merged stream emits a new status that passed onStateChange. Override to prepare widget for the upcoming rebuild.
-
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