Record List Control

Add a control from which the Request participant can insert several values in a list.

Control Description

The Record List control functions differently in Form- and Display-type Screens:

This control is available for the following Screen types:

  • Display type

  • Email type

  • Form type

See Screen Types.

Form-Type Screen Usage

Configuration Description

In the Form-type Screen, the Record List control records a record list. The record list is composed of multiple records, of which the Request participant enters data components for each record. The controls used to record each record's data components are designed in a second page of the same Screen containing the Record List control. The page that records the data components of each record cannot be on the same page as the Record List control.

When configuring the Record List control, specify how the record list displays information after the control has recorded each record for the list:

  • Column Headers: Specify each column header that represents the data components for each record. For example, label a column header First Name to indicate that this data component displays each person's first name for each record in the list.

  • Values: For each specified column header, reference the Variable Name setting value for the control on the second page that receives a data component for each record corresponding with each column header. For example, use a Line Input control with a Variable Name setting value of LineInputFirstName to receive each person's first name for each record in the list, and then associate that LineInputFirstName value with the First Name column.

After configuring the columns for the record list, sort the order in which they are to display in the record list.

Alternatively, use JSON format to configure the columns and their corresponding Variable Name setting values in their respective order to display in the Record List control.

Optionally, values can be edited after the Request participant initially enters the record(s) in the record list. However, after the Request participant submits the Screen, the record list cannot be changed.

Experience Description

Expect a similar experience as a Request participant when using a properly configured Record List control during a Request as follows:

  1. Enter information for each data component for the record.

  2. Click the OK button and ignore the Submit control.

  3. Submit the Screen to save the record list in the Request. After the Task is submitted, the record list cannot be changed.

Display-Type Screen Usage

Configuration Description

In the Display-type Screen, the Record List control displays a record list previously entered into a Form-type Screen in a previous Task of that Request.

When configuring the Record List control, specify how the record list displays information in the Display-type Screen:

  • Column Headers: Specify each column header that represents the data components for each record in the list. For example, if the record list had recorded first names, then label a column header First Name.

  • Values: For each specified column header, reference the Variable Name setting value for the control that corresponds with that specified column header's record data component. To do so, open the Screen that contains the Record List control that recorded the list, then locate the control that corresponds with the specified column header's record data component. For example, if a Line Input control with a Variable Name setting value of LineInputFirstName is used to record each person's first name for each record in the list, associate that LineInputFirstName with the specified First Name column header.

  • Repeat this procedure for each column header and its corresponding control that received a record data component for the record list. Make note of each control's Variable Name setting value, as you must provide this same value when configuring each column header in the record list.

After configuring the column headers for the record list, sort the order in which they are to display in the record list.

Alternatively, use JSON format to configure the column headers and their corresponding Variable Name setting values in their respective order to display in the Record List control.

Experience Description

After opening a Task or Manual Task with a Display-type Screen using a Record List control, the record list displays each record as entered in a Form-type Screen in a previous Task of that Request.

Use the _parent JSON Key to Reference Request Data from Controls in a Record List Control

The Record List control uses a unique JSON key available to any control placed into the secondary page from which the Record List control references its values so that those controls can reference Request data. Controls that are placed into that secondary page function within a container and may only access another control's data that is in the same secondary page. Use the _parent JSON key in a control's settings placed into the secondary page to reference Request data outside of that Record List control.

The _parent JSON key only applies to controls placed into a Record List control or Loop control.

Consider the following examples:

  • A Line Input control placed into the secondary page requires a default value to display from another Line Input control used during that Request of which its Variable Name setting is Line_Input_Data. From the Line Input control placed into the secondary page, enter the following into the Default Value setting: {{ _parent.Line_Input_Data }}.

  • A Select List control placed within the secondary page requires its options to display from another Select List control's options used during that Request of which its Variable Name setting is Select_List_Options. While configuring the Select List control placed into the secondary page to use Request data as its data source, enter the following into the Options Variable setting: {{ _parent.Select_List_Options }}.

Add the Control to a Screen

Permissions

Your user account or group membership must have the following permissions to design a Screen unless your user account has the Make this user a Super Admin setting selected:

  • Screens: Edit Screens

  • Screens: View Screens

See the Screens permissions or ask your Administrator for assistance.

Follow these steps to add this control to the Screen:

  1. Do one of the following depending on whether you are using the Record List control on a Form- or Display-type Screen:

    Form-type Screen:

    1. Create a new page in this Screen. Use this page to design how the Request participant enters data that the Record List control records. The page that records the submitted records cannot be on the same page as the Record List control. See Add a New Page to a Screen.

    2. On the new page, design the form using controls from which the Request participant enters the data component that the Record List control receives for each record. In each of the controls that receive a data component for each record, make note of the Variable Name setting values for each control; these values correspond with how the Record List control displays the record list in the Value parameter for each column. Do not place a Submit Button control on the new page; otherwise, the Task cannot be submitted during a Request.

    3. Configure each of the controls placed on the new page. If a control placed into this page requires to use Request data, use the parent JSON key. See Use the parent JSON Key to Reference Request Data from Controls in a Loop Control.

    4. Return to the page that the Record List control is placed, and then configure the Record List control. See Settings. Ensure to add a Submit Button or Page Navigation control on the page containing the Record List control so that the Task can be submitted after all records have been added to the record list during a Request.

    Display-type Screen:

    1. Configure the Record List control. See Settings.

  2. Validate that the control is configured correctly. See Validate Your Screen.

