Class: MultiSelect

MultiSelect

The Multi Select control allows users to select multiple items at a time and is commonly used to create a list of items for selecting. A MultiSelect control provides the following configuration properties in Process Designer:

Behavior

Tab Index: Form control tabbing sequence index. Tab indices start at 1, and may be set sparsely. integer

Items

Item Lookup Mode: Method by which to populate selection list
{Start Empty | Items From Service | Items From Static List | Items From Config Option}
string
List Items Service: Service to populate item selection AJAX Service
Service Input Data: Data to be passed to the AJAX service that populates the select list items when Item Lookup Mode is Items from Service ANY
Item List: Bound list of items to populate selection ANY[]
Data Mapping: Refers to the Lookup Mode. Set which property to take as the selection value, and which to display in the selection. If unset, display will default to "value" property, and value will default to "name" property SelectDataMapping
Option value property Property to use for option values string
Option display property Property to use for option display string
Business Data Mapping: Refers to the Binding when bound to a complex type. Set which property to take as the selection value, and which to display in the selection. SelectDataMapping
Option value property Property to use for option values string
Option display property Property to use for option display string
Static List: Static list of items to populate selection, you should not use a variable, this is meant to be a static list if you want the list to ve variable use the Item List configuration property to specify the variable. You must specify both a Name (which is the key) and a Value (which is the display text) for each entry. NameValuePair[]

Appearance

Size: Size-based styling for this control
{Default | Large | Small}
string
Width: Width in px, %, em For example: 50px, 20%, 0.4em. If no unit is specified, px is assumed string
Label Placement: Set the label placement. Note: Labels on the left will change the specified width of the control
{Top | Left}
string

Events

On Load:
Description: Triggers whenever the view is loaded.
Example:
console.log(me.getItemCount())
On Service Items:
Description: Triggers when AJAX Service returns item list. Only triggers if Item lookup Mode is set to Items From Service.
Example:
console.log("MultiSelect1 item service retrieved items successfully")
On Service Error:
Description: Triggers when AJAX selection service returns an error. Will not trigger if Item Lookup Mode is not set to Items From Service.
Example:
me.clearItems()
On Change:
Description: Triggers when the bound data changes.
Example:
${MultiSelect2}.reloadServiceItems(me.getSelectedIndices())
Articles
Multi Select

new MultiSelect()

This constructor is never used explicitly.

Extends

Members

Methods

Add/replace CSS class(es) for this control
Name Type 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 optional 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");

appendItem(value, displayText){object}

Appends an item to the selection list
Name Type Description
value ANY The value of the selection
displayText string The text to be displayed
Returns:
Type Description
object Item that was added to the list

clearItems()

Clears the selection list
Set focus on this control
Retrieve bound data associated this view/control. Only works for views/controls with bound data.
Returns:
Type Description
Object Value of bound data. undefined if the view has no data binding.
Example
var dec1 = MyDecimal.getData();

getItemCount(){integer}

Get number of items in the list
Returns:
Type Description
integer

getItemText(itemVal){string}

Get the display text for a value (value must be known)
Name Type Description
itemVal ANY Value of item to get text for
Returns:
Type Description
string
Examples
mltslct.getItemText("option1") // returns "Option 1" (for a selection item with value="option1" and name="Option 1")
mltslct.getItemText(mltslct.getSelectedItems()[0]) // returns the text of the first selected item

getItemTextAt(index){string}

Get display text associated with item at specified index
Name Type Description
index integer Index of item/option in multiselect control
Returns:
Type Description
string

getLabel(){string}

Get label associated with multiselect control
Returns:
Type Description
string

getLabelPlacement(){string}

Get label placement for control. NOTE: This always returns the label placement as set, to avoid ambiguity always set the label placement using "T"|"L"
Returns:
Type Description
string

getSelectedIndices(){Array.<integer>}

Get indices of items selected in multiselect control
Returns:
Type Description
Array.<integer>

getSelectedItems(){Array.<ANY>}

Get values associated with items selected in multiselect control
Returns:
Type Description
Array.<ANY>

getServiceInputData(){ANY}

Returns the input for the list items AJAX service
Returns:
Type Description
ANY

getSizeStyle(){string}

Gets size style of control. NOTE: This always returns the size style as set, to avoid ambiguity always set the size style using "D"|"S"|"L"
Returns:
Type Description
string

