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
Property | Description | Required | Default |
---|---|---|---|
appId | String - unique identifier for the application | Yes | |
configType | String - type of configuration | Yes | ConfigType.Navigation.name |
menuActionButton | NavigationMenuConfig | No | null |
staticMenu | List of NavigationMenuConfig s | Yes | emptyList() |
clientRegisters | List of NavigationMenuConfig s | Yes | emptyList() |
bottomSheetRegisters | NavigationBottomSheetRegisterConfig | No | null |