Multi-Select Dropdown Component

Estimated Reading Time:  8 minutes

Overview

The Multi-Select Dropdown component is a compact way to show a long list to your end-user End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product.. The Multi-Select Dropdown component shares almost all functionality with the standard Dropdown component. But, the Multi-Select component lets your end-user make more than one selection.

Though the Checkboxes component offers similar functionality, some scenarios need a Multi-Select Dropdown component. For example, if you have more than six options or don't want your full list of options shown on the page at all times, you can use the Multi-Select Dropdown component instead.

Examples of when to use a Multi-Select Dropdown component are:

  • Which countries have you visited in the last five years? Select all that apply.

  • Which of these products are you interested in? Select all that apply.

This component also allows for custom styling. The standard Dropdown component relies on your end-user's operating system OS (operating system) is the program that manages other application programs on your computer. to determine the visual look and feel.

The amount of data in your Multi-Select Dropdown can vary from a lot to a little. So, you have a few internal and external options for how to fill it:

NOTE  External data retrieved from an API must be a table array of JSON objects.

The Multi-Select Dropdown component is located in the Primary Fields group to the left of the Module Builder.

What You'll Learn

After completing this article, you’ll know when to use a Multi-Select Dropdown component, how to configure its settings, and how to use it in an Unqork application.

About the Configuration Window

TIP  To learn more about general component settings and those that display when a component is associated with Data Models, view our General Component Settings article.

Display Panel

A static image dispaying the Multi-Select Dropdown component's Display settings.

Field Text

Setting

Description

Label Text

Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field.

User-friendly labels make your module more accessible. Keep labels short and descriptive (a word or two) using title case. For longer entries, use sentence case.

Placeholder Text

A short prompt telling end-users the expected value of an input field. For example: Enter your Social Security Number. Placeholder Text displays inside the input field until the end-user begins an entry.

Default State Options

Setting

Description

Read Only View

When set to (ON), the component is display-only. If another component pushes content to the field, the end-user sees that content. Otherwise, end-users see the word None.

By default, the Read Only View toggle is set to (OFF).

Disable User Input

When set to (ON), end-users can’t interact with or edit the Express View's input field or element. When end-users hover over the field, their cursor changes to alert them to the status change.

By default, the Disable User Input toggle is set to (OFF).

Hide Field

Shows or hides the component from view. Setting the Hide Field toggle to (ON) hides the component in Express View. Setting the toggle to (OFF) shows the component. The component is always visible in the Module Builder.

By default, the Hide Field toggle is set to (OFF).

Contextual Help

Setting

Description

Tooltip

A short hint that displays when an end-user positions their cursor over the Questionmark Icon (Tooltip) icon. Tooltips can display across more than one line.

Formatting

Setting

Description

Allow Multiple Selections

Setting the Use Input Mask toggle to (ON) makes the Input Mask and Format Data With Mask options available. Setting the toggle to (OFF) hides these options from view.

By default, the Use Input Mask toggle is set to (OFF).

Show Clear Button

When set to (ON), a Clear button displays after an end-user selects one or more options. The Clear button removes whatever selection(s) your end-user made.

By default, the Show Clear Button toggle is set to (OFF).

Hide Chevron

When set to (ON), the arrow (Chevron) to the right side of the Multi-Select Dropdown is hidden.

By default, the Hide Chevron toggle is set to (OFF).

Set Dropdown Menu Height

Sets the number of rows the Multi-Select Dropdown displays when open. If there are more options than the number entered here, your end-user can scroll to view them all. Or, they can type to jump to relevant results.

Item Template

This setting lets you choose which column of data you want to display as the label for the drop-down options. Replace the word label with your chosen attribute in the following string: <span>{{ item.label }}</span>.

Data Panel

A static image dispaying the Multi-Select Dropdown component's Data settings.

Data Source Types

There are three methods you can use to populate a Multi-Select Dropdown component: Values, URL, and Data Reference Key.

Values

Selecting Values displays a table where you can enter each option and its value.

Setting

Description

Option Label

Each option needs an end-user End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product.-facing label describing the choice that it represents. Enter your Option Labels using this column.

After you create an option, another row displays for you to create the next option.

Data Source Values

Each option needs an associated value to store in the submission data Also known as Record Data. Submission data consists of information saved by Unqork components. View submission data by using the angular command, or in Record Collections.. Enter the values to store in the submission data using this column. 

By default, the value is a camelcase A naming convention for computer programming. Use camelCase for Property IDs, for example: newUser, lastName, & rdoButton. version of the Option Label. You can also assign a numeric value to each option for logic-based configurations.

URL

To use data not stored in a specific component, select URL. Generally, this data lives in two places:

  • External to Unqork and pulled into the component using an external API call.

  • Internally and stored as a data collection.

NOTE  To use an external API call, reference the provider's documentation. You'll find the API's URL address and the information you need to filter the data. To learn more, see our Using an External API in a Dropdown Component article.

