json_dynamic_widget library
Classes
- ArgProcessor
- Arg processor allows to process JsonWidgetData arg into its real value. It also is responsible to calculate (or not) variable names that specified JsonWidgetData depends on. It produces ProcessedArg which contains all that infomations.
- ArgProcessors
- List of predifinied ArgProcessors.
- ArgsExpressionEvaluator
-
Modification added to
ExpressionEvaluator
which integrates JsonWidgetRegistry variables and functions. - CurvesValues
- DeferredJsonWidgetData
- A JsonWidgetData subclass that does not parse the JSON until the values are needed. This is used internally by the library for when widgets are requested through a variable reference because the variable often won't exist until after the first pass of the widget tree processing is completed.
- DynamicValuesFactory
-
Creates values used to parameterize child templates.
It generates 'id' field if not exist via
Uuid.v4
. - ExpressionArgProcessor
- Processor that integrates https://pub.dev/packages/expressions library syntax with JsonWidgetRegistry variables and functions. All expressions should be placed in ${.*} syntax.
- InputDecorationDecoder
- InputError
- IterableArgProcessor
-
Processor for iterable
arg
. The processor is processing every value of thearg
using JsonWidgetRegistry processsors and it is aggregating all listen variable names. In case of passinglistenVariables
directly then the aggregation step is skipped. - JsonAlignBuilder
- Builder that can build an Align widget. See the fromDynamic for the format.
- JsonAnimatedAlignBuilder
- Builder that can build an AnimatedAlign widget. See the fromDynamic for the format.
- JsonAnimatedContainerBuilder
- Builder that can build an AnimatedContainer widget. See the fromDynamic for the format.
- JsonAnimatedCrossFadeBuilder
- Builder that can build an AnimatedCrossFade widget. See the fromDynamic for the format. The ordering of the children in JSON determines which will be the first or second to be rendered.
- JsonAnimatedDefaultTextStyleBuilder
- Builder that can build an AnimatedDefaultTextStyle widget. See the fromDynamic for the format.
- JsonAnimatedOpacityBuilder
- Builder that can build an AnimatedOpacity widget. See the fromDynamic for the format.
- JsonAnimatedPaddingBuilder
- Builder that can build an AnimatedPadding widget. See the fromDynamic for the format.
- JsonAnimatedPhysicalModelBuilder
- Builder that can build an AnimatedPhysicalModel widget. See the fromDynamic for the format.
- JsonAnimatedPositionedBuilder
- Builder that can build an AnimatedPositioned widget. See the fromDynamic for the format.
- JsonAnimatedPositionedDirectionalBuilder
- Builder that can build an AnimatedPositionedDirectional widget. See the fromDynamic for the format.
- JsonAnimatedSizeBuilder
- Builder that can build an AnimatedSize widget. See the fromDynamic for the format.
- JsonAnimatedSwitcherBuilder
- Builder that can build an AnimatedSwitcher widget. See the fromDynamic for the format.
- JsonAnimatedThemeBuilder
- Builder that can build an AnimatedTheme widget. See the fromDynamic for the format.
- JsonAppBarBuilder
- Builder that can build an AppBar widget. See the fromDynamic for the format.
- JsonAspectRatioBuilder
- Builder that can build an AspectRatio widget. See the fromDynamic for the format.
- JsonAssetImageBuilder
- Builder that can build an Image widget using bundled assets. See the fromDynamic for the format.
- JsonBaselineBuilder
- Builder that can build an Baseline widget. See the fromDynamic for the format.
- JsonButtonBarBuilder
- Builder that can build an ButtonBar widget. See the fromDynamic for the format.
- JsonCardBuilder
- Builder that can build an Card widget. See the fromDynamic for the format.
- JsonCenterBuilder
- Builder that can build an Center widget. See the fromDynamic for the format.
- JsonCheckboxBuilder
- Builder that can build an Checkbox widget. See the fromDynamic for the format.
- JsonCircularProgressIndicatorBuilder
- Builder that can build an CircularProgressIndicator widget. See the fromDynamic for the format.
- JsonClipOvalBuilder
- Builder that can build an ClipOval widget. See the fromDynamic for the format.
- JsonClipPathBuilder
- Builder that can build an ClipPath widget. See the fromDynamic for the format.
- JsonClipRectBuilder
- Builder that can build an ClipRect widget. See the fromDynamic for the format.
- JsonClipRRectBuilder
- Builder that can build an ClipRRect widget. See the fromDynamic for the format.
- JsonColumnBuilder
- Builder that can build an Column widget. See the fromDynamic for the format.
- JsonCommentBuilder
- Builder is just a placeholder to allow for placing comments in the JSON tree for human readability
- JsonConditionalBuilder
- Builder that builds either the actual child widget or clears the child widgets based on the result from the conditional.
- JsonContainerBuilder
- Builder that can build an Container widget. See the fromDynamic for the format.
- JsonCupertinoSwitchBuilder
- Builder that can build an CupertinoSwitch widget. See the fromDynamic for the format.
- JsonCustomScrollViewBuilder
- Builder that can build an CustomScrollView widget. See the fromDynamic for the format.
- JsonDecoratedBoxBuilder
- Builder that can build an DecoratedBox widget. See the fromDynamic for the format.
- JsonDirectionalityBuilder
- Builder that can build a Directionality widget. See the fromDynamic for the format.
- JsonDropdownButtonFormFieldBuilder
- Builder that can build an DropdownButtonFormField widget. See the fromDynamic for the format.
- JsonDynamicBuilder
-
Builder that builds children based on the state the listened value.
Listened value name is equal to
id
field value. Children are created fromchildTemplate
with usage of${dynamic}
function.childTemplate
is able to use template values via {} format. For example to use anid
value in a template just putting there{id}
is enough. Templating mechanism usesInterpolation
underneath. - JsonElevatedButtonBuilder
- Builder that can build an ElevatedButton widget. See the fromDynamic for the format.
- JsonExcludeSemanticsBuilder
- Builder that can build an MergeSemantics widget. See the fromDynamic for the format.
- JsonExpandedBuilder
- Builder that can build an Expanded widget. See the fromDynamic for the format.
- JsonFittedBoxBuilder
- Builder that can build an FittedBox widget. See the fromDynamic for the format.
- JsonFlatButtonBuilder
-
Builder that can build an
FlatButton
widget. See the fromDynamic for the format. - JsonFlexibleBuilder
- Builder that can build an Flexible widget. See the fromDynamic for the format.
- JsonFloatingActionButtonBuilder
- Builder that can build a FloatingActionButton widget. See the fromDynamic for the format.
- JsonFormBuilder
- Builder that can build an Form widget. See the fromDynamic for the format.
- JsonFractionallySizedBoxBuilder
- Builder that can build a FractionallySizedBox widget. See the fromDynamic for the format.
- JsonFractionalTranslationBuilder
- Builder that can build a FractionalTranslation widget. See the fromDynamic for the format.
- JsonGestureDetectorBuilder
- Builder that can build an GestureDetector widget. See the fromDynamic for the format.
- JsonGridViewBuilder
- Builder that can build an GridView widget. See the fromDynamic for the format.
- JsonHeroBuilder
- Builder that can build an Hero widget. See the fromDynamic for the format.
- JsonIconBuilder
- Builder that can build an Icon widget. See the fromDynamic for the format.
- JsonIconButtonBuilder
- Builder that can build an IconButton widget. See the fromDynamic for the format.
- JsonIgnorePointerBuilder
- Builder that can build an IgnorePointer widget. See the fromDynamic for the format.
- JsonIndexedStackBuilder
- Builder that can build an IndexedStack widget. See the fromDynamic for the format.
- JsonInkWellBuilder
- Builder that can build an InkWell widget. See the fromDynamic for the format.
- JsonInputErrorBuilder
- Builder that can build an InputError widget. See the fromDynamic for the format.
- JsonInteractiveViewerBuilder
- Builder that can build an InteractiveViewer widget. See the fromDynamic for the format.
- JsonIntrinsicHeightBuilder
- Builder that can build an IntrinsicHeight widget. See the fromDynamic for the format.
- JsonIntrinsicWidthBuilder
- Builder that can build an IntrinsicWidth widget. See the fromDynamic for the format.
- JsonLayoutBuilderBuilder
- Builder that can build an LayoutBuilder widget. See the fromDynamic for the format.
- JsonLimitedBoxBuilder
- Builder that can build a LimitedBox widget. See the fromDynamic for the format.
- JsonLinearProgressIndicatorBuilder
- Builder that can build an LinearProgressIndicator widget. See the fromDynamic for the format.
- JsonListTileBuilder
- Builder that can build an ListTile widget. See the fromDynamic for the format.
- JsonListViewBuilder
- Builder that can build an ListView widget. See the fromDynamic for the format.
- JsonMaterialBuilder
- Builder that can build an Material widget. See the fromDynamic for the format.
- JsonMeasuredBuilder
- Builder that can build a widget that measures itself and writes the measurements to the JsonWidgetRegistry's values. See the fromDynamic for the format.
- JsonMemoryImageBuilder
- Builder that can build an Image widget from memory. See the fromDynamic for the format.
- JsonMergeSemanticsBuilder
- Builder that can build an MergeSemantics widget. See the fromDynamic for the format.
- JsonNetworkImageBuilder
- Builder that can build an Image widget from a network URL. See the fromDynamic for the format.
- JsonOffstageBuilder
- Builder that can build an Offstage widget. See the fromDynamic for the format.
- JsonOpacityBuilder
- Builder that can build an Opacity widget. See the fromDynamic for the format.
- JsonOutlinedButtonBuilder
- Builder that can build an OutlinedButton widget. See the fromDynamic for the format.
- JsonOverflowBoxBuilder
- Builder that can build an OverflowBox widget. See the fromDynamic for the format.
- JsonPaddingBuilder
- Builder that can build an Padding widget. See the fromDynamic for the format.
- JsonPlaceholderBuilder
- Builder that can build a Placeholder widget. See the fromDynamic for the format.
- JsonPopupMenuButtonBuilder
- Builder that can build a PopupMenuButton widget. See the fromDynamic for the format.
- JsonPositionedBuilder
- Builder that can build an Positioned widget. See the fromDynamic for the format.
- JsonPrimaryScrollControllerBuilder
- Builder that creates a scroll controller and then creates a PrimaryScrollController widget on the tree.
- JsonRadioBuilder
-
Builder that can build an Radio See the fromDynamic for the
format. Unlike other form fields, this requires the
id
for the radio variable to be inside of theargs
. This is because no two widgets can share the same overall id. - JsonRaisedButtonBuilder
-
Builder that can build an
RaisedButton
widget. See the fromDynamic for the format. - JsonRowBuilder
- Builder that can build an Row widget. See the fromDynamic for the format.
- JsonSafeAreaBuilder
- Builder that can build an SafeArea widget. See the fromDynamic for the format.
- JsonSaveContextBuilder
- Builder that sets a the current BuildContext on the JsonWidgetRegistry. This doesn't actually have a widget and instead simply returns the child's built widget. See the fromDynamic for the format.
- JsonScaffoldBuilder
- Builder that can build an Scaffold widget. See the fromDynamic for the format.
- JsonScrollbarBuilder
- Builder that can build an Scrollbar widget. See the fromDynamic for the format.
- JsonScrollConfigurationBuilder
- Builder that can build an Scrollbar widget. See the fromDynamic for the format.
- JsonSemanticsBuilder
- Builder that can build an Semantics widget. See the fromDynamic for the format.
- JsonSetDefaultValueBuilder
- Builder that sets a value (or group of values) to the JsonWidgetRegistry. This doesn't actually have a widget and instead simply returns the child's built widget. See the fromDynamic for the format.
- JsonSetScrollControllerBuilder
- Builder that creates a scroll controller and then sets it as a variable using the "key" name.
- JsonSetValueBuilder
- Builder that sets a value (or group of values) to the JsonWidgetRegistry. This doesn't actually have a widget and instead simply returns the child's built widget. See the fromDynamic for the format.
- JsonSetWidgetBuilder
- Builder that sets a value (or group of values) to the JsonWidgetRegistry. This doesn't actually have a widget and instead simply returns the child's built widget. See the fromDynamic for the format.
- JsonSingleChildScrollViewBuilder
- Builder that can build an SingleChildScrollView widget. See the fromDynamic for the format.
- JsonSizedBoxBuilder
- Builder that can build an SizedBox widget. See the fromDynamic for the format.
- JsonSliverGridBuilder
- Builder that can build an SliverGrid widget. See the fromDynamic for the format.
- JsonSliverListBuilder
- Builder that can build an SliverList widget. See the fromDynamic for the format.
- JsonSliverPaddingBuilder
- Builder that can build an SliverPadding widget. See the fromDynamic for the format.
- JsonSliverToBoxAdapterBuilder
- Builder that can build an SliverToBoxAdapter widget. See the fromDynamic for the format.
- JsonStackBuilder
- Builder that can build an Stack widget. See the fromDynamic for the format.
- JsonSwitchBuilder
- Builder that can build an Switch widget. See the fromDynamic for the format.
- JsonTestableBuilder
- Builder that can build an SizedBox widget. See the fromDynamic for the format.
- JsonTextBuilder
- Builder that can build an Text widget. See the fromDynamic for the format.
- JsonTextButtonBuilder
- Builder that can build a TextButton widget. See the fromDynamic for the format.
- JsonTextFormFieldBuilder
- Builder that can build an TextFormField widget. See the fromDynamic for the format.
- JsonThemeBuilder
- Builder that can build an Theme widget. See the fromDynamic for the format.
- JsonTooltipBuilder
- Builder that can build an Tooltip widget. See the fromDynamic for the format.
- JsonTweenAnimationBuilder
- Builder that can build an TweenAnimationBuilder widget. See the fromDynamic for the format.
- JsonWidgetBuilder
- Builder that builds dynamic widgets from JSON or other Map-like structures. Applications can register their own types and builders through the JsonWidgetRegistry.
- JsonWidgetBuilderContainer
-
Container for a JsonWidgetBuilder builder as well as an associated schema
id. The schema id will be used to validate the JSON args against the
schema if it is not
null
. If it isnull
, no schema validation will be performed against the JSON for this particular builder. - JsonWidgetData
- JsonWidgetRegistry
- Registry for both the library provided as well as custom form builders that the application may provide.
- JsonWidgetType
- JsonWrapBuilder
- Builder that can build an Wrap widget. See the fromDynamic for the format.
- MapArgProcessor
-
Processor for map
arg
. It is entry point for JsonWidgetData args. If thearg
is detected to be JsonWidgetData then processing of such anarg
is skipped. - NamedFunctionArg
- ProcessedArg
- RawArgProcessor
-
Processor which is accepting any
arg
and not processarg
value at all. That processor should be used as the last processor in the pipeline. - SliverGridDelegateDecoder
Typedefs
- DeferredBuilder = JsonWidgetBuilder Function(JsonWidgetBuilderBuilder builder)
- JsonWidgetBuilderBuilder = JsonWidgetBuilder? Function(dynamic map, {JsonWidgetRegistry? registry})
- JsonWidgetFunction = dynamic Function({required List? args, required JsonWidgetRegistry registry})