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
add Change Listener(fCallback, bNotify Immediatelyopt)
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. |
add Formatter(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 |
The formatter being added. |
mConfig |
Object | (optional) Any additional configuration for the formatter. |
add Listener(oListener, bNotify Immediately)
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 |
The listener to be added. |
bNotifyImmediately |
boolean | Whether to invoke the listener immediately using the current value. |
add Update Listener(fCallback, bNotify Immediately)
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. |
get Formatted Value()
Returns the formatted value for this property if any formatters have been attached, otherwise returns the raw property value.
get Path()
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.
get Rendered Value()
Returns the rendered value after applying any active formatters, otherwise returns the raw property value.
get Value()
Returns the unformatted value for this property.
remove All Listeners()
Remove all previously added module:br-presenter/property/PropertyListener
instances.
remove Listener(oListener)
Remove a previously added module:br-presenter/property/PropertyListener
.
Parameters:
Name | Type | Description |
---|---|---|
oListener |
module:br-presenter |
The listener being removed. |