Control form - Completing the HTML tab
For non-auto-generated controls, you can enter HTML source directly into the HTML Source text box.
Field | Description |
---|---|
Omit extra Spaces? | |
Property Type |
Optional. If this control is a likely choice for presenting a field on a user form or flow action form, you can select a type or
ALL
in this field.
Your choice helps a developer — while working on a harness, section, or flow action — select an alternate HTML format for a property that is best suited to the application need. This value acts only as a filter; it does not prevent this control from being referenced by any property. (The
If not blank, the name and two previews (read-write mode and read-only) of this control appear on the pop-up list accessed by the
View properties
icon on the Cell Properties panel, for Harness and Section forms (in the SmartFrames format). For example, if the property type is
Note:
This field is intentionally blank on a few standard controls including
Autocomplete ,
ListToList , and
Chart
that are never intended to be associated with a single property on the Property form. These special controls support advanced features available from the
Layout
tabs of the Harness and Section form and the
Format
tab of the Flow Action form.
|
Display |
Optional. If this control is a likely choice for presenting a field on a user form or flow action form, you can select a format here. Your choice helps a developer — while working on a harness, section, or flow action — select an alternate HTML format for a property that is best suited to the application need. This acts only as a filter; it does not prevent this control from being referenced by any property:
If not blank, the name of this control appears on the pop-up lists on the Field panel, for Harness and Section forms (in the SmartFrames format only). > INPUT element When you use an INPUT element for a text box, check box, selection box or text area in the HTML text of a control, use this JSP syntax:
(When using directives, you can omit the NAME attribute and its value. The system determines the NAME and value from the property that references your control.) |
Auto-generated? |
When selected, HTML text for the control is generated based on settings in the
Control
tab. Standard auto-generated rules have this check box selected by default. If you deselect this check box, the system conceals the
Control
tab and displays the
Parameters
tab.
CAUTION: Do not deselect this check box in auto-generated rule forms. Doing so disables access to the Parameters dialog from the Control Cell properties panel in a section or harness.
As a best practice, create new controls as auto-generated, and deselect this check box. When developing non-auto-generated controls, avoid hand-edited HTML when other approaches can achieve the same result. When you do incorporate hand-edited HTML, JavaScript or CSS, use the Rule Security Analyzer to detect potential security vulnerabilities. |
Generate For |
Typically, the system sets this field to
HTML
or
JSP , to indicate whether the HTML source is to contain HTML directives or JSP tags. For new controls, the initial value is
JSP .
Note: Use of JSP tags in controls offers superior performance and other advantages over directives. Although both directives and JSP tags are supported, JSP tags are recommended for new development.
Controls that accept parameters must use JSP tags. If this rule is circumstance-qualified or time-qualified, make this Generate For value match the Generate For value of the base rule. The base rule and the qualified rules must all use JSP tags or all use directives. Do not save the rule form if you have composed HTML that contains both JSP tags and directives. |
Browser Support | Indicate which browsers and versions can display the JSP or HTML from this rule. The Pega Platform does not validate your code. You must ensure that your code can be displayed in supported browsers. The value is read-only. |
Accessibility |
Select
On
to indicate that you have designed and implemented your HTML to meet your accessibility requirements.
The Accessibility Report evaluates this field on each rule in an application that displays it, when calculating application accessibility compliance levels. See Using the Accessibility report. |
Show in authoring menus | Select to include the control in the palettes available in the section. |
Select palette | Select the palette in which you want your custom control to appear, either Basic or Advanced. |
Control image | Add an icon to display in the palette next to your custom control. |
HTML Source |
For non-auto-generated controls only. Enter the HTML, JavaScript, and CSS code. The text can include JSP tags or directives, but not both.
If this control is to support parameters entered on the
Parameters
tab, use only JSP tags and set the
Generate For
field to
> JavaServer Page tags Use of JSP tags in controls offers superior performance and other advantages over directives. Although both directives and JSP tags are supported, JSP tags are recommended for new development. Conversion of existing control that use directives to functionally equivalent rules that use JSP tags is straightforward. > Inline Java and access to parameter values Use the <% and %> delimiters to insert inline Java code (a scriptlet) in the HTML. Within the code, use Java syntax similar to the following to obtain the runtime value of a parameter from the parameter page, where MyType is defined on the Parameters tab):
For additional examples, review the Java code in the standard control named Decimal. > Including JavaScript function definitions See More about Controls. |
> Tips
Use the <pega:when > JSP tag to conditionalize the HTML for a property based on the mode (display or read-only mode versus read-write mode).
To detect review mode, use:
<pega:when test="!$mode-input">
<!-- display stuff here -->
</pega:when >
> Useful JSP tags
These tags are used often. Don't forget to include the closing elements.
> JSP tag | > Result |
|
Read-only mode. |
|
Error on this element. |
|
Value of the active property. |
> Example
This example causes the output HTML to display a read-only value if the property value appears in read-only mode, or a select box with three choices if the property appears in read-write mode.
<pega:when test="$mode-display" >
<pega:reference name="$this-value" />
</pega:when>
<pega:when test="mode-input" >
<SELECT >
<OPTION VALUE="Best">Best</OPTION>
;<OPTION VALUE="Replaced">Replaced</OPTION>
<OPTION VALUE="Obsolete">Obsolete</OPTION>
</SELECT>
</pega:when >