EventListener<CONTROLLER extends GetxController, EVENT_TYPE> class
Null safety
Listener for EVENT_TYPE
emitted by eventEmitter on CONTROLLER
This will automatically start listening to the eventEmitter for the
EVENT_TYPE
on the CONTROLLER
once initialized.
For the original and subsequent values emitted by the eventEmitter
the execute method will be run with the value as an argument.
This can also be used on a workflow controller to react to every state emitted.
Example
class IsMetricChangedUpdateUnits
extends EventListener<AppSettingsController, AppSettings> {
/// Distance units
final RxString distanceUnits = 'km'.obs;
@override
Rx<AppSettings> get eventEmitter => controller.settings;
@override
execute(AppSettings value) {
distanceUnits.value = value.isMetric ? 'km' : 'mi';
}
}
- Inheritance
- Object
- GetLifeCycle
- DisposableInterface
- GetxController
- EventListener
- Implementers
Constructors
Properties
- controller ↔ CONTROLLER
-
Controller with reactive properties
read / write
-
eventEmitter
→ Rx<
EVENT_TYPE> -
Returns the reactive property on the controller to be listened to.
read-only
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- hasListeners → bool
-
read-only, inherited
- initialized → bool
-
Checks whether the controller has already been initialized.
read-only, inherited
- isClosed → bool
-
Checks whether the controller has already been closed.
read-only, inherited
- listeners → int
-
read-only, inherited
-
onDelete
→ InternalFinalCallback<
void> -
Internal callback that starts the cycle of this controller.
final, inherited
-
onStart
→ InternalFinalCallback<
void> -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclases.
This method should be internal and is required to define the
lifetime cycle of the subclass.
final, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
$configureLifeCycle(
) → void -
inherited
-
addListener(
GetStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, GetStateUpdate listener) → Disposer -
inherited
-
dispose(
) → void -
@mustCallSuper, inherited
-
disposeId(
Object id) → void -
To dispose an
id
from future updates(), this ids are registered byGetBuilder()
or similar, so is a way to unlink the state change with the Widget from the Controller.inherited -
execute(
EVENT_TYPE value) → dynamic - Executes logic to be run with each value eventEmitter is assigned.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
notifyChildrens(
) → void -
@protected, inherited
-
onClose(
) → void -
Called before onDelete method. onClose might be used to
dispose resources used by the controller. Like closing events,
or streams before the controller is destroyed.
Or dispose objects that can potentially create some memory leaks,
like TextEditingControllers, AnimationControllers.
Might be useful as well to persist some data on disk.
inherited
-
onInit(
) → void -
Sets up the execute method to be run with the initial and subsequent
values of the eventEmitter
override
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
refresh(
) → void -
@protected, inherited
-
refreshGroup(
Object id) → void -
@protected, inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
toString(
) → String -
A string representation of this object. [...]
inherited
-
update(
[List< Object> ? ids, bool condition = true]) → void -
Rebuilds
GetBuilder
each time you callupdate()
; Can take a List ofids
, that will only update the matchingGetBuilder( id: )
,ids
can be reused amongGetBuilders
like group tags. The update will only notify the Widgets, ifcondition
is true.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator. [...]
inherited