JsonWidgetBuilder class abstract
Builder that builds dynamic widgets from JSON or other Map-like structures. Applications can register their own types and builders through the JsonWidgetRegistry.
- Annotations
Constructors
- JsonWidgetBuilder({bool preferredSizeWidget = false, required int numSupportedChildren})
- Constructs the builder by stating whether the widget being built is a PreferredSizeWidget or not.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- numSupportedChildren → int
-
final
- preferredSizeWidget → bool
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
{required ChildWidgetBuilder? childBuilder, required BuildContext context, required JsonWidgetData data}) → Widget -
Builds the widget. If there are dynamic keys on the
data
object, and the widget is not a PreferredSizeWidget, then the returned widget will be wrapped by a stateful widget that will rebuild if any of the dynamic args change in value. -
buildCustom(
{ChildWidgetBuilder? childBuilder, required BuildContext context, required JsonWidgetData data, Key? key}) → Widget - Custom builder that subclasses must override and implement to return the actual Widget to be placed on the tree.
-
getChild(
JsonWidgetData? data, {int index = 0}) → JsonWidgetData - Returns a non-null child for widgets that must always have child widgets. This allows the widget to be built and rendered even if the child is missing.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
remove(
JsonWidgetData data) → void - Called when a JSON widget is removed from the tree due to a conditional. Custom widgets may need to implement this to clean up values that may have been placed on the JsonWidgetRegistry by the widget.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- kDefaultChild → JsonWidgetData
-
final