RouteFutureBuilder class

A widget that builds UI based on a future of RouteBase data.

This widget is suitable for fetching content from the CMS once, and then rendering it in the app. If the app needs to fetch content multiple times, use RouteStreamBuilder instead.

The widget requires a callback function to fetch the content. This function will be called with the current context, and should return a future that resolves with the content.

Inheritance

Constructors

RouteFutureBuilder.new({Key? key, Uri? url, String? routeId, required Future<RouteBase?> fetchRoute(BuildContext context, {String? path, String? routeId}), required Widget buildContent(BuildContext context, ContentItem content), bool allowRefresh = true})

Properties

allowRefresh bool
Whether the user should be allowed to refresh the content. Defaults to true.
final
buildContent Widget Function(BuildContext context, ContentItem content)
The callback function to build the UI for the content. This function will be called with the current context, and the content item returned from the CMS.
final
fetchRoute Future<RouteBase?> Function(BuildContext context, {String? path, String? routeId})
The callback function to fetch the content. This function will be called with the current context, and should return a future that resolves with the content.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
routeId String?
The ID of the content item to fetch. If this is null, the content will be fetched from the CMS using the url.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
url Uri?
The URL to fetch the content from. If this is null, the content will be fetched from the CMS using the routeId.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<RouteFutureBuilder>
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
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
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

Operators

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