JsonDynamicBuilder class
Builder that builds children based on the state the listened value.
Listened value name is equal to id
field value.
Children are created from childTemplate
with usage of ${dynamic}
function. childTemplate
is able to use template values via {} format.
For example to use an id
value in a template just putting there {id}
is enough. Templating mechanism uses Interpolation
underneath.
See the fromDynamic for the format.
- Inheritance
-
- Object
- JsonWidgetBuilder
- JsonDynamicBuilder
Constructors
-
JsonDynamicBuilder.new({required String childTemplate, required String builderType, required Iterable<
Map< initState, JsonWidgetRegistry? registry})String, dynamic> > -
const
Properties
- builderType → String
-
final
- childTemplate → String
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
initState
→ Iterable<
Map< String, dynamic> > -
final
- numSupportedChildren → int
-
finalinherited
- preferredSizeWidget → bool
-
finalinherited
- registry → JsonWidgetRegistry?
-
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.inherited -
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.
override
-
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.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
remove(
JsonWidgetData data) → void -
Removes any / all values this builder may have set from the
JsonWidgetRegistry.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
fromDynamic(
dynamic map, {JsonWidgetRegistry? registry}) → JsonDynamicBuilder? - Builds the builder from a Map-like dynamic structure. This expects the JSON format to be of the following structure:
Constants
- kNumSupportedChildren → const int
- type → const String