Example

Consider the following example how to use a Record List control in a Form-type Screen. Configure a Record List control to record the following data components about registrars for a conference. The table below shows how the Record List control displays the record list. Configuring each column and the Variable Name setting value for each control that records the data component that displays in that column is the same for both Form- and Display-type Screens.

On a second page in the same Screen, use Screen controls for Request participants to enter data components for each record. Ensure the following:

  • The Record List control references the specified controls on the second page. The controls that receive the record data components cannot be on the same page as the Record List control.

  • In each of the controls that receives a data component for each record, make note of the Variable Name setting values for each control; these values correspond with how the Record List control displays the record list in the Value parameter for each column. This setting is in the Columns panel. See Settings.

The following table outlines how to configure the Column Header and Value settings for each column in the Record List control for this example.

Control Type

Control's "Variable Name" Value

Record List "Column Header" Value

Record List "Value" Value

What It Represents

Line Input

firstname

First Name

firstname

Registrar's first name

Line Input

lastname

Last Name

lastname

Registrar's last name

Line Input

email

Email Address

email

Registrar's email address

Select

confirmation

Confirmation

confirmation

Attendance confirmation

The following image shows the Column Header and Value setting values in the Record List control to reference the Line Input control with the Variable Name setting value of firstname.

The following image shows the column configuration for the Record List control. See Settings for the Record List control setting descriptions.

Below is the secondary page in Preview mode for each conference attendee to enter a record.

Form-Type Screen Settings

The Record List control has the following configurable settings in the Properties Panel for Form-type Screens:

Variable Panel Settings

Expand the Variable panel from the Properties Panel on the right to configure the following properties:

Variable Name

Use the Variable Name setting value in the following ways:

  • Reference this control by its Variable Name setting's value.

  • Reference this control's value in a different Screen Builder control. To do so, use mustache syntax and reference this control's Variable Name value in the target control. Example: {{ form_record_list_1 }}.

  • Reference this value in Visibility Rule setting expressions.

See best practices when editing a Request variable name.

List Label

Configuration Panel Settings

Expand the Configuration panel from the Properties Panel on the right to configure the following properties:

Editable?
Record Form

The following message displays if no additional pages exist in this Screen from which to reference other controls: No Data Available.

Columns Panel Settings

Expand the Columns panel from the Properties Panel on the right.

See the following procedures how to configure the column header(s) that display the record list data and from which control(s) on the additional page in this Screen to reference data components of each record for this control.

Add a Column to This Record List Control

Follow these steps to add a column to this control:

  1. Ensure that the Edit as Options List option displays. If the Edit as JSON option displays, click the Edit as Option List option.

  2. In the Column Header setting, enter the column header label that displays in the record list. This column header represents a data component for each record in the record list.

  3. In the Value setting, enter the Variable Name setting value for the control on the second page of this Screen that receives a data component for each record that corresponds with this column header. For example, use a Line Input control with a Variable Name setting value of LineInputFirstName to receive each person's first name for each record in the list, and then associate that LineInputFirstName value with a column header labeled First Name.

Edit a Column Configuration in This Record List control

Follow these steps to add a column to this control:

  1. Ensure that the Column list label displays. If the JSON Data option displays, click the Edit as Option List option.

  2. In the Column Header setting, edit the column header label that displays in the record list as necessary. This column header represents a data component for each record in the record list.

  3. In the Value setting, edit the Variable Name setting value for the control on the second page of this Screen that receives a data component for each record that corresponds with this column header as necessary. For example, use a Line Input control with a Variable Name setting value of LineInputFirstName to receive each person's first name for each record in the list, and then associate that LineInputFirstName value with a column header labeled First Name.

  4. Click Update. The edited column displays below the Column list label.

Delete a Column from This Record List Control

Follow these steps to delete a column from in this control:

  1. Ensure that the Column list label displays. If the JSON Data option displays, click the Edit as Option List option.

  2. Click Delete.

Sort the Order of the Options

Follow these steps to sort the order of the columns that display in this control:

  1. Ensure that the Column list label displays. If the JSON Data option displays, click the Edit as Option List option.

Design Panel Settings

Expand the Design panel from the Properties Panel on the right to configure the following properties:

Text Color
Background Color

Advanced Panel Settings

Expand the Advanced panel from the Properties Panel on the right to configure the following properties:

Visibility Rule

For example, this control displays if the variable value tip is 1. For a detailed example of the Visibility Rule setting, see Show or Hide Controls Based on Button Selection.

