refactoring
[fnpeditor.git] / fnpjs / runner.js
index 8cce7d2..d8dcda9 100644 (file)
@@ -1,77 +1,77 @@
-define(['libs/jquery-1.9.1.min', 'libs/underscore-min'], function($, _) {\r
-\r
-var Runner = function(app, modules) {\r
-\r
-    function getModuleInstance(moduleName) {\r
-        var module = moduleInstances[moduleName] = (moduleInstances[moduleName] || modules[moduleName](new Sandbox(moduleName)));\r
-        return module;\r
-    }\r
-\r
-    var bootstrappedData = {},\r
-        options = {},\r
-        moduleInstances = {},\r
-        eventListeners = [];\r
-        \r
-    _.each(_.keys(modules || {}), function(moduleName) {\r
-        if(_.contains(app.permissions[moduleName] || [], 'handleEvents')) {\r
-            eventListeners.push(moduleName)\r
-        }\r
-    });\r
-\r
-    \r
-        \r
-    var Sandbox = function(moduleName) {\r
-        this.$ = $;\r
-        this._ = _;\r
-        \r
-        this.getBootstrappedData = function() {\r
-            return bootstrappedData[moduleName];\r
-        }\r
-        \r
-        this.getTemplate = function(templateName) {\r
-            return _.template($('[data-template-name="' + moduleName + '.' + templateName + '"]').html().trim());\r
-        }\r
-        \r
-        this.publish = function(eventName) {\r
-            console.log(moduleName + ': ' + eventName);\r
-            var eventArgs = Array.prototype.slice.call(arguments, 1)\r
-            _.each(eventListeners, function(listenerModuleName) {\r
-                var listener = moduleInstances[listenerModuleName];\r
-                if(listener) {\r
-                    listener.handleEvent(moduleName, eventName, eventArgs);\r
-                }\r
-            });\r
-        }\r
-        \r
-        var permissions = app.permissions[moduleName];\r
-        \r
-        this.getModule = _.contains(permissions, 'getModule') ? function(requestedModuleName) {\r
-            return getModuleInstance(requestedModuleName);\r
-        } : undefined;\r
-        \r
-        this.getDOM = _.contains(permissions, 'getDOM') ? function() {\r
-            return $(options.rootSelector);\r
-        } : undefined;\r
-        \r
-    };\r
-    \r
-    \r
-    this.setBootstrappedData = function(moduleName, data) {\r
-        bootstrappedData[moduleName] = data;\r
-    };\r
-    \r
-    this.start = function(_options) {\r
-        options = _.extend({\r
-            rootSelector: 'body'\r
-        }, _options);\r
-        app.initModules.forEach(function(moduleName) {\r
-            getModuleInstance(moduleName).start();\r
-        });\r
-    }\r
-}\r
-\r
-return {\r
-    Runner: Runner\r
-}\r
-\r
+define(['libs/jquery-1.9.1.min', 'libs/underscore-min'], function($, _) {
+
+var Runner = function(app, modules) {
+
+    function getModuleInstance(moduleName) {
+        var module = moduleInstances[moduleName] = (moduleInstances[moduleName] || modules[moduleName](new Sandbox(moduleName)));
+        return module;
+    }
+
+    var bootstrappedData = {},
+        options = {},
+        moduleInstances = {},
+        eventListeners = [];
+        
+    _.each(_.keys(modules || {}), function(moduleName) {
+        if(_.contains(app.permissions[moduleName] || [], 'handleEvents')) {
+            eventListeners.push(moduleName);
+        }
+    });
+
+    
+        
+    var Sandbox = function(moduleName) {
+        this.$ = $;
+        this._ = _;
+        
+        this.getBootstrappedData = function() {
+            return bootstrappedData[moduleName];
+        };
+        
+        this.getTemplate = function(templateName) {
+            return _.template($('[data-template-name="' + moduleName + '.' + templateName + '"]').html().trim());
+        };
+        
+        this.publish = function(eventName) {
+            console.log(moduleName + ': ' + eventName);
+            var eventArgs = Array.prototype.slice.call(arguments, 1);
+            _.each(eventListeners, function(listenerModuleName) {
+                var listener = moduleInstances[listenerModuleName];
+                if(listener) {
+                    listener.handleEvent(moduleName, eventName, eventArgs);
+                }
+            });
+        };
+        
+        var permissions = app.permissions[moduleName];
+        
+        this.getModule = _.contains(permissions, 'getModule') ? function(requestedModuleName) {
+            return getModuleInstance(requestedModuleName);
+        } : undefined;
+        
+        this.getDOM = _.contains(permissions, 'getDOM') ? function() {
+            return $(options.rootSelector);
+        } : undefined;
+        
+    };
+    
+    
+    this.setBootstrappedData = function(moduleName, data) {
+        bootstrappedData[moduleName] = data;
+    };
+    
+    this.start = function(_options) {
+        options = _.extend({
+            rootSelector: 'body'
+        }, _options);
+        app.initModules.forEach(function(moduleName) {
+            getModuleInstance(moduleName).start();
+        });
+    };
+};
+
+return {
+    Runner: Runner
+};
+
 });
\ No newline at end of file