From a27133ad34ab0f02a9daade2f17e46c8204e7a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Sun, 4 Aug 2024 14:58:07 -0400 Subject: [PATCH] add isCheckable from state prop --- android/src/main/java/com/reactnativemenu/MenuView.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/android/src/main/java/com/reactnativemenu/MenuView.kt b/android/src/main/java/com/reactnativemenu/MenuView.kt index d30534e4..27c03c89 100644 --- a/android/src/main/java/com/reactnativemenu/MenuView.kt +++ b/android/src/main/java/com/reactnativemenu/MenuView.kt @@ -98,6 +98,7 @@ class MenuView(private val mContext: ReactContext): ReactViewGroup(mContext) { true -> config.getArray("subactions") else -> null } + val menuState = config?.getString("state") if (titleColor != null) { menuItem.title = getMenuItemTextWithColor(menuItem.title.toString(), titleColor) @@ -153,6 +154,15 @@ class MenuView(private val mContext: ReactContext): ReactViewGroup(mContext) { } } + // Handle menuState for checkable items + when (menuState) { + "on", "off" -> { + menuItem.isCheckable = true + menuItem.isChecked = menuState == "on" + } + else -> menuItem.isCheckable = false + } + // On Android SubMenu cannot contain another SubMenu, so even if there are subactions provided // we are checking if item has submenu (which will occur only for 1 lvl nesting) if (subactions != null && menuItem.hasSubMenu()) {