Dialog
class Dialog(
override val content: @Composable () -> Unit
) : NavigationNode {
..
var dialogOptions by mutableStateOf(DialogOptions())
..
}data class DialogOptions(
val dismissOnClickOutside: Boolean = true,
val dismissOnBackPress: Boolean = true,
val securePolicy: SecureFlagPolicy = SecureFlagPolicy.Inherit,
)Updating Dialog state
@Composable
fun MyDialog() {
val dialog = requireLocalDialog() // Get the local dialog node
var dismissOnBackPress by rememberSaveable { mutableStateOf(false)) }
LaunchedEffect(dismissOnBackPress) {
dialog.dialogOptions = dialog.dialogOptions.copy(
dismissOnBackPress = dismissOnBackPress,
dismissOnClickOutside = dismissOnBackPress
)
}
Button(onClick = {
dismissOnBackPress = !dismissOnBackPress
}) {
Text(text = "Toggle Back Press!")
}
}

Last updated