Model

Contains static functions for managing model data / application state.

Summary
Contains static functions for managing model data / application state.
Sets the model data for a particular model key.
Appends a data item to a model that is an array list.
Retrieves the data for a specified model based on the model key.
Retrieves the mojo.ModelReference object associated with a model.
Clears the model data for a particular model key.
Returns whether or not a specified model exists.
Notifies any registered observers of the specified model of a model change.
Registers an observer to a specified model.
Unregisters an observer from a model.

This should be changed to a Singleton in the future

Functions

set

mojo.Model.set = function(key,
valueObj)

Sets the model data for a particular model key.  If a model registered under the key does not exist, it is created.

Parameters

key{string}
valueObj{object}

Example

var data = [1 2,3];
mojo.Model.set("testModel", data); // store data into the "testModel" model

add

mojo.Model.add = function(key,
valueObj)

Appends a data item to a model that is an array list.

Parameters

key{string}
valueObj{object}

Example

var data = [1,2,3];
mojo.Model.set("testModel", data);
mojo.Model.add("testModel", 4); // model is now [1, 2, 3, 4]

get

mojo.Model.get = function(key)

Retrieves the data for a specified model based on the model key.

Parameters

key{string}

Returns

{object} Mojo Model.

Examples

var temp = mojo.Model.get("testModel");

getReference

mojo.Model.getReference = function(key)

Retrieves the mojo.ModelReference object associated with a model.  If model doesn’t exist, this function will generate one.  Object can be observed in a Mojo Controller.

Parameters

key{string}

Returns

{object} Model Reference Object

Example

// stand-alone usage
var modelObj = mojo.Model.getReference("testModel");

// usage in a Mojo Controller
this.addObserver(mojo.Model.getReference("testModel"), "onNotify", "SomeCommand");

remove

mojo.Model.remove = function(key)

Clears the model data for a particular model key.

Parameters

key{object}

Example

mojo.Model.remove("testModel");

contains

mojo.Model.contains = function(key)

Returns whether or not a specified model exists.

Parameters

key{string}

Returns

{boolean} Exists

Example

if (mojo.Model.contains("testModel")) {
// the model exists!
}

notify

mojo.Model.notify = function(key)

Notifies any registered observers of the specified model of a model change.  This method is automatically triggered on set, add, and remove Model methods.  This method is used with mojo.component.Template to re-databind the template.

Parameters

key{string}

Example

// observe "testModel" model
mojo.Model.addObserver("testModel", {doSomething: function() {
var data = mojo.Model.get("testModel");
//do something
}}, "doSomething");
mojo.Model.notify("testModel"); // notify observer to do something with model

addObserver

mojo.Model.addObserver = function(key,
targetObj,
targetFunc)

Registers an observer to a specified model.  Returns a handle to allow unregistering.

Parameters

key{string} Which model to observe.
targetObj{object} When to execute (onclick, etc)
targetFunc{string} What to execute on the target object.

Returns

{object} handle

Example

// observe "testModel" model
mojo.Model.addObserver("testModel", {doSomething: function() {
var data = mojo.Model.get("testModel");
//do something
}}, "doSomething");
mojo.Model.notify("testModel"); // notify observer to do something with model

removeObserver

mojo.Model.removeObserver = function(handle)

Unregisters an observer from a model.

Parameters

handle{object}

Example

// observe "testModel" model
var handle = mojo.Model.addObserver("testModel", {doSomething: function() {
var data = mojo.Model.get("testModel");
//do something
}}, "doSomething");
// remove observer
mojo.Model.removeObserver(handle);
mojo.Model.set = function(key,
valueObj)
Sets the model data for a particular model key.
mojo.Model.add = function(key,
valueObj)
Appends a data item to a model that is an array list.
mojo.Model.get = function(key)
Retrieves the data for a specified model based on the model key.
mojo.Model.getReference = function(key)
Retrieves the mojo.ModelReference object associated with a model.
mojo.Model.remove = function(key)
Clears the model data for a particular model key.
mojo.Model.contains = function(key)
Returns whether or not a specified model exists.
mojo.Model.notify = function(key)
Notifies any registered observers of the specified model of a model change.
mojo.Model.addObserver = function(key,
targetObj,
targetFunc)
Registers an observer to a specified model.
mojo.Model.removeObserver = function(handle)
Unregisters an observer from a model.