DefaultContentPlugin class final

The default ContentPlugin implementation for the Vyuh framework. This plugin is responsible for fetching content from a CMS and rendering content items. It uses a ContentExtensionBuilder to keep track of the various ContentItem types.

Inheritance
  • Object
  • Plugin
  • ContentPlugin
  • DefaultContentPlugin
Available extensions

Constructors

DefaultContentPlugin({required ContentProvider provider})

Properties

hashCode int
The hash code for this object.
no setterinherited
name String
finalinherited
provider → ContentProvider
The ContentProvider for this plugin
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
title String
finalinherited
typeRegistry Map<Type, Map<String, TypeDescriptor>>
The type registry that maps types to their descriptors. This stores the descriptors for LayoutConfiguration, ActionConfiguration, ConditionConfiguration and possibly others in the future.
no setteroverride

Methods

attach(ExtensionBuilder<ExtensionDescriptor> extBuilder) → void
Sets up the plugin with the ContentExtensionBuilder. The plugin relies on the ContentExtensionBuilder to do its work.
override
buildContent<T extends ContentItem>(BuildContext context, T content, {LayoutConfiguration<T>? layout}) Widget
Builds a Widget for the given content. You can pass in an optional layout to override the default layout
override
buildRoute(BuildContext context, {Uri? url, String? routeId}) Widget
Builds a Widget for the given route url or id. This is used for top-level documents called routes. These could represent a page, dialog or a conditional-route.
override
contentBuilder(String schemaType) ContentBuilder<ContentItem>?

Available on ContentPlugin, provided by the ServiceExtensions extension

Returns the ContentBuilder for the schemaType of the ContentItem. Returns null if it does not exist.
contentBuilders() List<ContentBuilder<ContentItem>>?

Available on ContentPlugin, provided by the ServiceExtensions extension

Returns a map of all content builders, where the key is the schemaType and the value is the ContentBuilder.
dispose() Future<void>
override
fromJson<T>(Map<String, dynamic> json) → T?
Converts the given json to a content item of type T
override
init() Future<void>
override
isRegistered<T>(String schemaType) bool
Checks if the given schema type is registered for type T
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
register<T>(TypeDescriptor<T> descriptor) → dynamic
Registers the given type descriptor
override
setDefaultLayout({required String schemaType, required LayoutConfiguration<ContentItem> layout, required FromJsonConverter<LayoutConfiguration<ContentItem>> fromJson}) bool

Available on ContentPlugin, provided by the ServiceExtensions extension

Sets the default layout for the schemaType of the ContentItem. Returns true if the layout was set, false otherwise.
toString() String
A string representation of this object.
inherited

Operators

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