Site:Frontend:Controllers

From Metrixstream
(Difference between revisions)
Jump to: navigation, search
Line 5: Line 5:
 
= Basic Site Controller =
 
= Basic Site Controller =
  
Example Controller:
+
== Example Controller ==
  
 
   <script type="text/javascript">
 
   <script type="text/javascript">
Line 37: Line 37:
 
     };
 
     };
 
   </script>
 
   </script>
 +
 +
== Instantiating ==
  
 
In the example controller, siteController is instantiated with the authenticated username, the public username (if avaliable), and the public contentId (if avaliable) which are stored so they can be accessed throughout the class.
 
In the example controller, siteController is instantiated with the authenticated username, the public username (if avaliable), and the public contentId (if avaliable) which are stored so they can be accessed throughout the class.
 
The
 
 
<script type="text/javascript">
 
  var site = new siteController('<?cs var:MS.site.auth.username ?>', '<?cs var:MS.activeUser.username ?>', '<?cs var:MS.activeContent.id');
 
  $(document).ready(function() {
 
    site.registerUrls({
 
      'someUrl':'http://somesite.com'
 
    });
 
  });
 
</script>
 

Revision as of 10:36, 20 June 2012

Contents

Introduction

A Controller is a javascript class that will manage all the necessary javascript. This class is broken down by functionality and should only be instantiated when necessary.

Basic Site Controller

Example Controller

 <script type="text/javascript">
   function siteController(authUser, publicUser, publicContentId) {
     this.authUser   = authUser;
     this.publicUser = publicUser;
     this.contentId  = publicContentId;
     this.urls = [];
   }
 
   siteController.prototype.registerUrls = function(urls) {
     this.urls = urls;
   };
 
   siteController.prototype.registerProfileFunctions = function() {
     var myThis = this;
 
     $('#getUserState').click(function(e) {
       e.preventDefault();
       $.ajax({
         type: 'get',
         url:  myThis.urls['userStateUrl'],
         data: {
           'user': myThis.publicUser
         },
         success: function(data) {
           alert('This user is '+ data.state);
         }
       });
     });
   };
 </script>

Instantiating

In the example controller, siteController is instantiated with the authenticated username, the public username (if avaliable), and the public contentId (if avaliable) which are stored so they can be accessed throughout the class.

Personal tools