Use the Nested Screen control to nest a separate ProcessMaker Screen into that control. In doing so, the separate ProcessMaker Screen embeds into the Nested Screen control. The Nested Screen control is a placeholder for the embedded ProcessMaker Screen such that the Request participant experiences the nested Screen as designed. The nested ProcessMaker Screen must be in the same ProcessMaker instance as that using the Nested Screen control. When the Task loads the ProcessMaker Screen using a Nested Screen control, the Nested Screen loads the latest version of the referenced Screen.
The ProcessMaker Screen containing the Nested Screen control is the parent Screen. The ProcessMaker Screen that is nested is the child Screen.
During an in-progress Requests, both Request and Magic Variable data pass to a child Screen when it displays within the parent Screen. Furthermore, information that is entered into a child ProcessMaker Screen displays in Request summaries that use the parent Screen.
A nested ProcessMaker Screen has the following attributes that vary from how it may have been designed:
CSS takes precedent: Any CSS designed in Custom CSS mode in the parent ProcessMaker Screen takes precedent over any CSS designed in the child (nested) Screens. The Request participant experiences one design experience without a variety of design styles.
Submit Button control in nested ProcessMaker Screens is hidden: During in-progress Requests, the Submit Button control is hidden in child ProcessMaker Screens so that the Request participant uses the parent Screen's Submit Button control to submit the Task.
Two ProcessMaker Screens cannot reference each other indefinitely: A child ProcessMaker Screen that has already displayed within a parent ProcessMaker Screen cannot display again in the same Request. This prevents an infinite loop whereby two ProcessMaker Screens using Nested Screen controls reference each other indefinitely.
Any ProcessMaker Screen type may be selected for nesting into a Nested Screen control, including multi-page Screens. However, only Form- and Display-type ProcessMaker Screens preview in either Design or Preview modes.
ProcessMaker Screen designers can easily build a Screen by placing modular components into one Screen. For example, in a ProcessMaker Screen designed for a purchase request, use Nested Screen controls as placeholders for the following components that are designed in separate Screens. Each of these ProcessMaker Screens are nested into its own Nested Screen control.
Nested Screen control for Screen 1: Personal information
Nested Screen control for Screen 2: Payment information
Nested Screen control for Screen 3: Billing information
Nested Screen control for Screen 4: Shipping information
Follow these steps to add this control to the ProcessMaker Screen:
View the ProcessMaker Screen page to which to add the control.
Locate the Nested Screen iconin the panel to the left of the Screen Builder canvas.
Drag the Nested Screen icon into the Screen Builder canvas. Existing controls on the Screens Builder canvas adjust positioning based on where you drag the control.
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 ProcessMaker Screen you intend to nest into this control.
Configure the Nested Screen control. See Settings.
Validate that the control is configured correctly. See Validate Your Screen.
Below is a Nested Screen control in Preview mode.
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 displays a child (nested) ProcessMaker Screen 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:
Place your cursor anywhere on the control not displaying the Duplicate Controlor Delete Controlbuttons.
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.
Place the control at the location on the page you want it. The other control(s) on the page automatically adjust position.
Copying a control also copies the current settings of that control. The copied control displays below other controls placed on that ProcessMaker Screen page.
Follow these steps to copy a control:
Select the control to be copied.
Click the Duplicate Control button. The control copies with its current settings, and then displays below other controls placed on that page.
Follow these steps to delete a control from a ProcessMaker Screen page:
Select the control to be deleted.
Click the Delete button. The control deletes. Other controls on that ProcessMaker Screen page adjust their locations automatically.
The Nested Screen control has the following panels that contain 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 Nested Screen control in the Variable panel:
Select which ProcessMaker Screen to nest into this control. The nested ProcessMaker Screen becomes the child Screen to the parent Screen that uses the Nested Screen control. Any ProcessMaker Screen type may be selected for nesting into a Nested Screen control. However, only Form- and Display-type ProcessMaker Screens preview in either Design or Preview modes.
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 Nested Screen control in the Advanced panel:
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.
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.