Common component properties

Basic properties of components

Regardless of type, each component has defined properties available in the panel displayed on the right after selecting the component.

Eximee Designer property
Attribute name in Source
Description

Section Basic properties

Id

id

Unique technical identifier of the field (assigned automatically when adding the component).

Business identifier

mid

Business identifier of the field (by default it is the same as id, but it can be changed). The business identifier (Mid) is a unique identifier associated with business logic. Once assigned, it will be easier to find a specific component when adding listeners or Page Services input and output parameters. Label (Text) and Formatted content (TextContent) components do not have mids. NOTE!

Because the Uniflow data model is based on business field identifiers (mid) rather than on id, when using the Uniflow data model on the form business field identifiers cannot be duplicated (e.g. we have two different components with the same business identifier or a component has the same mid as a session variable id).

Label

Each component should have a label (

Component label displayed above the component (attribute is not supported in some channels).

Disabled field presented as a label

labelIfDisabled

Checked (set to "true") means that a disabled component is displayed as text (on the form it appears presented as a label).

The availability of features depends on the license and may not be available in all deployments.

Demo form: demoLabelIfDisabled

Contextual help

toolTips

Defining dynamic contextual help for the component depending on conditions.

More at: Contextual help - Tooltip

Data model key

model

For fields that can take values, specifies two-way binding with the data model.

More at: Storing data in the model

Section Data quality

Visibility condition

visibleCondition

Field visibility condition (conditions are entered using the editor described in Advanced condition editor).

Enabled condition

enabledCondition

Condition for field being editable (conditions are entered using the editor described in Advanced condition editor).

Maximum value length

maxPropertyLength

For security reasons every text value on the platform (e.g.: contents of a text field, value and description of a dropdown, radio value, etc.) is verified for length. By default the platform does not accept strings longer than 256 characters. If business requirements demand changing the maximum length, it can be done using the attribute Maximum value length. Availability of the functionality depends on the license and may not be available in all deployments.

NOTE!

The system has an additional hard limit (default: 10485760 characters) - this is a non-overridable limit that will not be overridden by the Maximum value length attribute.

Required condition

requiredCondition

Field required condition (conditions are entered using the editor described in Advanced condition editor).

Validators

externalValidators

Defining specialized external validators.

More at: Complex validations

Default value

defaultValue

For fields that can take values, specifies the initial value of the component.

Formatter

formatter

Section Interactions

Listening

listeningOn

List of components that the component depends on. Changing values of listened-to components will cause the component's state to refresh.

More at: Listening and clearing.

External data source

enternalDataSource

Defining external data sources.

More at: Powering components with external data sources

Clearing the field

clearOn

List of components which, when changed, cause the data entered into this component to be cleared.

Data source from another field

valueSourceId

ID of another component that will provide a value for this component (an example of usage is described in: Passing values between components or pages of the form).

Section Security

Whitelist of characters

extraWhitelistCharacters

For security reasons every text value on the platform (e.g.: contents of a text field, value and description of a dropdown, radio value, value of a tile group, etc.) is validated for allowed characters. By default the platform allows the following character classes:

  • letters (including diacritical characters of all languages),

  • digits,

  • whitespace characters (various kinds of spaces, tabs, newline markers, etc.),

  • the following special characters: '.' (dot), ',' (comma), '-' (dash), '_' (underscore).

If a value containing a character outside the list reaches the server, the server will restore the last safe value. If business requirements necessitate extending the list of special characters for a given field, you can use the attribute Whitelist of characters (extraWhitelistCharacters). The value of the attribute is a string of characters that should be allowed in the field.

NOTE!

When extending the list of allowed characters, for security reasons ensure that the services receiving this value are prepared to accept the character and are properly secured.

The @ character (at sign) is disallowed by default unless the field type is "email" (parameter Data type (expected type)).

IMPORTANT!

For components that, besides a label, also have a value (e.g. Radio group, Tile group), and these values are for some reason different (in the context of disallowed characters), it is necessary to define in Whitelist of characters both values - we define this for the Tile Group, not for a single Tile.

Example: e.g. for a tile with label "5+" the option value was defined as ">5" - in such a situation in the whitelist as allowed characters we must define both "+" and ">"

(using different values for content and value is not a recommended solution; it is recommended to use consistent values).

Technical field

technicalField

Field used for internal needs of the form template logic, not propagated to downstream systems and not visible on the form. Property is available for selected components.

Section Styling

Style name

styleName

Name of the component style (in eximee Webforms corresponds to the CSS style that will be assigned to the component).

Section Other

Automatic value update

autoServerUpdate

Automatic sending of the value to the server (regardless of whether anything listens to this component). Additionally, when this flag is set, graph processing (after value change) starts from the component whose value changed (by default processing starts from its successors).

NOTE!

This setting has a large impact on the performance of the form platform. It should be used only where required (e.g. when using a Suggester). In doubtful situations please contact the Consdata team.

Example form with suggester and autoServerUpdate property: test_autoserverUpdate.

GTM Tag / Enabling GTM

gtmTagName/pushTagsToGtm

Ability to configure functionality Google Tag Manager. By default the field is not checked (value "false").

Collecting statistics

getStats

Field used to collect statistics about the component. By default the field is not checked (value "false").

Visibility on the printout

printable

Determines whether the component should be visible on the printed form. By default the field is checked (value "true").

Behavior of value change when the component is hidden

preserveValueWhenHidden

This flag is used to prevent the component's value from being reset to default when it is hidden (or is hidden after parking). The component's value will also be preserved after parking and will be available for use in subsequent sessions. By default the field is not checked (value "false").

The functionality is not available for some components.

Visibility conditions

For each component in the panel Properties you can specify its visibility conditions by clicking Add visibility condition in the field VISIBILITY CONDITION (available in the Data quality). In the displayed condition editor you can enter conditions written in a simple expression language (more in Advanced condition editor). The expression language used is described in Expression language for defining conditions.

Illustration 1. Empty property for defining visibility condition

The component is visible only if the condition entered in the field is met VISIBILITY CONDITION.

Required conditions

For each component in the panel Properties you can specify conditions under which the component is required by clicking Add required condition in the field REQUIRED CONDITION (available in the Data quality). The condition editing window is analogous to the component visibility condition editor. JavaScript language described in Expression language for defining conditions.

is used to define conditions.

Components for which the condition is met are required and it is not possible to proceed to the next page of the form without entering a value.

For each component in the panel Properties Read-only conditions for components you can specify conditions under which the component is presented in read-only mode by clicking in the field Add enabled conditionENABLED CONDITION Expression language for defining conditions.

. The condition editing window is analogous to the component visibility condition editor. JavaScript language described in

Listening

is used to define conditions. Listening and clearing).

For components with an unmet condition, editing their values during form presentation is blocked.

For each component you can specify the list of components that the component listens to (more in

Based on listening a dependency graph is created. When a component's state changes, the subgraph of dependencies containing all paths ending at the changed component is topologically sorted and components in the subgraph are refreshed. Components are refreshed in the order resulting from the topological sort such that only those components are refreshed whose at least one direct predecessor in the graph changed state.

Cycles in the dependency graph are resolved arbitrarily (cut off after the component deeper in the graph)
    It is possible to enable refreshing of all components in the graph (regardless of whether a direct predecessor changed state). This is an administrative action and requires changing the following entry in the /etc/eximee/webforms.xml file:
        ...
        <webforms>
    <server>
<nonBlockingGraphFormTemplates>template_name1,template_name2</nonBlockingGraphFormTemplates>

</server>

Last updated

Was this helpful?