ViewModel
Summary
A representation of a data model, which has been reshaped into a form expected by a view.
Inspired by https://github.com/tommyh/backbone-view-model
Constructor
aeris.ViewModel
Syntax
aeris.ViewModel
-
opt_attrs
-
opt_options
Summary
Parameters:
-
opt_attrs
Object= -
opt_options
Object=-
data
Backbone.Model=Data model.
-
Item Index
Methods
Properties
Events
Methods
bindAttributesTo
Syntax
bindAttributesTo
-
target
-
attrs
Summary
Keep this model updated with values from the target model.
Immediately updates the model with the specified attributes, and updates this model whenever the target model's attributes change.
clone
Syntax
Summary
Create a copy of the model.
Parameters:
Returns:
destroy
Syntax
destroy
()
Summary
fetch
Syntax
fetch
()
Summary
Fetch model data.
fetchData
Syntax
Summary
Invoke the 'fetch' method on our data model.
Parameters:
-
opt_options
Object=Options to pass to the aeris.Model#fetch method.
Returns:
getAtPath
Syntax
Summary
Returns a deep-nested property of a model attribute.
Example: model.set('deepObj', { levelA: { levelB: { foo: 'bar' } } });
model.getAtPath('deepObj.levelA.levelB.foo'); // 'bar'
Returns undefined if the path cannot be resolved.
Parameters:
-
path
String
getDataAttribute
Syntax
Summary
Returns an attribute of the data model at a given path.
Parameters:
-
path
String
Returns:
isValid
Syntax
isValid
()
Summary
Validate the model's attributes.
normalize_
Syntax
Summary
This method is called every time attributes are set on the model.
Override to provide any additional processing needed for options object structure, etc.
Parameters:
-
attrs
Object
Returns:
Normalized attrs.
on
Syntax
on
()
Summary
Bind an event handler to the object. See Backbone.Events#on
onValidationError_
Syntax
onValidationError_
-
model
-
error
Summary
Handle 'invalid' events thrown by the model.
Parameters:
-
model
Model -
error
ValidationError
parse
Syntax
parse
()
protected
Summary
Syntax
Summary
proxyEvents
Syntax
proxyEvents
-
obj
-
=}
-
opt_ctx
Summary
Proxies all events from another {aeris.Event} object. In other words, all the events that you trigger, I'm gonna trigger too.
Passes along the original object as the first argument when triggering proxied events.
Parameters:
-
obj
Events=The object to proxy.
-
=}
Function(string, Array):Objectopt_callback A callback function to customize the proxied event. Should return on object with 'topic' and 'args' properties.
Example: parent.proxy(child, function(topic, args) { return { topic: 'child:' + topic, args: [child].concat(args) } }); ...would trigger all child events, with a topic prepended with 'child:', and with the child object inserted as the first argument.
-
opt_ctx
Object=A context in which to call the opt_callback function. Defaults to this.
removeProxy
Syntax
removeProxy
()
protected
Summary
End any proxies that have been wrapped around this {Events} object.
set
Syntax
set
-
config
Summary
Normalize attributes before setting
Parameters:
-
config
Object
sync
Syntax
sync
-
method
-
model
-
options
Summary
Parameters:
-
method
String -
model
Backbone.Model -
options
Object=
syncToModel
Syntax
syncToModel
()
Summary
Uses attribute transforms to sync the view model to the data model.
updateWithAttributesOf_
Syntax
updateWithAttributesOf_
-
target
-
attrs
Summary
Update the attributes of the model with attributes from another model.
validate
Syntax
validate
()
protected
Summary
Properties
attributeTransforms_
Syntax
attributeTransforms_
Object.Summary
A hash of transforms to apply to attributes.
Example: { km: function() { return this.getData().get('miles') * 1.609344; } }
this.getData().set('miles', 3.0); this.get('km'); // 4.82803
defaults
Syntax
defaults
Unknown
Summary
idAttribute
Syntax
idAttribute
Unknown
Summary
Events
add
Syntax
add
Summary
When a model is added to a {aeris.Collection}.
Event Payload:
-
model
aeris.Model -
collection
aeris.Collection
change:[attribute]
Syntax
change:[attribute]
Summary
When a model's attribute changes, where [attribute] is the name of the attribute.
Event Payload:
-
model
aeris.Model -
value
remove
Syntax
remove
Summary
When a model is removed from a {aeris.Collection}.
Event Payload:
-
model
aeris.Model -
collection
aeris.Collection