Harness and Section forms
|
The Row Repeat layout is deprecated. As a best practice, convert existing Row Repeat layouts to Grid layouts. See Adding a Grid layout.
The Row Repeat layout presents each item from the source in horizontal rows, typically with labels in the top row. The items can be one of the following sources:
Page List
or Page Group
propertyTo see an example, review the standard section named Work-.PartyDetail, which is based on the Page Group
property Work-.pyWorkParty. Special processing in this rule supports restrictions that specify which parties must be present and which parties can appear more than once.
Configure styles for Row Repeat layouts using the Skin rule. See Skin form — Components tab — Layouts — Repeat row/columns.
In version V5.4, this layout is called a Repeating Layout. The Row Repeat name was introduced with V5.4SP2 to distinguish the Row Repeat horizontal presentation (rows) from the vertical presentation (as columns) and from the tabbed presentation.
Six repeating layouts are available: Row Repeat, Column Repeat, Tabbed Repeat, Grid, Tree Grid, and Tree. They provide similar options but differing presentations; choose the one appropriate to your application and user interface needs. Configure styles for repeating layouts using the Skin rule.
To specify a data page as the source, select Property
for the Source in the Row Repeat properties panel, and then enter the data page rule and property name in the List/Group field (for example, D_Products.pxResults
). Alternatively, you can enter the name of the data page rule in the Pages & Classes tab, and then use the SmartPrompt in the List/Group field to select the named page. At runtime, if the data page does not already exist on the clipboard, the system creates it on the first reference.
1. Adding and deleting a Row Repeat layout
Click the down-arrow at the right end of the Layout control group and select the Layout control . Click and drag the control. When the pointer changes shape to indicate that you can drop the layout, release the mouse button. A pop-up window opens to select the layout type:
Row
as the repeat type.To delete a Row Repeat layout, select the layout and click the Delete Row button (). Do not use the Delete Cell button for this action.
The table initially contains three columns and three rows. Usually, the top row holds labels, the second row holds fields (property values), and the final row contains the Add Row control (). When the section appears at runtime, the second row is repeated for each element from the data source (for example, for each page in the Page List
or Page Group
property or each row from the report definition).
2. Complete the Row Repeat panel — Top fields
Click () to open the Row Repeat panel. Complete all tabs of the panel.
Your updates to this panel update the rule form upon clicking Apply. If the panel is pinned (), the wireframe presentation on the rule form changes immediately to reflect your inputs. If the panel is not pinned (), click Apply to apply your inputs.
Field | Description | ||||||||||||||||||||||||||
Format | Choose a format to control what appears above the layout (known as a header or subheader), and the appearance of both the header or subheader if any, and aspects of the body. This choice primarily affects styles and appearance. Information in or below a subheader (including Hidden Sub ) present information that is right-indented from information in a header.Using the Skin rule, you can review or revise the styles (colors, fonts, padding and margins) associated with each header or subheader format.
| ||||||||||||||||||||||||||
HTML | Available if you selected | ||||||||||||||||||||||||||
Title | Optional. Available when the selected format is one of the Header or Subheader types (except for When you plan to localize the application using this rule, so the application can support users in various languages or locales, choose the text carefully and limit text length to 64 characters. When practical, choose a caption already included in a language pack, to simplify later localization. A field value rule with this text as the final key part is needed for each locale. See About the Localization wizard. | ||||||||||||||||||||||||||
Visible When | Optional. Leave blank so that the entire Row Repeat layout is always visible. To control the visibility of the layout, enter or select one of the following:
As a best practice, use the Condition Builder to edit this field. Click ( ) to open the tool. See Using the Condition Builder to configure dynamic UI actions. Use this to control visibility of the entire Row Repeat layout. Use the Row Visible When condition on the Advanced tab to apply a condition to each row at runtime. | ||||||||||||||||||||||||||
Source | Specify the source of the data for the Row Repeat layout:
Using a declarative page as the source To specify a declarative page as the source, select | ||||||||||||||||||||||||||
List/Group | Available when
| ||||||||||||||||||||||||||
Applies To | Available when | ||||||||||||||||||||||||||
Report Definition | Available when |
3. Complete the Row Repeat panel — General tab
Complete the General tab. To enable SmartPrompt prompting while using this tab, complete the Of Class field before the PageList/Group field.
Field | Description |
Style | Select the style to apply to the row repeat. To specify a custom format in a skin, select Other as the Style and then select the format that you want to apply. | ||||||||||
Width | Optional. Select whether the column widths in the table are to be set at runtime as a percentage of the total width of the user form or flow action form or in absolute pixels. Choose:
If you choose px-fixed and a property value at runtime is wider than width defined by the pixel value, the value is truncated, and users are unable to see the full value. | ||||||||||
Smart Layout | Select a SmartLayout template:
| ||||||||||
Allow Update | For repeating layouts added to the harness, section, or flow action select this check box to allow users at runtime to add a new element immediately after an existing element, using the Allow Update is not available if the source is a report definition. | ||||||||||
Allow Reordering | Select this check box to allow for row reordering during runtime. A number for each row that doubles as a drop and drag handle for reordering will appear in front of individual rows. Numbering begins at 1 and continues for however many rows present. If there is only one row and the Allow Reordering check box is selected, a no sign () appears, preventing reordering. Allow reordering is not available if the source if a report definition. | ||||||||||
Header Type | Select one of the following header styles. This field does not appear if the Format value is
| ||||||||||
Expand When | Optional. Only applies to
As a best practice, use the Condition Builder to edit expressions or specify a pair of when condition rules. Click ( ) to open the tool. See Using the Condition Builder to configure dynamic UI actions. | ||||||||||
Run on Client? | Appears when you enter a simple expression in the Expand When field. Select to cause dynamic execution of the condition each time the value of a property stated in the condition changes. | ||||||||||
Defer Load | This field appears for | ||||||||||
New Tab Group | For Header Type of Tabbed only. Select to remove this tab from the layout group, and add it as a new tab group directly below the original group. Deselecting this property causes the separated tabs to merge back into the original tab group. Deselecting this option causes the separated tabs to merge back into the original tab group.
If this is the only tab in a group, this option is selected by default and cannot be changed. | ||||||||||
New Layout | For Header Type of If this is the only accordion in a group, this option is selected by default and cannot be changed. |
4. Complete the Row Repeat panel — Advanced tab
Field | Description |
Row Visible When | Optional. To cause one or more rows to appear only when certain conditions are true at runtime. To control the visibility of specific rows, enter or select one of the following:
The when condition rule is evaluated for each element, and so can cause some rows to appear and other rows to be omitted. As a best practice, use the Condition Builder to edit this field. Click ( ) to open the tool. See Using the Condition Builder to configure dynamic UI actions. |
ID | Optional. Enter a name that becomes the ID=" " attribute value for the <TABLE > element. This option is useful when a JavaScript function refers to the table. |
Summary | Optional. Enter text to supply a value for the |
Header Image | Optional. Identify the second and third key part of a binary file rule corresponding to a small image. Click () to start the Image Catalog tool (a pop-up version of the Image Library landing page. Not available when the Header value is |
Style Prefix | Optional. Provides the ability to reference a family of custom styles for headers. For example, type A in this field to use styles named .A_standardheader* rather than the normal .standardheader* styles. Define the prefixed styles in the Skin rule form or in another text file that you identify on the Scripts and Styles tab of the Harness form. This field is available only if you selected |
Append Activity | This field is visible only when Allow Update is selected on the General tab. Leave blank in most cases. To override the default behavior when a user adds a row to the array, identify the second key part of an activity to be called. Design your activity to accept the same parameters as the default activity Work-.AppendToPageGroup or Work-.AppendToPageList (which are final rules). For example, your activity can prevent users from adding rows after reaching a limit, or can compute additional properties for the page. This field is meaningful only for repeating layouts created in Version 5.2 or later that include an add row icon (). |
Delete Activity | This field is visible only when Allow Update is selected on the General tab. Leave blank in most cases. To override the default behavior when a user deletes a row from the array, identify the second key part of an activity to be called. Design your activity to accept the same parameters as the default activity Work-.RemoveFromPageGroup or Work-.RemoveFromPageList (which are final rules). For example, your activity can require that at least one row remains, or that users can't delete the first row. This field is meaningful only for repeating layouts created in Version 5.2 or later that include a delete row icon (). |
Tab Group properties panel
When you select a Header Style of Tabbed
, the layout appears in a Tab Group wireframe. Select it to make it active and click () in the header to open the Tab Group properties panel.
Complete the top field and General tab. There are no settings on the Advanced tab.
Top field
Field | Description |
Format | Select the format you want to apply to the tabs in the group. To configure the format's appearance, access the Components tab in the Skin and then select Tab in the Layouts area. Standard — Default format applied to all tab groups. Sub — Format suitable for sub-tabs. Other — A custom style that you create in the skin rule. When you select this option, enter the style name in the Style field. |
Generaltab
Field | Description |
Tab Position | Select the placement of the tabs at runtime:
If you select |
Tab Orientation | If you selected a left or right Tab Position, select to display tabs horizontally or vertically. Horizontal is the default. If you select vertical orientation, the tab title is rotated based on the tab position, left or right. |
Stretch Tabs | Select to stretch the horizontally or vertically to fit the available space. If the Tab Position is Top or Bottom, tabs stretch horizontally; if the Tab Position is Left or Right, the tabs stretch vertically. |
Adjusting row and column properties
To view or change row properties, click the circle at the left end of the row. Then click () at the right end of the row.
For details, see SmartLayouts — Adjust Row Properties in Adding a layout.
Use the Column Properties panel change the type of a column, or to apply an inline style to all cells in the column.
To view or change column properties, click a column header and then click ().
For details, see SmartLayouts — Adjust Column Properties in Adding a layout.
Working with the layout design
Use the cell controls to design the row and column layout.
In most cases, select an object in the layout before clicking an icon. Certain operations may be unavailable depending on your selection and the layout characteristics.
Control | Description |
Delete the contents of a single cell (not a row or column) | |
Insert a new row before (above) the selected row | |
Insert a new row after (below) the selected row | |
Delete the selected row or layout | |
Merge right — Combine the selected cell and the cell to the right. | |
Merge down — Combine the selected cell and the cell below it. | |
Unmerge All — Undo the previous merges. |
The Insert column before (), Insert column after (), and Delete column () operations are not available for Smart Layout columns — those with a column type of Label
, Field
or Spacer
). They are available in freeform layouts.
To reorder rows or columns within a repeating layout, you can select and drag a single row or column using the dots above or to the left of the table; these act as handles.
To duplicate rows or columns within a repeating layout:
Ctrl
key.Ctrl
key to drop a duplicate row or column.Allowing users to append or delete Page List or Page Group elements (rows)
For Row Repeat layouts created in V5.2 or later, and using a Page List
or Page Group
property as a source, users can add rows, delete rows, or both add and delete rows, depending on which icons you include on the form.
When you first create a Row Repeat layout, a three-by-three table appears. Typically, cells in the top row present column labels, but these cells can also hold other property values (not from the embedded Page List
or Page Group
pages). Cells in the bottom row are typically used to present the Delete Row icon (), but can also hold other property values (not from the embedded Page List
or Page Group
pages).
At runtime, the middle row appears once for each page. By default, users can add, append, and delete rows at runtime. You can change this default behavior:
You can't delete the top or bottom rows; if they are not needed, you can apply a style that makes them not visible at runtime.
Optionally, you can use button controls or URL controls on the repeating layout rather than the standard icons for Add Row and Delete Row icons. The icon, button, or URL control can appear anywhere in the row.
Identifying subscript values for added Page Group pages
When a repeating layout is based on a Page Group
property and users click the Add Row icon () to append a new row, or press the Enter
key to insert a new row, the system requires a subscript value for the new page.
In a Page Group
property, the embedded text property pxSubscript acts as a unique identifier for the pages. This value may also be present in another property found on each page. As a best practice for usability, present the pxSubscript property (as a read-only value) in the left column of each row.
In some cases, the set of allowable values for subscripts are limited to a predefined static list, such as the codes for the 50 states of the United States (AL for Alabama through WY for Wyoming). In other cases, the set of allowable values for subscripts is unpredictable and effectively unrestricted, though each value must be a valid Java identifier. For example, a home insurance policy may contain a Page Group
property with a page for each insured property, with the property identified by a government-issued code.
PRPC includes standard rules that support both situations. Your application can override the standard rules to allow users to enter or select a subscript value.
Page Group
. Include only one input field on the section display. For example, if there are only a few allowed pxSubscript values, you can present the unused values as a set of radio buttons.Page Group
.Local List
or Remote List
on the General tab of the new property. Then, complete the table fields, to enumerate the allowable values as a Local List
, or define a Remote List
that assembles the values dynamically.At runtime, the system controls the order of rows presented for a Page Group
property. After you append or insert a new row, it may be re-sorted to a different position after the Submit is complete.