GraphModel

@Serializable
data class GraphModel(val entries: SerializableImmutableList<GraphModel.Entry>, val startEntryId: String, val defaultTransition: ContentTransitionSchema? = null, val defaultPopTransition: ContentTransitionSchema? = null, val defaultPredictivePopTransition: ContentTransitionSchema? = null)

The app-facing navigation graph — dev.catbit.mosaic.core.data.responses.graph.GraphResponse with dev.catbit.mosaic.core.data.responses.graph.GraphResponse.ttl already consumed by the repository layer and dropped. This is what MosaicApplicationStateHolder.State.Displaying carries, and what MosaicApplication's NavDisplay resolves transitions from.

Constructors

Link copied to clipboard
constructor(entries: SerializableImmutableList<GraphModel.Entry>, startEntryId: String, defaultTransition: ContentTransitionSchema? = null, defaultPopTransition: ContentTransitionSchema? = null, defaultPredictivePopTransition: ContentTransitionSchema? = null)

Types

Link copied to clipboard
object Companion
Link copied to clipboard
@Serializable
data class Entry(val screenId: String, val initialTiles: SerializableImmutableList<TileSchema>, val initialEvents: SerializableImmutableList<EventSchema>, val failureTiles: SerializableImmutableList<TileSchema>, val failureEvents: SerializableImmutableList<EventSchema>, val transition: ContentTransitionSchema? = null, val popTransition: ContentTransitionSchema? = null, val predictivePopTransition: ContentTransitionSchema? = null)

One registered screen within the graph — the app-facing counterpart of dev.catbit.mosaic.core.data.responses.graph.GraphResponse.Entry, identical shape, staged by MosaicApplicationStateHolder into ScreenExtrasHolder for whenever this screen actually opens.

Properties

Link copied to clipboard
@SerialName(value = "defaultPopTransition")
val defaultPopTransition: ContentTransitionSchema?

fallback transition for popping the back stack.

Link copied to clipboard
@SerialName(value = "defaultPredictivePopTransition")
val defaultPredictivePopTransition: ContentTransitionSchema?

fallback transition for the predictive back gesture.

Link copied to clipboard
@SerialName(value = "defaultTransition")
val defaultTransition: ContentTransitionSchema?

fallback enter/exit transition for any entry that doesn't declare its own.

Link copied to clipboard
@SerialName(value = "entries")
val entries: SerializableImmutableList<GraphModel.Entry>

every screen registered in this graph.

Link copied to clipboard
@SerialName(value = "startEntryId")
val startEntryId: String

id of the entry the graph opens on.