sunny_form_controller library

Classes

Attribute<X>
FormAutofocus
FormController<T>
A data form base class. Similar to Form, but adds more support for things like nested forms, validation, etc.
FormSubmitResult<X>
FormSubmitResultBuilder<X>
MapForm
MBaseModelFormController<T extends MBaseModel>
MModelForm<T extends MBaseModel>
ModelBasedFormController<T extends MBaseModel>
MSchemaForm<T extends MBaseModel>
SingleValueForm<V>
SunnyForm<T>
How you bind a FormController into the widget tree. This class connects the form automatically to any Command instances up the tree.
SunnyFormController<T>

Extensions

AttributeSourceExtention on AttributeSource
AttributeStreamExt on Stream<Attribute<X?>>
BuildContextFormExtensions on BuildContext
FormControllerCommandExtensions on FormController
In flutter, it can be challenging to bind submit buttons to forms, when the submit button lives outside the form's tree. These extensions make it easy to bind a form's submission to a Command that's registered further up the tree.
FormControllerExtensions on FormController<T?>
FormResultFuture on FutureOr<FormSubmitResult<T>>
FormSubmitResultExtensions on FormSubmitResult<X>
MBaseModelDeep on MBaseModel
MModelFormExtensions on MModel
ResultFuture on FutureOr<Result<T>>

Typedefs

AttributeChanged = void Function(JsonPath path, dynamic value)
FormControllerCreator = FormController Function(BuildContext context)
FormSubmission<T> = FutureOr<T> Function(FormController form)
FormValidator = FutureOr<List<ValidationError>> Function(FormController form)
FormWidgetBuilder<T> = Widget Function(BuildContext context, FormController<T> form)
PropertyGetter = dynamic Function(JsonPath path)
PropertySetter = void Function(JsonPath path, dynamic)
ResultExtractor<T> = T Function(FormSubmitResult result)
SubmitHo<T> = FutureOr<T> Function(FormController controller)
SubmitHook = FutureOr<Result> Function(FormController controller, FormSubmitResultBuilder resultBuilder)
WidgetBuilderWithForm = Widget Function(BuildContext context, FormController controller)