MetaForm class

Renders a form for a IMSchemaDefinition (based on ref)

The form is backed by a FormController, which is usually a MModel/IFact wrapped in a MModelForm

To override the behavior of the form, provide MetaFormOverrides through MetaFormContext.overrides

Inheritance
Available extensions

Constructors

MetaForm({required String name, required FutureOr<MetaFormContext> metaFormContext, BuildContext? context, MSchemaRef? ref, Future<Result> overrideHandler(BuildContext context, FormController form, FormSubmitResult result)?, MetaFormBuilderFn? builder, SubmitHook? submitHook, FormValidator? validator, bool inheritForm = false, FormController? parentForm, FormControllerCreator? formCreator, bool attachForm = true, bool? skipIfUnmodified, List<MetaFormSection> sections = const []})
MetaForm.ofMModel(BuildContext context, {String? id, JsonPath? embedPath, required MBaseModel? model, MSchemaRef? ref, MetadataOverrides? overrides, IMSchemaDefinition? schema, bool saveModel = true, FormController? parentForm, SubmitHook? submitHook, FormValidator? validator, Future<Result> overrideHandler(BuildContext context, FormController form, FormSubmitResult result)?, bool attachForm = true, bool inheritForm = false, Set? ignoredPaths, bool? skipIfUnmodified, List<MetaFormSection> sections = const [], MetaFormBuilderFn? builder, List<MetaPropertyHandler> extraHandlers = const [], Map<String, dynamic>? scope})

Properties

attachForm → bool
Whether this form should be attached as a subform to any parent form that exists in scope, either parentForm or a provided Provider form that's in scope. Attaching to the parent form means that this form will validate and submit when the parent form submits.
final
builder → MetaFormBuilderFn?
final
formCreator → FormControllerCreator?
final
hashCode → int
The hash code for this object.
no setterinherited
inheritForm → bool
If inheritForm is true, then this MetaForm will bind directly to the parent form, instead of creating a new subform that's nested inside the parent form
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
metaFormContext → FutureOr<MetaFormContext>
final
name → String
final
overrideHandler → Future<Result> Function(BuildContext context, FormController form, FormSubmitResult result)?
final
parentForm → FormController?
final
ref → MSchemaRef?
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sections → List<MetaFormSection>
final
skipIfUnmodified → bool?
final
submitHook → SubmitHook?
final
validator → FormValidator?
final

Methods

bpad([int units = 2]) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

color(Color color) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

constrained({double? height, double? width}) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<StatefulWidget>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
headerPad() → Widget

Available on Widget, provided by the WidgetSpacingExt extension

hero(String? heroTag) → Widget

Available on Widget, provided by the SunnyWidgetHeroExtensions extension

hpad([int units = 2]) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

listItemCard() → Widget

Available on Widget, provided by the WidgetSpacingExt extension

listItemPad() → Widget

Available on Widget, provided by the WidgetSpacingExt extension

listItemTallPad({Key? key}) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

loose() → Widget

Available on Widget, provided by the WidgetSpacingExt extension

lpad([int units = 2]) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

maybeWrap(bool wrapIf, Widget wrap(Widget child)) → Widget

Available on Widget, provided by the WidgetMaybeWrap extension

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
offstage([bool offStageIf = true, bool forceWrap = false]) → Widget

Available on Widget?, provided by the WidgetOffstateExtensions extension

pad({int h = 2, int v = 1}) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

reIcon({Color? color, double? size}) → Widget

Available on Widget, provided by the WidgetReIconExt extension

responsive({double maxWidth = kDefaultResponsiveWidth, ResponsiveMaxWidth? calculated}) → Widget

Available on Widget, provided by the WidgetConstraint extension

responsiveSliver({double maxWidth = kDefaultResponsiveWidth, ResponsiveSliverMaxWidth? calculated}) → Widget

Available on Widget, provided by the WidgetConstraint extension

rpad([int units = 2]) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

sectionPad() → Widget

Available on Widget, provided by the WidgetSpacingExt extension

sized({double? height, double? width}) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

sliverBox() → Widget

Available on Widget, provided by the WidgetSpacingExt extension

sliverFill() → Widget

Available on Widget, provided by the WidgetSpacingExt extension

tappable(VoidCallback? onTap, {double? padAmount, EdgeInsets? padding}) → Widget

Available on Widget?, provided by the WidgetOffstateExtensions extension

toBuilder() → WidgetBuilder?

Available on Widget?, provided by the WidgetOffstateExtensions extension

Converts a nullable widget to a builder
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited
tpad([int units = 2]) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

vpad([int units = 2]) → Widget

Available on Widget, provided by the WidgetSpacingExt extension

withDragHandle() → Widget

Available on Widget, provided by the WidgetDragHandleExt extension

Operators

operator ==(Object other) → bool
The equality operator.
inherited