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 NavigationMenuConfigs | Yes | emptyList() |
clientRegisters | List of NavigationMenuConfigs | Yes | emptyList() |
bottomSheetRegisters | NavigationBottomSheetRegisterConfig | No | null |