To reference data collections in Unqork, use the Data Collection Icon Data Collections tab at the Application Level. Click Create Data Collection to create a new data collection. Or, look through the available data collections and use one of those.

TIP  To learn more about data collections, see our Workspaces: Working with Reference Data article.

Setting

Description

Request Header

Enter the information to display in the drop-down selections. These are your end-user's options. For external APIs, you'll find this information in the API documentation. To pull data from a Data Collection, enter the column header you want to use.

Header Values

Each option needs an associated value to store in the submission data Also known as Record Data. Submission data consists of information saved by Unqork components. View submission data by using the angular command, or in Record Collections.. Enter the values to store in the submission data using this column. If you want the value to be the same as the label, enter the same information you put in the Request Header.

By default, the value is a camelcase A naming convention for computer programming. Use camelCase for Property IDs, for example: newUser, lastName, & rdoButton. version of the Request Header. You can also assign a numeric value to each option for logic-based configurations.

Service

Select an external service configured through Unqork's Services Administration. This auto-populates the other required fields, including the Data Source URL.

Data Source URL

For an API to bring in data, you need the API's URL information. In this field, enter the API information as obtained from the API documentation. Add additional filters at the end of the URL if you want to drill down to a specific type of data.

Value Property

If a data set includes a column for values, enter the column's name here.

If not specified, the application uses the option label.

Data Path

If using an API call to populate the component, enter a specific data property to reference here. This is useful if you want to show one piece of a larger data set in your Multi-Select Dropdown component.

Label Path

This field refers to the option labels you want to pull. Enter the option label's column header in this field.

Filter Query

Provide additional filtering using query parameters. Parameters append to the end of the Data Source URL. Query parameters can be static or dynamic. For example, name={{data.groupName}}.

Search Query Name

The name of the search query string parameter used when sending a request to filter results. The server at the specified URL must support this query parameter.

Refresh On

This field displays a list of the other components in your module. You can select a component here to refresh your Multi-Select Dropdown. When your end-user interacts with the selected component, the Multi-Select Dropdown resets.

You can also select Any Change. This refreshes the Multi-Select Dropdown if your end-user interacts with any of your components.

Refresh Delay

Works with the Refresh On setting to set the number of milliseconds that pass before refresh. Once typing has finished, the delay begins.

The component has a minimum Refresh Delay of 250 ms, which is the default for this field.

Limit Number of Items

Limits the number of matching responses when working with large data sets. For example, an API might return more responses than you want to display, even when your end-user starts typing. Here, you can set a limit on how many results display.

Disable Limiting Response

When set to Toggle On Icon (ON), the request won't include the limit and skip options in the query string.

By default, this setting is Toggle Off Icon (OFF).

Search Parameters are Required

When set to Toggle On Icon (ON), search parameters must be present to execute the search.

By default, this setting is Toggle Off Icon (OFF).

Clear Value on Refresh

When set to Toggle On Icon (ON), the selected value is cleared after the Refresh On setting triggers.

By default, this setting is Toggle Off Icon (OFF).

Authenticate

When set to Toggle On Icon (ON), authentication headers from the application are sent to the Data Source URL destination.

By default, this setting is Toggle Off Icon (OFF).

Disable Filter Application

When set to Toggle On Icon (ON), filter parameters are not applied.

By default, this setting is Toggle Off Icon (OFF).

Data Reference Key

Using the Data Reference Key option, data from another component populates the Multi-Select Dropdown component. You'll most often do this with a Data Table component. Add your data to the Data Table. Then, reference the Data Table in your Multi-Select Dropdown's configuration window.

Think of this as a hybrid option of Values and Data Collections to populate your Multi-Select Dropdown. You still use data stored in Unqork, but it's data from your module instead of a Data Collection.

Setting

Description

Data Reference Key

Enter the Property ID  of the component whose data you're referencing.

Limit Number of Items

Limits the number of matching responses when working with large data sets. For example, an API might return more responses than you want to show. Here, you can set a limit on how many results display.

Refresh On

This field displays a list of the other components in your module. You can select a component here to cause your Dropdown to refresh. When your end-user interacts with the selected component, the Dropdown resets.

Here, you can also select Any Change. This refreshes the Dropdown if your end-user interacts with any of your components.

Data Storage

Setting

Description

Store Data in Database

The Store Data in Database setting affects how data persists through your application. When set to (ON), Unqork stores values entered into the field to the database (server-side submission). This occurs in three scenarios:

  • Navigating between Panels in a Navigation component. On navigation between pages (Panels), the component’s value saves to the database.

  • Triggering a module save event using a Button component with an Action Type of Save.

  • Navigating between screens of a workflow. On navigation between screens, the component’s value saves to the database.

NOTE  By default, workflows persist data from all fields in the client-side submission when navigating between screens. However, only values from fields with Store Data in Database enabled store in the server-side submission.

