Advanced Loops allow you to create a table within a table and capture more detailed information on list items from the first loop.
Advanced Loops
There are two main use cases for which the Advanced Loop comes in handy.
A primary list with an internal screen for additional details about items on the first loop.
An easy to visualize example is a moving company. When quoting a job, a mover would want to know how many rooms are in the house and the amount of furniture in each room. This is technically two lists where the second is dependent on the first. Without the first list, the furniture is not assigned to a room and without the second list, the movers won't know how many items are in a room.
As each house is different, loops give the initial flexibility to add as many room as is needed for a specific house and the nested loop allows for each room to not only have furniture listed but details about those pieces provided as well. Movers may need to know the dimensions or weight of specific furniture and a nested loop is the only clean way to manage this entire example.
A conditional screen triggered by information captured in the first list.
Conditions can hide or reveal an entire screen based on choices made in the previous screen. Let's say our moving company from above wants to note whether an item is damaged before they handled it to protect them from liability. But taking that additional step may only be needed a few times and would be a waste of time to bring the screen up for every item in the loop. A conditional screen would only be required should the mover note that a piece is already damaged.
Another example could be a home inspector that wants to capture unique information about each item that fails an inspection. They want to enter a description of the damage, actions to remedy it, and capture some pictures of it. If most items pass the inspection, the failed item screen only needs to show if you indicate that it has failed.
Create an Advanced Loop
Using the moving company scenario, let's make a loop screen with a single nested loop. For more information on specifically creating Loop Screens, visit the Help Center article, "How to Repeat a Screen in the Legacy Builder."
- Once in the Form Builder, select + Add Screen in the Form Outline and add a drop down field to the screen called "Room."
- Hover over the new screen in the Form Outline and select the Loop icon.
- On the Key Field select screen, toggle to the radio button for Use Existing Field and the drop down will default to the existing drop down field. Select Done to confirm.
- In the Form Outline, the screen name will reflect the name of the key field but this can be edited to something more specific, i.e. "Rooms and Furniture List."
- Select the internal screen, currently labelled "New Screen #," and add another drop down field called "Furniture Piece" to the center workspace.
- Hover over that screen in the Form Outline and select the loop icon and select Use Existing Field again.
- Select the screen that is nested within "Furniture Piece" and give it a name, i.e. "Furniture Details."
- Add any fields that you would like to add further context to the furniture piece that has been selected within that room.
The mobile user will interact with the Advanced Loop similarly to how they interact with a regular loop, but they will complete all furniture pieces associated with a room before returning all the way back to the first screen to choose the next room.
Please Be Aware
Before implementing advanced loops in your form, please note that advanced loops are not compatible with the PDF Designer due to their complexity. If you already have a designed PDF, any existing loop converted to an advanced loop will no longer work. If you still need an advanced loop, either use the Standard PDF or contact our Client Engagement Services team to learn more about Custom PDF.
To learn more about GoCanvas Client Engagement Services, please contact your GoCanvas Customer Success Manager, Account Manager, Account Executive, or submit a ticket to support.
Did we answer your question?
Please let us know by voting below. All we ask is if you downvote, please let us know how the content can be improved in the comments!
Comments
0 commentsPlease sign in to leave a comment.