RouteBase class abstract
Base class for all route content items in Vyuh.
Routes represent navigable content in a Vyuh application. They combine content from the CMS with routing configuration to create dynamic, content-driven navigation.
Key features:
- Content-driven routing using CMS data
- Customizable route types and transitions
- Category-based organization
- Lifecycle management
- Inheritance
-
- Object
- ContentItem
- RouteBase
- Implemented types
Constructors
-
RouteBase.new({required String schemaType, RouteTypeConfiguration? routeType, required String title, required String path, Category? category, required DateTime createdAt, required DateTime updatedAt, required String id, required LayoutConfiguration<
ContentItem> ? layout, required List<ContentModifierConfiguration> ? modifiers}) -
RouteBase.fromJson(Map<
String, dynamic> json) -
factory
Properties
- category → Category?
-
Optional category for organizing routes.
final
- createdAt → DateTime
-
When this route was created in the CMS.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
Unique identifier for this route.
final
-
layout
→ LayoutConfiguration<
ContentItem> ? -
The layout configuration for the content item.
finalinherited
-
modifiers
→ List<
ContentModifierConfiguration> ? -
finalinherited
- parent ↔ ContentItem?
-
The parent content item of this content item. This is used internally by the content system.
getter/setter pairinherited
- path → String
-
The URL path for this route.
This is used to match URLs and generate links.
final
- routeType → RouteTypeConfiguration?
-
Configuration for how this route should be presented.
Defines transitions, animations, and other route-specific behavior.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- schemaType → String
-
The schema type of the content item.
finalinherited
- title → String
-
The title of the route, displayed in navigation UI.
final
- updatedAt → DateTime
-
When this route was last updated in the CMS.
final
Methods
-
createPage<
T> (BuildContext context, [LocalKey? pageKey]) → Page< T> - Create a Flutter page for this route.
-
dispose(
) → Future< void> - Clean up the route when it is no longer active.
-
getLayout(
) → LayoutConfiguration< ContentItem> ? -
Gets the layout to use for the ContentItem. By default its the layout itself.
However this acts as an extension point for custom ContentItems
that may have a different strategy for applying layouts.
override
-
getModifiers(
) → List< ContentModifierConfiguration> ? -
Gets the modifiers to use for the ContentItem. By default its the modifiers itself.
However this acts as an extension point for custom ContentItems
that may have a different strategy for applying modifiers.
override
-
init(
BuildContext context) → Future< RouteBase?> - Initialize the route when it becomes active.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setParent(
Iterable< ContentItem?> children) → void -
Sets the parent content item for the given list of children.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited