Caplin Trader 4.8.0

Class: module:br/presenter/property/Property

module:br/presenter/property/Property

Instances of Property are used to store all the values held within a presentation model.

Each value within a presentation model is stored within a single Property instance, and updates to properties are displayed immediately within the view. The displayed value may be formatted prior to display if any formatters have been added using the #addFormatter method.

A few varieties of property are available:

module:br/presenter/property/Property:
Used for properties that are not writable by the end-developer, and whose value is updated automatically on behalf of the end-developer.
module:br/presenter/property/WritableProperty:
Used for properties that are completely accessible to the end-developer, but which are not editable by the end-user.
module:br/presenter/property/EditableProperty:
Used for properties that need to be editable by the end-user, and writable by the end-developer.

Constructor

new module:br/presenter/property/Property(vValue)

Constructs a new Property instance — you will probably never want to construct a Property yourself since they are not writable.
Parameters:
Name Type Description
vValue Object (optional) The default value for this property.

Methods

addChangeListener(fCallback, bNotifyImmediatelyopt)

Convenience method that allows a change listener to be added to added for objects that do not themselves implement module:br/presenter/property/PropertyListener.

Listeners added using addChangeListener() will only be notified when module:br/presenter/property/PropertyListener#onPropertyChanged fires, and will not be notified if any of the other module:br/presenter/property/PropertyListener call-backs fire. The advantage to using this method is that objects can choose to listen to call-back events on multiple properties.

We also allow oListener and sMethod to be used in place of fCallback, but this form is now deprecated as it's imcompatible with Closure Compiler's property renaming feature.

Parameters:
Name Type Attributes Description
fCallback function The call-back that will be invoked each time the property changes.
bNotifyImmediately boolean <optional>
(optional) Whether to invoke the listener immediately for the current value.

addFormatter(oFormatter, mConfig)

Add a module:br/presenter/formatter/Formatter that will be applied to the property before it's rendered to screen.

Any number of formatters can be added to a property, and will be applied in the same order in which the formatters were added.

Parameters:
Name Type Description
oFormatter module:br/presenter/formatter/Formatter The formatter being added.
mConfig Object (optional) Any additional configuration for the formatter.

addListener(oListener, bNotifyImmediately)

Add a module:br/presenter/property/PropertyListener that will be notified each time the property is updated.
Parameters:
Name Type Description
oListener module:br/presenter/property/PropertyListener The listener to be added.
bNotifyImmediately boolean Whether to invoke the listener immediately using the current value.

addUpdateListener(fCallback, bNotifyImmediately)

Convenience method that allows an update listener to be added to added for objects that do not themselves implement module:br/presenter/property/PropertyListener.

Listeners added using addUpdateListener() will only be notified when module:br/presenter/property/PropertyListener#onPropertyUpdated fires, and will not be notified if any of the other module:br/presenter/property/PropertyListener call-backs fire. The advantage to using this method is that objects can choose to listen to call-back events on multiple properties.

We also allow oListener and sMethod to be used in place of fCallback, but this form is now deprecated as it's imcompatible with Closure Compiler's property renaming feature.

Parameters:
Name Type Description
fCallback function The call-back that will be invoked each time the property is updated.
bNotifyImmediately boolean (optional) Whether to invoke the listener immediately for the current value.

getFormattedValue()

Returns the formatted value for this property if any formatters have been attached, otherwise returns the raw property value.

getPath()

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

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

getRenderedValue()

Returns the rendered value after applying any active formatters, otherwise returns the raw property value.

getValue()

Returns the unformatted value for this property.

removeAllListeners()

Remove all previously added module:br/presenter/property/PropertyListener instances.

removeListener(oListener)

Parameters:
Name Type Description
oListener module:br/presenter/property/PropertyListener The listener being removed.