new module:ct-element /renderer /Composite Renderer(renderer Type, primary Field Namesopt)
A composite renderer.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
rendererType |
object | |||
primaryFieldNames |
Array |
<optional> |
[] |
Methods
add Renderer Event Listener(renderer Event Listener)
Adds a module:ct-element/RendererEventListener to which the Renderer will communicates user-gestures.
Parameters:
| Name | Type | Description |
|---|---|---|
rendererEventListener |
module:ct-element |
The renderer event listener. |
bind(control Element)
Binds the renderer to the DOM and attaches any event listeners to the control.
Parameters:
| Name | Type | Description |
|---|---|---|
controlElement |
HTMLElement | The DOM element representing the renderer |
- Implements:
- See:
clear()
Clears the renderer value and all associated state, including the displayed value. The renderer will remain bound to the DOM.
- Implements:
clear State()
Clears the renderer state without clearing the displayed value. This is a performant version of clear for when you are going to update the displayed value immediately after clearing.
- Implements:
create Html(field Values, class Name) → {HtmlEl ement|Document Fragment}
Returns an HTMLElement (or DocumentFragment) that defines this element.
This is the first of two steps required to bind a renderer to its corresponding HTML element. In fact, there are two ways of binding a renderer:
- The simplest way is to use the
module:ct-element/RendererFramework#getElementhelper method — this invokescreateHtml()andmodule:ct-element/RendererFramework#bindon your behalf. - A more performant mechanism for components that contain large numbers of renderers is to use
invoke
module:ct-element/RendererFramework#createHtmlandmodule:ct-element/RendererFramework#bindyourself, so that the entire DOM strucutre for all renderers can be created using a single use call toappendChild, allowing significant performance gains to be achieved.
This method must be called after the FieldModel has been set using
FieldModel.setFieldModel(). If the FieldModel is populated with
some initial data for this renderer, then the HTML fragment returned will also contain that value, obviating
the need for an call to module:ct-element/Renderer#setValue afterwards.
Parameters:
| Name | Type | Description |
|---|---|---|
fieldValues |
Map | The field values |
className |
string | The HTML class attribute (a space separated list) |
- Implements:
- See:
Returns:
The HTML fragment.
- Type
-
Html
Element | Document Fragment
disable()
Disables the renderer control. Does nothing if the control has no concept of enabled/disabled.
- Implements:
enable()
Enables the renderer control. Does nothing if the control has no concept of enabled/disabled.
- Implements:
finalize()
Releases any renderer resources and resets its state.
- Implements:
focus()
Moves the focus to this renderer. Does nothing if the control has no concept of focus.
- Implements:
get All Field Names() → {Array}
Returns a complete list of all field names that the renderer depends on.
Returns:
The field names.
- Type
- Array
get Element() → {Element}
Returns the element that this renderer is associated with.
If the renderer binding was not performed manually using module:ct-element/RendererFramework#createHtml and module:ct-element/RendererFramework#bind,
then this helper method will do this automatically on your behalf.
- Implements:
- See:
-
- module:ct-element/RendererFramework#createHTML
- module:ct-element/RendererFramework#bind
- module:ct-element/RendererFramework#unbind
Returns:
The element associated with this renderer.
- Type
- Element
get Field Values() → {Map}
Returns the fields relating to the currently displayed value.
- Implements:
Returns:
The field values.
- Type
- Map
get Formatted Value() → {Variant}
Returns the formatted downstream value.
- Implements:
Returns:
The formatted downstream value.
- Type
- Variant
get Namespace() → {string}
Returns the renderer namespace.
This is set by the framework that instantiates the Renderer (e.g. the grid) and represents the record context (e.g. "/FX/GBPUSD").
- Implements:
Returns:
The renderer's namespace.
- Type
- string
get Parsed Value() → {Variant}
Returns the parsed upstream value.
- Implements:
Returns:
The parsed upstream value.
- Type
- Variant
get Serial Id() → {string}
Returns the serial id of the renderer instance.
- Implements:
Returns:
The renderer serial id.
- Type
- string
get Unformatted Value() → {Variant}
Returns the unformatted downstream value.
- Implements:
Returns:
The unformatted downstream value.
- Type
- Variant
get Unparsed Value() → {Variant}
Returns the unparsed upstream value.
- Implements:
Returns:
The unparsed upstream value.
- Type
- Variant
get Value()
Gets the renderer value.
- Implements:
Returns:
vRendererValue The renderer value.
initialize(initial Field Values)
Initializes the renderer and sets its state according to the supplied field values.
Parameters:
| Name | Type | Description |
|---|---|---|
initialFieldValues |
Map | The initial field values |
- Implements:
is Bound() → {boolean}
Returns true if the renderer has been bound to the DOM.
- Implements:
- See:
Returns:
True if the renderer has been bound to the DOM, or false otherwise.
- Type
- boolean
raise Event(sType, mRenderer Event)
Raises a renderer event.
Parameters:
| Name | Type | Description |
|---|---|---|
sType |
string | The renderer event type. |
mRendererEvent |
Map | The renderer event to raise. |
- Implements:
remove Renderer Event Listener(renderer Event Listener)
Removes a module:ct-element/RendererEventListener to which the Renderer will communicate user-gestures.
Parameters:
| Name | Type | Description |
|---|---|---|
rendererEventListener |
module:ct-element |
The renderer event listener. |
select()
Moves the focus and highlights this renderer. Does nothing if the control has no concept of focus.
- Implements:
set Name(name)
Sets the renderer's name.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | The renderer's name. |
- Implements:
set Namespace(namespace)
Sets the renderer's namespace.
Parameters:
| Name | Type | Description |
|---|---|---|
namespace |
string | The renderer's namespace. |
- Implements:
set Value(vRenderer Value)
Sets the renderer value.
Parameters:
| Name | Type | Description |
|---|---|---|
vRendererValue |
Variant | The renderer value. |
- Implements:
to String() → {string}
Returns a human-readable string representation of the renderer, which is useful for debugging.
- Implements:
Returns:
The string representation
- Type
- string
unbind()
Unbinds the renderer from the DOM and detaches any event listeners to the control.
- Implements:
- See:
update Fields(field Values)
Updates the renderer with the supplied fields. The field values will be reflected in the control on the next call to {module:ct-element/Renderer#refresh}.
The Renderer might depend on these fields either because it has been bound to them in the constructor, or if the XML renderer definition refers to these fields using the ${} notation.
Additional field values can be supplied and they will have no effect on the displayed value, but they will be returned by {module:ct-element/Renderer#getFieldValues}. This can exploited to hold additional information about the value (such as price ID or timestamp).
Parameters:
| Name | Type | Description |
|---|---|---|
fieldValues |
Map | the new field values. |
- Implements: