Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 24th, 2012  |  syntax: JavaScript  |  size: 1.61 KB  |  hits: 20  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. define("Karma",
  2.                 ['dojo/_base/declare',
  3.                  "karma/log",
  4.                  "karma/SmartCard"
  5.                  ], function(declare,karmaLog){
  6. dojo.provide("Karma");
  7.  
  8. //dojo.require("karma.log");
  9.  
  10. declare("Karma", null, {
  11.        
  12.         log: karma.log,
  13.         executeOnReady: [],
  14.         desktop: null,
  15.         smartCard: null,
  16.        
  17.         constructor: function(){
  18.  
  19.                 karma.log(DEBUG, "karma.constructor()");
  20.                
  21.                 if (!karmaConfig.useWebSockets) {
  22.                         window.WebSocket = undefined;
  23.                 }
  24.                
  25.         this.onReady(dojo.hitch(this, this._createDesktop));
  26.        
  27.         //dojo.require("karma.SmartCard");
  28.                 this.smartCard = new karma.SmartCard();
  29.         },
  30.        
  31.         init: function() {
  32.                
  33.                 karma.log(DEBUG, "karma.init()");
  34.                
  35.                 //dojo.require("karma.Kernel");
  36.                 require(["karma/Kernel"], function(){
  37.                 this.kernel = kernel = new karma.Kernel();
  38.                 this.kernel.init();
  39.                 });
  40.         },
  41.    
  42.         onReady: function(callback) {
  43.                
  44.                 karma.log(DEBUG, "Adding function to karma.onReady()");
  45.                 if (this._readyExecuted) {
  46.                         callback();
  47.                 }
  48.                 else {
  49.                         this.executeOnReady.push(callback);
  50.                 }
  51.         },
  52.        
  53.         ready: function() {
  54.                
  55.                 karma.log(DEBUG, "karma.ready()");
  56.                 for (var i in this.executeOnReady) {
  57.                         this.executeOnReady[i]();
  58.                 }
  59.                
  60.                 this._readyExecuted = true;
  61.         },
  62.        
  63.         _createDesktop: function() {
  64.                
  65.                 karma.log(DEBUG, "karma._createDesktop()");
  66.                
  67.                 dojo.require("karma.Desktop");
  68.                 this.desktop = desktop = new karma.Desktop({
  69.                         style:"background-color:#B7CDEE;",
  70.                         persistent: true
  71.         }, dojo.create('div', null, dojo.body()));
  72.                
  73.                 this.desktop.startup();
  74.         }
  75. });
  76. });
  77.  
  78. (function(){
  79.         dojo.ready(function(){
  80.                 karma = new Karma();
  81.                 karma.init();
  82.     });
  83. })();