ProcessMaker API Documentation
Script Central

Loop Control Settings

Add a Loop control that contains multiple controls that loop multiple times to allow the Request participant to enter multiple items, each of which requires multiple pieces of information.

Control Description

New Topic

This topic is new for ProcessMaker version 4.0.1. See the Release Notes.

Use the Loop control to contain one or more ProcessMaker Screen controls to duplicate the contained set of controls a specified number of times, thereby minimizing the design work to duplicate that set of controls in a Screen. Use the Loop control when the Request participant must enter multiple instances of the same set of information, each of which contain multiple components.

For example, use a Loop control when a university registrar's office must enter the following information for each new university student enrolling to the university:

Information

ProcessMaker Screen Control

First Name

Line Input control

Last Name

Line Input control

Age

Line Input control

Sex

Select List control

Housing Dormitory

Select List control

During the in-progress Request, the Loop control displays the set of controls contained in the Loop control a specified number of times so that the university registrar's office may enter the same information for each new student from one ProcessMaker Screen page. The Submit Button control to submit the ProcessMaker Screen must be placed outside of the Loop control. Otherwise, a Submit Button control displays in each set of controls placed into the Loop control.

Do not place another Loop control inside the first Loop control.

This control is not available for Display-type ProcessMaker Screens. See Screen Types.

Add the Control to a ProcessMaker Screen

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

  • Screens: Edit Screens

  • Screens: View Screens

See the ProcessMaker Screens permissions or ask your ProcessMaker Administrator for assistance.

Follow these steps to add this control to the ProcessMaker Screen:

  1. Create a new ProcessMaker Screen or click the Edit iconto edit the selected Screen. The ProcessMaker Screen is in Design mode.

  2. View the ProcessMaker Screen page to which to add the control.

  3. Locate the Loop iconin the panel to the left of the Screen Builder canvas.

  4. Drag the Loop icon into the Screen Builder canvas. Existing controls on the Screens Builder canvas adjust positioning based on where you drag the control.

  5. Place into the Screen Builder canvas where you want the control to display on the ProcessMaker Screen. Ensure that the control's placement accounts for the set of controls you intend to this control to contain.

  6. Configure the Loop control. See Settings.

  7. Drag and place the ProcessMaker Screen control(s) into the Loop control that you intend the Request participant to enter information each time the Loop control repeats. As a best practice, do not do the following:

    • Do not place a Submit Button control inside the Loop control.

    • Do not place another Loop control inside the first Loop control.

    See Control Description for an example.

  8. Configure each control placed into the Loop control.

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

Below is a Loop control in Preview mode.

Loop control containing two controls, repeating twice

Move the Control on the Page

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

  • Screens: Edit Screens

  • Screens: View Screens

See the ProcessMaker Screens permissions or ask your ProcessMaker Administrator for assistance.

After adding a control to a ProcessMaker Screen page, you may move it to another location on that page such that it is above or below other controls placed on that page. Consider when moving this control that it contains a set of controls that become duplicated during in-progress Requests. A control cannot be moved to another ProcessMaker Screen page.

Follow these steps to move a control to another location on that ProcessMaker Screen page:

  1. Place your cursor anywhere on the control not displaying the Duplicate Controlor Delete Controlbuttons.

  2. Hold your cursor, then drag the control above or below other controls on that ProcessMaker Screen page. Screen Builder previews where the control would display on the page based on how you position the control above or below other controls. If the control cannot be placed in a location because your cursor is above an existing control or too far to the left or right of the page, theicon displays in the preview.

  3. Place the control at the location on the page you want it. The other control(s) on the page automatically adjust position.

Copy the Control with its Settings

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

  • Screens: Edit Screens

  • Screens: View Screens

See the ProcessMaker Screens permissions or ask your ProcessMaker Administrator for assistance.

Copying a control also copies the current settings of that control. The copied control displays below other controls placed on that ProcessMaker Screen page.

As a best practice, after copying a control, change the Variable Name setting value for the copied control to its own unique variable value. Otherwise, in-progress Requests that use this ProcessMaker Screen read from and send data to both controls.

Follow these steps to copy a control:

  1. Select the control to be copied.

  2. Click the Duplicate Control button. The control copies with its current settings, and then displays below other controls placed on that page.

Delete the Control from a ProcessMaker Screen

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

  • Screens: Edit Screens

  • Screens: View Screens

See the ProcessMaker Screens permissions or ask your ProcessMaker Administrator for assistance.

Consider the following when deleting a configured Loop control:

  • Deleting a Loop control also deletes the controls placed into it.

  • Deleting a control also deletes configuration for that control. If you add another control, it will have default settings.

Follow these steps to delete a control from a ProcessMaker Screen page:

  1. Select the control to be deleted.

  2. Click the Delete button. The control deletes. Other controls on that ProcessMaker Screen page adjust their locations automatically.

Settings

Permissions Required

Your user account or group membership must have the following permissions to edit a ProcessMaker Screen control:

  • Screens: Edit Screens

  • Screens: View Screens

See the ProcessMaker Screens permissions or ask your ProcessMaker Administrator for assistance.

Topic Update

This topic is updated for ProcessMaker version 4.0.3 (see the Release Notes) since this control was introduced in ProcessMaker version 4.0.1 (see the Release Notes).

The Loop control has the following panels that contain settings:

Variable Panel Settings

Click the control while in Design mode, and then click the Variable panel that is on the right-side of the Screen Builder canvas.

Below is the setting for the Loop control in the Variable panel:

Variable Name

Edit the default Variable Name setting value for this control if necessary. The Variable Name setting value represents data in this control during Requests. Ensure that the Variable Name setting value is a unique name from other controls in this ProcessMaker Screen and contains at least one letter. This is a required setting.

Use the Variable Name setting value in the following ways:

  • Reference this control by its Variable Name setting's value. The Data Preview panel in Preview mode corresponds with the Loop control's Variable Name value. In the example below, LoopControl is the 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: {{ LoopControl }}.

  • Reference this value in Visibility Rule setting expressions.

Configuration Panel Settings

Click the control while in Design mode, and then click the Configuration panel that is on the right-side of the Screen Builder canvas.

Below are settings for the Loop control in the Configuration panel:

Default Loop Count

Enter the number of times to repeat the control(s) that the Loop control contains. 3 is the default value.

Allow Additional Loops

Select to allow additional loops during in-progress Requests if necessary.

If this setting is selected, then the Add Loop icondisplays below the looped container of controls that allows the Request participant to add a new loop for the Task.

Advanced Panel Settings

Click the control while in Design mode, and then click the Advanced panel that is on the right-side of the Screen Builder canvas.

Below are settings for the Loop control in the Advanced panel:

Visibility Rule

Specify an expression that indicates the condition(s) under which this control displays. See Expression Syntax Components for "Visibility Rule" Control Settings. If this setting does not have an expression, then this control displays by default.

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.

CSS Selector Name

Enter the value to represent this control in custom CSS syntax when in Custom CSS mode. As a best practice, use the same CSS Selector Name value on different controls of the same type to apply the same custom CSS style to all those controls.

Related Topics