Note the following regarding how to use visibility rules:

  • To make this control hidden until another control contains a value, enter the Variable Name setting value of that control to this control's Visibility Rule setting.

  • Do not to use visibility rules with Email-type Screens. Some email clients that do not render natively from a web browser, such as Microsoft Outlook or Mozilla Thunderbird for the desktop, alter the HTML during rendering and may break visibility rules.

Device Visibility

Select on which device types this control displays:

  • Desktop: The control displays only on desktop devices. Enable the Show for Desktop toggle key.

  • Mobile: The control displays only on mobile devices. Enable the Show for Mobile toggle key.

CSS Selector Name

Then, use this name in the Custom CSS feature to apply CSS styling to this control as follows:

[selector='Submit Form'] {
    color: blueviolet;
}

See the following best practices regarding custom CSS in Screens:

Display-Type Screen Settings

The Record List control has the following configurable settings in the Properties Panel for Display-type Screens:

Variable Panel Settings

Expand the Variable panel from the Properties Panel on the right to configure the following properties:

Variable Name

Use the Variable Name setting value in the following ways:

  • Reference this control by its Variable Name setting's value.

  • Reference this control's value in a different Screen Builder control. To do so, use mustache syntax and reference this control's Variable Name value in the target control. Example: {{ RecordListControl }}.

  • Reference this value in Visibility Rule setting expressions.

See best practices when editing a Request variable name.

List Label

Columns Panel Settings

Follow these steps before configuring columns in this Record List control:

  1. Save setting configurations in this Record List control if necessary.

  2. While in Design mode, open the Screen that contains the Record List control that recorded the list.

  3. Locate each control that corresponds with each specified column header. Each of these controls received a record data component when the record list was recorded in a Request. Make note of each control's Variable Name setting value, as you must provide this same value when configuring each column header in this Record List control.

Expand the Columns panel from the Properties Panel on the right.

See the following procedures how to configure the column header(s) that display the record list data and from which control(s) on the additional page in this Screen to reference data components of each record for this control.

Add a Column to This Record List Control

Follow these steps to add a column to this control:

  1. Ensure that the Column list label displays. If the JSON Data option displays, click the Edit as Option List option.

  2. In the Column Header setting, enter the column header label that displays in the record list. This column header represents a data component for each record in the record list.

  3. In the Value setting, enter the Variable Name setting value for the control on the second page of this Screen that receives a data component for each record that corresponds with this column header. For example, use a Line Input control with a Variable Name setting value of LineInputFirstName to receive each person's first name for each record in the list, and then associate that LineInputFirstName value with a column header labeled First Name.

Edit a Column Configuration in This Record List control

Follow these steps to add a column to this control:

  1. Ensure that the Column list label displays. If the JSON Data option displays, click the Edit as Option List option.

  2. In the Column Header setting, edit the column header label that displays in the record list as necessary. This column header represents a data component for each record in the record list.

  3. In the Value setting, edit the Variable Name setting value for the control on the second page of this Screen that receives a data component for each record that corresponds with this column header as necessary. For example, use a Line Input control with a Variable Name setting value of LineInputFirstName to receive each person's first name for each record in the list, and then associate that LineInputFirstName value with a column header labeled First Name.

  4. Click Update. The edited column displays below the Column list label.

Delete a Column from This Record List Control

Follow these steps to delete a column from in this control:

  1. Ensure that the Column list label displays. If the JSON Data option displays, click the Edit as Option List option.

  2. Click Delete.

Sort the Order of the Options

Follow these steps to sort the order of the columns that display in this control:

  1. Ensure that the Column list label displays. If the JSON Data option displays, click the Edit as Option List option.

Design Panel Settings

Expand the Design panel from the Properties Panel on the right to configure the following properties:

Text Color
Background Color

Advanced Panel Settings

Expand the Advanced panel from the Properties Panel on the right to configure the following properties:

Visibility Rule

For example, this control displays if the variable value tip is 1. For a detailed example of the Visibility Rule setting, see Show or Hide Controls Based on Button Selection.

Note the following regarding how to use visibility rules:

  • To make this control hidden until another control contains a value, enter the Variable Name setting value of that control to this control's Visibility Rule setting.

  • Do not to use visibility rules with Email-type Screens. Some email clients that do not render natively from a web browser, such as Microsoft Outlook or Mozilla Thunderbird for the desktop, alter the HTML during rendering and may break visibility rules.

Device Visibility

Select on which device types this control displays:

  • Desktop: The control displays only on desktop devices. Enable the Show for Desktop toggle key.

  • Mobile: The control displays only on mobile devices. Enable the Show for Mobile toggle key.

CSS Selector Name

Then, use this name in the Custom CSS feature to apply CSS styling to this control as follows:

[selector='Submit Form'] {
    color: blueviolet;
}

See the following best practices regarding custom CSS in Screens:

Last updated

Logo

© 2024 ProcessMaker, Inc. All Rights Reserved. Except as otherwise permitted by ProcessMaker, this publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.