surf_mwwm library Null safety

Classes

Broadcast<R, C extends FutureChange<R>>
Broadcast is a Performer that allows listening to results of perform. R - type of result C - type of change on which performer triggers
Change<R>
Signal for Model to perform some action, i.e. download or upload data.
CoreMwwmWidget<WM extends WidgetModel>
Class for widgets that has WidgetModel You must provide WidgetModel in constructor or by WidgetModelFactory
EntityEvent<T, E>
An event that has multiple States
EntityState<T>
State of some logical entity
EntityStateBuilder<T>
Reactive widget for EntityStreamedState
EntityStreamedState<T>
StreamedState that have download/error/content status
ErrorHandler
Interface for handle error in WidgetModel Layer Typically here describes how handle an error on Prestation Layer.
Event<T>
An event that can take some value
ExtendedTextEditingController
When updating text through the setter, moves the cursor to the end of the line
FutureChange<R>
A Change that return Future as result R - type of result inside Future
FuturePerformer<R, C extends FutureChange<R>>
Alias for performers which result is a Future with data This operations do only once
Model
Model is a mediator between WidgetModel and business logic.
MwwmInheritedWidget<WM extends WidgetModel, C extends Component>
Implementation of MwwmWidget based on InheritedWidget todo test perfomance
MwwmWidget<C extends Component>
Base class for widgets that has WidgetModel and has dependencies in Component
OldWidgetState<WM extends WidgetModel>
WidgetState which doesn't require Widget to be CoreMwwmWidget.
Performer<R, C extends Change<R>>
Performer handles a specific Change. It's a key component in the relationship between WidgetModel that requests some data, and the source of these data. R - type of result C - type of change on which performer triggers
ScrollOffsetAction
Action for scroll
StreamChange<R>
A Change thate return Stream as result R - type of result inside Stream
StreamedAction<T>
It's wrapper over an action on screen. It may be a text changes, focus changes and so on.
StreamedState<T>
A state of some type wrapped in a stream dictates the widget's state
StreamedStateBuilder<T>
Widget for StreamedState.
StreamPerformer<R, C extends StreamChange<R>>
Alias for performers that return Stream of data Recommended for observabling data
TextEditingAction
Action for text editing
TextFieldState
Text field state can:
TextFieldStateBuilder
Stream builder for text fields
TextFieldStreamedState
Stream view of text field state For validations, it is possible to set restrictions such as validator, mandatory, canEdit
VoidAction
It's wrapper over an void action on screen. It may be a tap action
WidgetModel
WidgetModel WM is logical representation of widget and its state. WidgetModelDependencies - is pack of dependencies for WidgetModel. Most often it is ErrorHandler. Model - optionally, but recommended, manager for connection with business layer
WidgetModelDependencies
Base dependencies for WidgetModel Typically is an ErrorHandler
WidgetState<W extends CoreMwwmWidget<WM>, WM extends WidgetModel>
Base class for state of CoreMwwmWidget. Has WidgetModel from initState.

Mixins

LifecycleLoggingMixin<T extends StatefulWidget>
SingleTickerProviderWidgetModelMixin
Single ticker provider for WidgetModel based on SingleTickerProviderStateMixin https://api.flutter.dev/flutter/widgets/SingleTickerProviderStateMixin-mixin.html
TickerProviderWidgetModelMixin
Ticker provider for WidgetModel based on TickerProviderStateMixin https://api.flutter.dev/flutter/widgets/TickerProviderStateMixin-mixin.html

Extensions

EventExt
FutureExt
InjectorExt
StreamX
SurfMwwmExtension
Extensions for WidgetModel

Typedefs

DataErrorWidgetBuilder<T> = Widget Function(BuildContext context, T? data, Exception? e)
DataWidgetBuilder<T> = Widget Function(BuildContext context, T data)
DependenciesBuilder<C> = C Function(BuildContext context)
ErrorWidgetBuilder = Widget Function(BuildContext context, Exception? e)
FunctionalPerformer<R, C> = R Function(C)
LoadingWidgetBuilder<T> = Widget Function(BuildContext context, T? data)
StreamedStateWidgetBuilder<T> = Widget Function(BuildContext context, T data)
WidgetModelBuilder<WM> = WM Function(BuildContext context)
WidgetStateBuilder = State<StatefulWidget> Function()

Exceptions / Errors

IncorrectTextException
Exception of incorrect text wrapper