EntryProviderScope

class EntryProviderScope<T : Any>(fallback: (unknownScreen: T) -> NavEntry<T>)

The scope for constructing a new NavEntry with Kotlin DSL

Parameters

fallback

the fallback NavEntry when the provider cannot find an entry associated with a given key on the backStack

Type Parameters

T

the type of the NavEntry key

Constructors

Link copied to clipboard
constructor(fallback: (unknownScreen: T) -> NavEntry<T>)

Functions

Link copied to clipboard
fun <K : T> addEntryProvider(key: K, contentKey: Any = defaultContentKey(key), metadata: (K) -> Map<String, Any>, content: @Composable (K) -> Unit)
fun <K : T> addEntryProvider(key: K, contentKey: Any = defaultContentKey(key), metadata: Map<String, Any> = emptyMap(), content: @Composable (K) -> Unit)

Builds a NavEntry for the given key that displays content.

fun <K : T> addEntryProvider(clazz: KClass<out K>, clazzContentKey: (key: @JvmSuppressWildcards K) -> Any = { defaultContentKey(it) }, metadata: (K) -> Map<String, Any>, content: @Composable (K) -> Unit)
fun <K : T> addEntryProvider(clazz: KClass<out K>, clazzContentKey: (key: @JvmSuppressWildcards K) -> Any = { defaultContentKey(it) }, metadata: Map<String, Any> = emptyMap(), content: @Composable (K) -> Unit)

Builds a NavEntry for the given clazz that displays content.

Link copied to clipboard
inline fun <K : T> entry(noinline clazzContentKey: (key: @JvmSuppressWildcards K) -> Any = { defaultContentKey(it) }, noinline metadata: (K) -> Map<String, Any>, noinline content: @Composable (K) -> Unit)
inline fun <K : T> entry(noinline clazzContentKey: (key: @JvmSuppressWildcards K) -> Any = { defaultContentKey(it) }, metadata: Map<String, Any> = emptyMap(), noinline content: @Composable (K) -> Unit)
fun <K : T> EntryProviderScope<T>.entry(key: K, contentKey: Any = defaultContentKey(key), metadata: (K) -> Map<String, Any>, content: @Composable (K) -> Unit)
fun <K : T> EntryProviderScope<T>.entry(key: K, contentKey: Any = defaultContentKey(key), metadata: Map<String, Any> = emptyMap(), content: @Composable (K) -> Unit)

Add an entry provider to the EntryProviderScope