getTabIndex(){integer}

Get tab index for select control
Returns:
Type Description
integer

getType(){string}

Get descriptive string representing the type of control
Returns:
Type Description
string
Hide this view/control
Name Type Description
collapseFlag boolean Set to true to collapse the view (equivalent to a view setting of "NONE")
Example
MyView.hide();
Indicates bound status of control.
Returns:
Type Description
boolean True if the control is bound to coach data.
Checks if the view is enabled or not
Returns:
Type Description
boolean Enabled status
Example
var enabled = MyView.isEnabled();

isLabelVisible(){boolean}

Get label visibility for multiselect control
Returns:
Type Description
boolean
Returns the valid status as last set by the setValid() method.
Returns:
Type Description
boolean Validity status. true if setValid(false, ...) was never called
Example
var valid = MyView.isValid();
Checks whether or not view is visible
Returns:
Type Description
boolean Visibility status
Example
var visible = MyView.isVisible();
Propagates value change of control up through parent views
Name Type Description
event Event Value change event (usually an onchange event)
Returns:
Type Description
boolean True if a formula update was triggered on the control's parent, otherwise false
Example
MyView.propagateUp(event);
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, recalculate() does nothing.
Example
Text1.recalculate(); //If the formula for Text1 is: new Date().toString(), Text1 is updated to the current date/time

reloadServiceItems(input)

Sets tab index of select control
Name Type Description
input ANY Data to be passed to the AJAX Service retrieving the items for the control

removeItem(value){ANY}

Remove item/option matching the value specified
Name Type Description
value ANY Value of item/option in multiselect control
Returns:
Type Description
ANY

removeItemAt(index){ANY}

Remove item at specified index
Name Type Description
index integer Index of item/option in multiselect control
Returns:
Type Description
ANY
Set/update bound data associated this view/control. Only works for views/controls with bound data.
Name Type Description
value Object Value of bound data. The type of this parameter must match the type of the bound data.
Example
MyView.setData("TEST"); //Updates bound data to the string 'TEST'
Enable/disable this view/control
Name Type 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

setItem(idx, value, text)

Set display text of item/option at specified index
Name Type Description
idx integer Index to set
value ANY Value of item/option in multiselect control
text string The display text to show for the item/option

setItemText(value, text)

Set display text of item/option matching the value specified
Name Type Description
value ANY Value of item/option in multiselect control
text string The display text to show for the item/option

setLabel(label)

Set label for multiselect control
Name Type Description
label string Label for the control

setLabelPlacement(placement)

Set label placement for control. NOTE: to avoid ambiguity always set the label placement using "T"|"L"
Name Type Description
placement string "T"|"TOP"=Top | "L"|"LEFT"=Left

setLabelVisible(flag)

Set label visibility for select control
Name Type Description
flag boolean {true | false} Set to false to hide label

setSelectedItems(value)

Set items selected in select control based on the value of the items/options
Name Type Description
value ANY Values (i.e. keys) of items to set selection to

setSelectedItemsAt(array)

Set items selected in select control based on the indexes
Name Type Description
array Int of indexes of the items to set selection

setServiceInputData(data)

Specifies the default input for the list items AJAX service
Name Type Description
data ANY Default input data for service

setSizeStyle(style)

Sets size style of control. NOTE: to avoid ambiguity always set the size style using "D"|"S"|"L"
Name Type Description
style string "DEFAULT"|"DEF"|"NORMAL"|"D"=Default | "SMALL"|"S"=Small | "LARGE"|"L"=Large

setTabIndex(tabIndex)

Sets tab index of select control
Name Type Description
tabIndex integer Tab indices start at 1 and may be set sparsely
Flag this view/control as valid or invalid
Name Type Description
valid boolean Valid/invalid flag (true to set view valid, false to make it invalid - which typically shows the view with "invalid" styling and indicator)
errorText string Validation error text to show on the invalid-styled view
Example
MyView.setValid(false, "Please fix your data entry"); //Make MyView invalid
Show/hide this view/control
Name Type 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"
Show this view/control
Example
MyView.show();
Broadcasts the expression trigger for the specified view
Name Type Default Description
phase int bpmext.ui.PHASE_NORMAL optional The phase we are currently in
Example
MyView.triggerFormulaUpdates();