Class Index | File Index

Classes


Class MBX.JsController


Defined in: js_controller.js.

Class Summary
Constructor Attributes Constructor Name and Description
 
Create and extend controllers
Field Summary
Field Attributes Field Name and Description
<static>  
MBX.JsController.Event
This is mostly used internally and is fired on MBX everytime a controller is created
Method Summary
Method Attributes Method Name and Description
<static>  
MBX.JsController.create(name, opts)
Controllers allow some decently powerful hooks.
<static>  
MBX.JsController.destroyController(name)
Destroy a controller and unsubscribe its event listeners
<static>  
MBX.JsController.extend(methsAndAttrs)
call extend() to add methods and/or attributes to ALL controllers
Class Detail
MBX.JsController()
Create and extend controllers
Field Detail
<static> MBX.JsController.Event
This is mostly used internally and is fired on MBX everytime a controller is created
Method Detail
<static> MBX.JsController.create(name, opts)
Controllers allow some decently powerful hooks. You can specify a model, and an onInstanceChange, onInstanceDestroy, onInstanceCreate. If your controller listens to a model, but you are not dependent on real-time updates, you can add the option "looselyCoupled: true" and all updates will be done with setTimeout, which will be a performance enhancement.
          MBX.DesktopUploadController = MBX.JsController.create("DesktopUpload", {
              looselyCoupled: false, // false is the default
              ANewMethod: function (something) {
                  return something;
              }
          })
          MBX.DesktopUpload.ANewMethod("boo") == "boo";
          MBX.DesktopUploadController = MBX.JsController.create("DesktopUpload", {
              model: MBX.DesktopUpload,
              onInstanceCreate: function (instance) {
                  alert(instance.get('greeting'));
              }              
          });
          MBX.DesktopUpload.create({ greeting: 'hi' });  // will alert('hi');
          MBX.DesktopUploadController = MBX.JsController.create("DesktopUpload", {
              model: MBX.DesktopUpload,
              onInstanceChange: function (instance) {
                  alert(instance.get('greeting'));
              }              
          });
          var instance = MBX.DesktopUpload.create();
          instance.set('greeting', 'hi');  // will alert('hi')
Parameters:
{String} name
the name of the controller
{Object} opts
used to extend the controller methods at instantiation
See:
JsController

<static> MBX.JsController.destroyController(name)
Destroy a controller and unsubscribe its event listeners
Parameters:
{String} name
the name of the controller

<static> MBX.JsController.extend(methsAndAttrs)
call extend() to add methods and/or attributes to ALL controllers
Parameters:
{Object} methsAndAttrs

Documentation generated by JsDoc Toolkit 2.1.0 on Tue Dec 08 2009 14:00:29 GMT-0500 (EST)