Skip to main content

Navigation configuration

These configurations are used to control how to navigate between different screens in the app. Navigation happens mostly from the side menu (aka app drawer)

note

An application should only have one navigation configuration

Sample JSON

{
"appId": "map",
"configType": "navigation",
"menuActionButton": {
"id": "mainActionButton",
"visible": true,
"display": "{{ add.new.household }}",
"actions": [
{
"trigger": "ON_CLICK",
"workflow": "LAUNCH_QUESTIONNAIRE",
"id": "householdRegister",
"questionnaire": {
"id": "f210a832-857f-49e6-93f5-399eec4f4edb",
"title": "{{add.family}}",
"saveButtonText": "Add Household",
"setPractitionerDetails": true,
"setOrganizationDetails": true
}
}
]
},
"staticMenu": [
{
"id": "maps",
"visible": true,
"display": "Maps",
"actions": [
{
"trigger": "ON_CLICK",
"workflow": "LAUNCH_MAP",
"id": "householdRegistrationMap"
}
]
},
{
"id": "profile",
"visible": true,
"display": "{{ profile }}",
"actions": [
{
"trigger": "ON_CLICK",
"workflow": "LAUNCH_SETTINGS",
"id": "navigateToSettingsScreen"
}
]
}
],
"clientRegisters": [
{
"id": "householdRegister",
"display": "{{ all.households }}",
"icon": "",
"showCount": true,
"actions": [
{
"trigger": "ON_CLICK",
"workflow": "LAUNCH_REGISTER",
"id": "householdRegister"
},
{
"trigger": "ON_COUNT",
"id": "householdRegister"
}
]
}
]
}

Config properties

PropertyDescriptionRequiredDefault
appIdString - unique identifier for the applicationYes
configTypeString - type of configurationYesConfigType.Navigation.name
menuActionButtonNavigationMenuConfigNonull
staticMenuList of NavigationMenuConfigsYesemptyList()
clientRegistersList of NavigationMenuConfigsYesemptyList()
bottomSheetRegistersNavigationBottomSheetRegisterConfigNonull