GetxFutureController class abstract

Why use a GetxFutureController? This controller type can be used to change the UI when a page is loading, whether it has an error or is completed. This is heavily based on the future state management found in stacked package and architecture.

IMPORTANT: This controller will only work if using Get's simple state management solution GetBuilder. Don't worry, you don't need to call this builder widget in your code, just use the GetBuilderView widget for a cleaner solution! 😅

To use it, add the required overridden method futureToRun. This method

optionally call the fields isLoading, hasError and error inside your view to make changes to your UI. Your page's state will update on

Column(
  children: [
    if (controller.isBusy)
      const CircularProgressIndicator.adaptive()
    else if (controller.hasError)
      Text(controller.error!)
    else
      const Text('Content'),
  ],
),
Inheritance
Implementers

Constructors

GetxFutureController()

Properties

error ↔ String?
The error value can be used within your UI to display a message when data can't be retrieved.
getter/setter pair
hasError → bool
Call this as a shorthand for error != null.
no setter
hashCode → int
The hash code for this object.
no setterinherited
hasListeners → bool
no setterinherited
initialized → bool
Checks whether the controller has already been initialized.
no setterinherited
isBusy → bool
Use this to get if loading or reloading as a catch all
no setter
isClosed → bool
Checks whether the controller has already been closed.
no setterinherited
isLoading → bool
The isLoading bool defaults to false but will show as true when awaiting the futureToRun function to complete. Once completed, this will simply toggle back to false.
no setter
isReloading → bool
The isLoading bool defaults to false but will show as true when awaiting the futureToRun function to complete. Once completed, this will simply toggle back to false.
no setter
listeners → int
no setterinherited
listenTo → List<GetxController>
List of controllers to react to
no setterinherited
onDelete → InternalFinalCallback<void>
Internal callback that starts the cycle of this controller.
finalinherited
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.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

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
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
futureToRun() → Future<String?>
Runs a future. Whilst running, is busy will be set to true and
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyChildrens() → void
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() → Future<void>
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
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
inherited
refreshGroup(Object id) → void
inherited
reload() → Future<void>
Call if you want to re-run the future to run. Is busy will be set to true.
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
setLoading([bool? isLoading]) → void
Toggle loading
setReloading([bool? isReloading]) → void
Toggle Reloading!
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