Caplin Trader 5.1.0

Interface: module:br-presenter/control/ControlAdaptor


Interface implemented by control adaptor classes, that allow external controls to be used within presenter.



Called when the view is being disposed of to allow cleaning up of listeners and controls.


Called after the view is rendered to screen.

Controls that need to perform some additional work once the element they are contained within has been added to the document (via #getElement), can do so within this call-back.


Sets the element in which the control will be rendered in.

Name Type Description
eElement Element

DOM element to use as the container for the control. Some controls will use this element as the actual control (progressive enhancement).


Sets the configuration options of the control.

Control configuration options passed within the HTML template are made available using this method. Control options can be passed within the HTML template like this:

<div id="dropDownSelectBox"
 data-bind="controlNode:selectionField, control:'ext-select-box', controlOptions:{width:95}">
Name Type Description
mOptions Object

A map of options


Sets the presentation node the control is being bound to.

It is the control adaptors responsibility to synchronize the presentation node with the control being adapted; any changes to the presentation node properties must be reflected in the control, and any user interactions with the control must be reflected in the presentation node.

Each control adaptor will typically be designed to work with a single type of presentation node, for example:

Authors are encouraged specify the presentation node type the control adaptor accepts within the package name (e.g. br-presenter/control/selectionfield/JQueryAutoCompleteControl), and to fail fast by throwing a module:br-presenter/control/InvalidControlModelError if they are bound to the wrong type of presentation node.

Name Type Description
oPresentationNode module:br-presenter/node/PresentationNode

The presentation node the control is being bound to.


if the wrong type of presentation node is used.