It is currently possible to use icons within the case list or case detail page. This page will go through the process of how to set this up.
View the introduction video for Case List Icons
To enable using icons in the case list, you first need to enable the ‘Icons in Case List’ feature preview. For more information on feature previews, please see this page.
From your project space, select the Gear in the top right hand corner.
Select Project Settings
On the left hand side, select ‘Feature Previews’
Check the ‘Icons in Case List’ checkbox to enable the feature preview.
Once you have enabled the feature preview, proceed to the case list for the module you would like to use icons for. Add a new property to the case list, then alter the format to “Icon (Preview!).”
Selecting ‘Edit’ will open a window where you can add images. Selecting ‘Add Image’ will display several fields where you can begin mapping your icons.
Upon selecting ‘Add Image,’ several buttons/fields should appear:
Calculation field: this field is used to set any values that you would like to use to display icons for. At this moment, it is only possible to use basic calculations and functions in this field.
To reference the property that you are configuring the icon for, use a ‘.’ (period). You can use #case for any other properties you would like to use.
More details provided in example below.
Upload: Selecting this button will allow you to upload the image you want to display for an icon
Set Path: You can use this field to define the path to the icon. This path is used to reference the icon elsewhere in the application. This also means you can use this field to reference any media that is already in use in your application, which can be found through the Multimedia Reference Checker. Simply copy and paste the path from that page, into this field.
The red button with a cross mark can be used to remove any icons.
Simple Icon Display
For the following example, we want to display an icon when a mother indicates that she is feeling sick. Let’s look at the case list and set up the following:
After adding the sick property and configuring the necessary fields, hit the ‘Edit’ button that appears below the format column of the sick property and configure our calculations and icons. Once the window appears, select ‘Add Image’ to begin setting up your icons. In the calculation field, let’s enter the calculation:
. = “yes”
After setting up the calculation, press “upload” to add your icon.
Now that this has been configured, be sure to save your changes. Once deployed to the phone, the case list will look like:
Varied Icon Display
For this example, we want to provide a visual indicator for how the field worker should prioritize visiting their cases. We will base what icons we display to the field worker on the following assumptions:
If the next visit for a mother is 2 or more days away, show a green icon.
If the next visit for a mother is within 2 days, show a yellow icon.
If the worker missed the visit, show a red icon.
In our application, next_visit is a defined case property that is set by the field worker at the time of their last visit. In the case list, we want to display the next visit date, as well as the icon as an easier visual indicator on who to visit. For the following calculations, we are assuming today's date is 12/5/2017 (May 5th, 2017).
Setup the following:
Now that we have that set up, we can begin configuring our icons. First, select edit under the Icon (Preview!) case property and begin setting up your icons.
. < today()
. <= (today() + 2)
. > (today() - 2)
Once that is setup, select OK and be sure to save your changes. You should now be ready to make a new version of your application and try it on a device!
As mentioned previously, the order in which you set up the calculations and display icons is very important. Calculations are triggered, and icons set, starting with the top of the list.
From our above example, moving the calculation for the Green icon to the top of the list can break our configuration and make it so the Yellow icon will never appear. The date is still 12/5/2017 (May 5th, 2017):
. > (today() - 2)
|. < today()||Red|
|. <= (today() + 2)|
To break down our calculations, the green icon appears whenever the next visit is greater than two days away. The yellow icon appears when the next visit is within 2 days. The green icon’s calculation actually encompasses the date range that we are setting for the yellow icon, so the calculation is not triggering. Therefore, we will always see a green icon for cases whose visit is 2 days away.
We can correct this by having the yellow icon calculation trigger first by making it first in the list, like what was done in the Varied Icon example. Any case within this range will have a yellow Icon set. The green icon will then be set for all other cases that did not have a yellow icon set.