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 layoutoverride -
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 theschemaType
of theContentItem
. 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< fromJson}) → boolContentItem> > -
Available on ContentPlugin, provided by the ServiceExtensions extension
Sets the default layout for theschemaType
of theContentItem
. 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