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
Implementers

Constructors

EventListener()

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 by GetBuilder() 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 call update(); Can take a List of ids, that will only update the matching GetBuilder( id: ), ids can be reused among GetBuilders like group tags. The update will only notify the Widgets, if condition is true.
inherited

Operators

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