Caplin Trader 4.8.0

Class: module:br/presenter/node/SelectionField

module:br/presenter/node/SelectionField

A PresentationNode containing all of the attributes necessary to model a selection field on screen.

Selection fields can be rendered using a number of different controls:

  • radio buttons
  • select box
  • combo box
  • toggle switch (only when there are exactly two options)

By default, selection fields automatically add a validator for the case where the currently entered #value isn't one of the available #options — this can occur when you render the selection field using a combo box, or the underlying options change so the currently selected value is no longer an available option. You can disable these validation errors by invoking #allowInvalidSelections with true.

Constructor

new module:br/presenter/node/SelectionField(vOptions, vValue)

Constructs a new instance of SelectionField.
Extends:
Parameters:
Name Type Description
vOptions Object The list of available options, either using an array, a map or an module:br/presenter/node/OptionsNodeList.
vValue Object (optional) The initial value of the field, either using a primitive type or an module:br/presenter/property/EditableProperty.

Extends

Members

controlName :br.presenter.property.WritableProperty

The logical control-name the selection field is being bound to — this value will appear within the name attribute if being bound to a native HTML control.
Type:
  • br.presenter.property.WritableProperty

enabled :br.presenter.property.WritableProperty

A boolean property representing whether the selection field is enabled or not.
Type:
  • br.presenter.property.WritableProperty

failureMessage :br.presenter.property.WritableProperty

A textual description of the currently failing validation message when #hasError is true.
Type:
  • br.presenter.property.WritableProperty

hasError :br.presenter.property.WritableProperty

A boolean property that is true if #value has any validation errors, and false otherwise.
Type:
  • br.presenter.property.WritableProperty

label :br.presenter.property.WritableProperty

The textual label associated with the selection field.
Type:
  • br.presenter.property.WritableProperty

options :br.presenter.node.OptionsNodeList

The current list of options the user can select from.
Type:
  • br.presenter.node.OptionsNodeList

selectedOptionLabel :br.presenter.property.Property

The current text value of the selected option's label.
Type:
  • br.presenter.property.Property

value :br.presenter.property.WritableProperty

The currently selected option, or potentially any string the user has entered if being displayed with a combo-box.
Type:
  • br.presenter.property.WritableProperty

visible :br.presenter.property.WritableProperty

A boolean property representing whether the selection field is visible or not.
Type:
  • br.presenter.property.WritableProperty

Methods

allowInvalidSelections(bAllowInvalidSelections)

Whether the selection field displays a validation error if the selected #value is not a member of the #options array.

Invalid selections cause validation errors by default, but this may not always be the desired behaviour, for example if the SelectionField is being displayed using a combo-box, where the #options are acting merely as suggestions, rather than as the absolute set of options.

Parameters:
Name Type Description
bAllowInvalidSelections boolean Invalid selections are allowed when set to true.

automaticallyUpdateValueWhenOptionsChange(bAutomaticallyUpdate)

Whether the selection field automatically picks a new #value when the underlying #options change.

If the underlying #options change, so that the new list of #options no longer includes the currently selected #value, a validation error will be displayed by default. In some circumstances, it may make sense to have the selection field automatically pick a new value automatically.

Parameters:
Name Type Description
bAutomaticallyUpdate boolean
See:

getPath()

Returns the path that would be required to bind this node from the view.

This method is used internally, but might also be useful in allowing the dynamic construction of views for arbitrary presentation models.

Inherited From:

nodes(sNodeName, vProperties)

Returns all nested nodes matching the search criteria reachable from this node.

Care is taken not to search up the tree in cyclic presentation models (where some of the presentation nodes have back references to presentation nodes higher up in the tree).

Parameters:
Name Type Description
sNodeName String The name of nodes to match.
vProperties Object Only nodes having this array or map of properties will be matched.
Inherited From:
See:

properties(sPropertyName, vValue)

Returns all nested properties matching the search criteria reachable from this node.

Care is taken not to search up the tree in cyclic presentation models (where some of the presentation nodes have back references to presentation nodes higher up in the tree).

Parameters:
Name Type Description
sPropertyName String The name of properties to match.
vValue Object The value of properties to match.
Inherited From:
See:

removeAllListeners()

Inherited From:
Deprecated:
  • This method has been replaced by #removeChildListeners which recurses the node tree. Removes all listeners attached to the properties contained by this PresentationNode.

    removeChildListeners()

    Removes all listeners attached to the properties contained by this PresentationNode, and any nodes it contains.
    Inherited From: