Control form
|
|
For non-auto-generated controls, you can enter HTML source directly into the HTML Source text box.
Field |
Description |
Omit extra Spaces? |
Select to eliminate extra space characters in the processed HTML. This can make transmission or processing more efficient. It does not alter the appearance of the HTML when displayed in a browser. When selected, the way the system handles stream processing is different for JavaServer Pages (JSP) streams and HTML streams. JSP streams replace consecutive spaces and control characters with a single space. For example: As a best practice, remove all line breaks and whitespace. For example:
becomes:
HTML streams delete control characters appearing at the beginning of the rule definition and immediately after a directive, but otherwise behave like JSP streams. For example:
is converted to:
HTML stream processing copies space characters within the text of a property value and non-breaking 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 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 propertiesicon on the Cell Properties panel, for Harness and Section forms (in the SmartFrames format). For example, if the property type is a Note: This field is intentionally blank on few standard controls including |
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 elementWhen 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: <INPUT name=""<pega:reference name=""$this-name"" />"" (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 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 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 tagsUse 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 valuesUse 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 definitionsSee More about Controls . |
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 >
These tags are used often. Don't forget to include the closing elements.
JSP tag |
Result |
<pega:when test="!$mode-input"> ... |
Read-only mode. |
<pega:when test="$this:isBad"> |
Error on this element. |
<pega:reference |
Value of the active property. |
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 >