Set the toggle to (OFF) when you don’t want to store the values from this field in the database.

NOTE  When using a Plug-In to remote execute a module, ensure data moving between modules is persistent. You can optionally enable Store Data in Database for components in the source module. But any components in the API module whose values are included in an API response must have Store Data in Database enabled. When a component’s data is not persistent, the data isn't included in an API call's response. So, Plug-Ins or external services requesting data from the API module can't receive non-persistent data in the response. To learn more about Store Data in Database in the context of API modules, see the panelResponse Panel section of the API Specification Snippet article in our In-Product Help.

TIP  Store Data in Database also affects what data is tracked using Unqork’s built-in tracker. When the Enable Tracker and Track Value toggles are set to Toggle On Icon (ON) in Module Settings, only values from fields with Store Data in Database enabled are tracked.

Actions Panel

A static image dispaying the Multi-Select Dropdown component's Actions settings.

Triggers

Setting

Description

Trigger

To set up a trigger, enter the Property ID of your chosen logic component into this field. When the end-user performs an action on the current component, the triggered component fires.

Validation Panel

A static image dispaying the Multi-Select Dropdown component's Validation settings.

User Input

Setting

Description

Required

When set to (ON), the end user must enter a value in the component's visible fields. Set the toggle to (OFF) when an entry is optional.

By default, the Required toggle is set to (OFF).

Required Error Message

A custom error message that displays below a required field. The error message displays when the end-user tries to save or submit the module without completing the required field.

Advanced Panel

A static image dispaying the Multi-Select Dropdown component's Advanced settings.

Additional Validation Options

Setting

Description

Require Unique Submission Data

When set to (ON), the data submitted for this field must be unique and not submitted before.

By default, the Require Unique Submission Data toggle is set to (OFF).

Don't Allow Unique Values

When set to (OFF), your end-user can enter a custom value in the Dropdown field. This custom value saves and stores, even if the input doesn’t match existing values in the Dropdown. When set to (ON), your end-user can only select an existing value from the Dropdown.

By default, the Don't Allow Unique Values toggle is set to (OFF).

Additional Styling

Setting

Description

Custom CSS Class

Enter a Custom CSS Cascading Style Sheets (CSS) is a style sheet language used for presenting how a HTML or XML document looks to end-users. Class to apply to your component. Custom CSS lets you maintain a consistent look and feel when the field or element is part of a template or multiple modules.

Updated CSS styling applies to all components that reference this custom class name.

Adding a Multi-Select Dropdown Component

Let's configure a Multi-Select Dropdown component referencing a Data Table. Use the Multi-Select Dropdown to ask your end-user which vehicles they own.

For this configuration, you need:

  • 1 Data Table component

  • 1 Multi-Select Dropdown component

Configure the Data Table Component

First, configure your Data Table component. This Data Table supplies the vehicle labels and values for your Multi-Select Dropdown. Then, configure the Multi-Select Dropdown to pull that data and display it. These instructions assume that you have an open module saved with a title.

1. In the Module Builder, drag and drop a Dropdown Component Icon Data Table component onto your canvas.
2. In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. and Canvas Label Text fields, enter dtVehicles.
3. In the data table, enter the following: 
  A B

1

label

value

2

Sedan

sedan

3

Coupe

coupe

4

SUV

suv

5

Truck

truck

6

Motorcycle

motorcycle

7

Tractor

tractor

8

Horse and Buggy

horseAndBuggy

NOTE  As a best practice, enter column titles in lowercase, with no breaks or special characters.

A static image displaying the Data Table component's configuration window. The data table list displays several types of vehicles.

4. Click Save & Close.

Configure the Multi-Select Dropdown Component

Next, add a Multi-Select Dropdown component. Configure this component to reference the Data Table you just added.

1. Drag and drop a Text Field Component Icon Multi-Select Dropdown component onto your canvas, placing it below the dtVehicles Dropdown Component Icon Data Table.
2. In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. field, enter vehicles.
3. In the Label Text Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. field, enter Vehicles.
4. From the Data Source Type options, select Data Reference Key.
5. In the Data Reference Key field, enter dtVehicles. This refers to the Property ID of your dtVehicles Dropdown Component Icon Data Table component.

A static image displaying the Multi-Select Dropdown component's Data configuration settings. The Data Source Type is set to Data Reference Key and the Data Reference Key dropdown is set to dtVehicles.

6. Click Save & Close.
7. Save your module.

Once implemented, here's how your Multi-Select Dropdown component displays in Express View Express View is how your end-user views you application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View.:

Structure of a Multi-Select Dropdown Component's Data

The Multi-Select Dropdown component's data stores in a key/value format. In the above example, the vehicles Text Field Component Icon Multi-Select Dropdown component stores the tractor value from the dtVehicles Dropdown Component Icon Data Table component.

A static image displaying the angular inspection data. The vehicles Multi-Select component is highlighted, and the data from the end-user is collected inside of it.

Resources