Variant
Allows users to represent multiple views, such as Plain text, Masked text, Single select, Date, Decimal, Integer. Because Variant represents multiple views, binding each view to their own variable is not necessary.
Behavior
| Auto select view: | The view used is automatically selected, based on the type of data. Use auto select only when the initial control index is not provided. If there is a value specified for the initial control index, auto select is ignored. | Boolean |
| Initial control index: | This expression returns a 0-based index that corresponds to the view that is shown by default. For example, if the view index is 0, the view in the first tab is shown. | String |
| Events | ||||||
| On Load: |
| |||||
| On Change: |
| |||||
Extends:
Methods:
Inherited
addClass(name, [replaced])
Add/replace CSS class(es) for this control
| Name | Type | Default | Description |
| name | {string} | CSS class name(s) to add to the control. Separate class names by a space if more than one class. | |
| replaced | {string} | CSS class name(s) to be replaced by the first argument. Separate class names by a space if more than one class. |
Example
| Button.addClass("green"); |
getCurrentChildView()()
This method returns the reference to the Coach View currently shown by the Variant control
Example
| me.getCurrentChildView().setValid(false, "Validation error"); |
Inherited
getData()
Returns:
{Object}
Retrieve bound data associated this view/control. Only works for views/controls with bound data.
Example
| var dec1 = MyDecimal.getData(); |
getDisplayedType()
Returns:
{string}
Get descriptive string representing the type of control the variant is currently displaying or "none" if no control is currently displayed
getType()
Returns:
{string}
Get descriptive string representing the type of control
getValue()
This method returns the current value that is shown by the Variant control. It can return any primitive types or object.
Inherited
hide(collapseFlag)
Hide this view/control
| Name | Type | Default | Description |
| collapseFlag | {boolean} | Set to true to collapse the view (equivalent to a view setting of "NONE") |
Example
| MyView.hide(); |
Inherited
isBound()
Returns:
{boolean}
Indicates bound status of control.
Inherited
isEnabled()
Returns:
{boolean}
Checks if the view is enabled or not
Example
| var enabled = MyView.isEnabled(); |
Inherited
isLabelVisible()
Returns:
{boolean}
Checks if control label is visible
Example
| var labelVisible = MyView.isLabelVisible(); |
Inherited
isVisible()
Returns:
{boolean}
Checks whether or not view is visible
Example
| var visible = MyView.isVisible(); |
Inherited
propagateUpValueChange(event)
Returns:
{boolean}
Propagates value change of control up through parent views
| Name | Type | Default | Description |
| event | {Event} | Value change event (usually an onchange event) |
Example
| MyView.propagateUp(event); |
Inherited
recalculate()
Only for formula-enabled views!
Explicitly triggers the re-evaluation of the formula
for this view (if a formula has been specified). If the view is not formula-enabled,
Explicitly triggers the re-evaluation of the formula
for this view (if a formula has been specified). If the view is not formula-enabled,
recalculate() does nothing.Example
| Text1.recalculate();
//If the formula for Text1 is: new Date().toString(), Text1 is updated to the current date/time |
reset()
This method resets the variant control which causes NO control to display
Example
| me.reset(); |
Inherited
setEnabled(enabled, required)
Enable/disable this view/control
| Name | Type | Default | Description |
| enabled | {boolean} | Enabled/read-only flag (true to enable view, false to disable/make read-only) | |
| required | {boolean} | Enable/disable required field flag for control |
Example
| MyView.setEnabled(false); //Make MyView read-only |
Inherited
setLabelVisible(visible)
Show/hide the label of this view/control
| Name | Type | Default | Description |
| visible | {boolean} | Label visibility flag (true to show view label, false to hide) |
Example
| MyView.setLabelVisible(false); |
setValue(val)
This method allows to programmatically set the value for the control
| Name | Type | Default | Description |
| val | {(integer|string|boolean|decimal|object)} | the value |
Example
| me.setValue(132); |
Inherited
setViewData(data, createPseudoBinding)
Set/update bound data associated this view/control. Only works for views/controls with bound data.
Note: Should only be used with simple type bindings, or complex type bindings with simple type properties.
Should not be used with bindings that have properties that are lists or compext types. For complex types, set bindings using
the
Note: Should only be used with simple type bindings, or complex type bindings with simple type properties.
Should not be used with bindings that have properties that are lists or compext types. For complex types, set bindings using
the
binding.set pattern detailed in the Knowlege Center section Binding Data and Configuration Options| Name | Type | Default | Description |
| data | {Object} | Value of bound data. The type of this parameter must match the type of the bound data. | |
| createPseudoBinding | {boolean} | If set to true, creates a pseudo binding if there is no current binding. |
Example
| MyView.setViewData("TEST"); //Updates bound data to the string 'TEST' |
Inherited
setVisible(visible, collapse)
Show/hide this view/control
| Name | Type | Default | Description |
| visible | {boolean} | Visibility flag (true to show view, false to hide) | |
| collapse | {boolean} | Set to true to collapse the control space when visible is set to false. |
Examples
| MyView.setVisible(false, false); //Equivalent to MyView.hide() |
| MyView.setVisible(false, true); // Sets visibility to "None" |
Inherited
show()
Show this view/control
Example
| MyView.show(); |
showControl(idx)
This method allows you to programmatically set the index of the control to be used
| Name | Type | Default | Description |
| idx | {integer} | the index of that variant control that you want to show |
Example
| me.showControl(0); |
Inherited
triggerFormulaUpdates([phase])
Broadcasts the expression trigger for the specified view
| Name | Type | Default | Description |
| phase | {int} | bpmext.ui.PHASE_NORMAL | The phase we are currently in |
Example
| MyView.triggerFormulaUpdates(); |