RaceDayController class Null safety

Controller for managing countdown to race day and its events

Inheritance

Constructors

RaceDayController({required DateTime raceStart, Map<String, Duration> withMilestones = const {}, CountdownRepeat? repeats})
Raceday controller

Properties

canStartRace RxBool
Can the race be started
final
completion Rx<DateTime>
Completion obs
read-only, inherited
container WorkflowContainer
Container to store data to be transferred between listener plugins
final, inherited
countdown Countdown<String>
Race day countdown
read-only, override
emitMinorEvents bool
Should minor events be emitted
final, inherited
events Rx<PluginEvent<String>>
Events occurring within the workflow
final, inherited
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
isRaceDay RxBool
Is today race day
final
lastEvent PluginEvent<String>
The last event that occurred in this workflow
read-only, inherited
listeners int
read-only, inherited
milestones List<Countdown<String>>
All milestones in the lifecycle of the countdown including the parent countdown
final, inherited
minorEvents Rx<MinorPluginEvent<String>>
Minor events occurring within the workflow
final, 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
raceStart DateTime
Race date
final
registry Map<String, List<WorkflowListenerPlugin<String, WorkflowController<String>>>>
Registry mapping state to the plugins to be executed for that state
final, inherited
repeats CountdownRepeat?
Race day CountdownRepeat
final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
state String
The current state of this workflow
read-only, inherited
withMilestones Map<String, Duration>
Race day milestones
final

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
changeState(String state, {Json? params, Object? data, bool resetData = false}) Future<void>
Handles state changes ensuring that the race statuses are updated
override
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
executeListeners(PluginEvent<String> event) Future
Executes listeners in registry for the specified event
inherited
initCountdown() → dynamic
Sets up the countdown
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
notifyChildrens() → void
@protected, inherited
onceState(String state, dynamic callback(PluginEvent<String>)) → dynamic
Executes the callback once state is emitted
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
Listens to streams to ensure race statuses are updated
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
registerListenerPlugin(WorkflowListenerPlugin<String, WorkflowController<String>> plugin) → dynamic
Registers a listener plugin
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
updateRaceStatus() → void
Updates the race statuses

Operators

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

Static Properties

instance RaceDayController
Current inserted instance
read-only