SunnyFormController<T> class
abstract
- Implemented types
- Mixed-in types
-
- LoggingMixin
- Disposable
- Implementers
- Available extensions
Constructors
-
SunnyFormController.base(BuildContext buildContext, Map<
JsonPath, FormFieldValidator> ? validators, dynamic name)
Properties
- autofocusNode → FocusNode?
-
Returns the focusNode that should be autofocused based on the current form state. It's generally the first
required form field that doesn't have a value
no setteroverride
- buildContext → BuildContext
-
The build context for the form
final
- context → ReactiveContext
-
Override this method to use a custom context.
no setterinherited
-
errors
→ SunnyObservableMap<
JsonPath, ValidationError?> -
An observable map of errors
final
-
formState
→ SyncStream<
SunnyFormState> -
A stream of any change to the state of this form.
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- isModified → bool
-
Whether the user has made changes to the form.
no setteroverride
- lastFocusNode → FocusNode?
-
The last focus node that was added
no setteroverride
- log → Logger
-
no setterinherited
- loggerName → String
-
no setterinherited
- name → String
-
Helpful for debugging - displays the name of the record being edited, for example
final
- parent → FormController?
-
The parent form
no setteroverride
-
readyChecks
→ Map<
JsonPath, SafeCompleter> -
Consumers can request a completer that's used to prevent submission until the child component is
ready - maybe they are uploading a file or something.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
stream
→ Stream<
Attribute> -
observes all changes
no setteroverride
-
validators
→ Map<
JsonPath, FormFieldValidator> -
Validators run during the validation phase of the submission.
final
Methods
-
addError(
JsonPath path, ValidationError? error, {AttributeSource source = AttributeSource.model}) → void -
Registers an error at this path
override
-
addFocusNode(
JsonPath path, FocusNode? newFocusNode) → void -
Adds a focusNode to this form at this path
override
-
autofocus(
[BuildContext? context]) → void -
override
-
bindCommand<
T> (BuildContext context, {FutureOr< T> submit()?, bool? skipIfUnmodified = false}) → void -
Available on FormController, provided by the FormControllerCommandExtensions extension
Binds the command - raises an exception if no Command is found -
clearError(
JsonPath path, {required AttributeSource source}) → void -
Removes all errors at this
path
override -
clearErrors(
{required AttributeSource source}) → void -
Clears out all errors
override
-
dispose(
) → Future -
override
-
disposeAll(
) → Future -
inherited
-
endSubmission(
) → void -
Ends this form's submission process
override
-
focusLast(
[BuildContext? context]) → void -
override
-
get<
X> (JsonPath path) → X? -
Retrieves a value from the underlying data model.
override
-
getFocusNode(
JsonPath path, {bool createIfMissing = true}) → FocusNode? -
Retreives a focus node for the specified path
override
-
invalidateReadyCheck(
JsonPath path) → void -
Unregisters a ready check at the given path.
(should this also complete any outstanding item?)
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
observePath<
X> (JsonPath path) → Stream< X?> -
Observes a single path
override
-
path<
X> (JsonPath< X> path, [Attribute<X> ? attr]) → X? -
Uses the type from the JsonPath
override
-
pathBuilder<
T> (JsonPath path, WidgetValueBuilder< T?> builder) → Widget -
Available on FormController, provided by the SunnyControllerWidgetExtensions extension
-
pathsBuilder<
T, T2> (JsonPath first, JsonPath second, WidgetDualValueBuilder< T?, T2?> builder) → Widget -
Available on FormController, provided by the SunnyControllerWidgetExtensions extension
-
put(
JsonPath path, dynamic value, {required AttributeSource source}) → void -
Put is like set, but it's not assumed that the data has been sanitized
override
-
registerDisposer(
Disposer callback) → void -
inherited
-
registerForm(
FormController? form) → void -
Registers a subform
override
-
registerFormValidator(
String key, FormValidator? validator) → void -
Registers a form validator
override
-
registerStream(
Stream? stream) → void -
inherited
-
registerSubmitHook(
String key, SubmitHook? onSubmit) → void -
Registers a submit hook. These run after validation
override
-
registerSubscription(
StreamSubscription? subscription) → void -
inherited
-
removeDisposer(
FutureOr dispose()) → void -
inherited
-
requestReadyCheck(
JsonPath path) → SafeCompleter -
Gets or puts a ready check at the given path
override
-
set(
JsonPath path, dynamic value, {AttributeSource source = AttributeSource.model}) → void -
Sets a value in the underlying model
override
-
startSubmission(
) → void -
Begins this forms submission process
override
-
submit<
X> (BuildContext context, {FutureOr< X?> submit()?, bool? skipIfUnmodified}) → FutureOr<FormSubmitResult< X> > -
Submits this form, including subforms, and returns the result
override
-
submitIfModified<
X> (BuildContext context, [FutureOr< X> submit()?]) → FutureOr<FormSubmitResult< X> > -
Available on FormController<
T?> , provided by the FormControllerExtensions extension -
submitRoot<
X> (BuildContext context, {bool? skipIfUnmodified, FutureOr< X> ? submit()?}) → FutureOr<FormSubmitResult< X> > -
Available on FormController<
T?> , provided by the FormControllerExtensions extension -
toMetaFormContext(
BuildContext context, {Map< String, dynamic> ? scope, MetadataOverrides? overrides, List<MetaPropertyHandler> ? extraHandlers, FutureOr<IMEntityDefinition> ? definition}) → MetaFormContext -
Available on FormController, provided by the FormControllerToContext extension
-
toString(
) → String -
A string representation of this object.
inherited
-
tryBindCommand<
T> (BuildContext context, {FutureOr< T> submit()?, bool? skipIfUnmodified}) → bool -
Available on FormController, provided by the FormControllerCommandExtensions extension
-
unbindCommand<
T> (CallBridge< T> command) → void -
Available on FormController, provided by the FormControllerCommandExtensions extension
-
unregisterForm(
FormController form) → void -
Unregisters a subform
override
-
unregisterFormValidator(
String key) → void -
Unregisters a validator
override
-
unregisterSubmitHook(
String key) → void -
Unregisters a submit hook
override
-
updateErrors(
List< ValidationError> validationErrors, {required AttributeSource source}) → void -
Clears and sets a list of
validationErrors
override -
validate(
{required bool skipIfUnmodified}) → FutureOr< Map< JsonPath, List< >ValidationError> > -
Validates this form and any subforms. An empty result means that the form validated successfully
override
-
validatePath(
JsonPath path) → String? -
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override
Static Methods
-
ofMap(
BuildContext context, Map< String, dynamic> map, {Map<JsonPath, FormFieldValidator> ? validators, required dynamic name}) → MapForm -
override
-
ofModel<
T extends MModel> (BuildContext context, T model, {Map< JsonPath, FormFieldValidator> ? validators}) → MModelForm<T> -
override
-
ofMSchema<
T extends MModel> (BuildContext context, T model, IMSchemaDefinition definition, {Map< JsonPath, FormFieldValidator> ? validators}) → FormController -
override
-
ofMSchemaFuture<
T extends MModel> (BuildContext context, T model, {MSchemaRef? mtype, Map< JsonPath, FormFieldValidator> ? validators}) → Future<MSchemaForm< T> > -
override
-
singleValue<
T> (BuildContext context, SingleValue< T> container, {Map<JsonPath, FormFieldValidator> ? validators, required dynamic name}) → SingleValueForm<T> -
override