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 OptionsName | 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(); |