I recently wanted to add a more visually appealing and user-friendly way to add navigation to my flows. The goal was to allow end-users to select an option quickly, and the flow automatically navigates to the next screen. I used a picklist in the past, but that resulted in extra clicks.
Benefits over a picklist
Come on, it just looks better!
Fewer clicks (1 click vs 3 clicks)
Faster!
Very flexible.
Inputs
Collection - Label - The labels used for each of the buttons
Collection - SubLabel - The sub-labels used for each of the buttons.
Collection - Value - The values used for each of the buttons.
Collection - Icons - The icons used for each of the buttons.
Show Icons? - A boolean to show the icons. The default is false.
Show SubLabels? - A boolean to show the icons. The default is false.
Icon Size - The size of the icon. Options include xx-small, x-small, small, medium, or large. The default is medium.
Required - A boolean to determine if a selection is required to go to the next screen.
Enable Auto Next - If enabled the screen will automatically transition to the next element. Please note there is an accessibility impact when enabling this option. If a user utilizes a keyboard or screen reader that will be unable to get to any other choice but the first.
Please Note
Collection - Label , Collection - SubLabel , Collection - Value and Collection - Icons are required. If you do not plan to use SubLabels or Icons just input the string collection you are utilizing for Collection - Label.
Outputs
Label - Output the selected label
SubLabel - Output the selected sub-label
Value - Output the selected value
Unique - Output the selected value + its index #
This component allows you to out the selected label, sublabel, and value. Therefore, you will be able to use the outputs on a decision element for navigation!
How to generate the menu
Create a text variable that allows multiple values (collection). You will need one for labels, sub-labels, icons, and values.
Then use an assignment element to add values to the collection
You can also combine this with Extract Strings From Collection from unofficialsf.com. Imagine searching for Contacts and then visually displaying the results to the end-user.
I hope this component adds value to your visual flows! Visual Nav is a lightning web component. Therefore, if you haven't created a Lightning Web Component previously I would recommend completing the following Trailhead: Build Lightning Web Components
getting error while deploymenyt .. The 'outputLabel' property doesn't exist on the component
Justin, I added the ability to adjust the menu size. Please see: https://www.professorflow.com/post/updated-visual-menu
Justin, that is a good idea. I will look into adding custom sizes.
I aboslutely love this component, so thank you very much for it!
Is there any chance of having support for tile sizes added? I like being able to specify the icon sizes, but having the ability to change the size of the tiles would be like game changing for me.
It does not currently support automatic pagination. It is on my list of features to figure out. It does use lightning layout so it should start wrapping to the next row for larger list. However, if you want to limit the number of records to show at once I would recommend doing manual pagination with your flow. For example, I made "Show More" an option, and then used a decision to add and remove additional menu options.