refactored sandbox with requirejs

This commit is contained in:
Tankred Hase 2013-06-11 03:36:48 +02:00
parent 2007fbcc0f
commit 1c234b7def
2 changed files with 47 additions and 57 deletions

View File

@ -8,23 +8,7 @@
<link rel="stylesheet" href="css/styles.css"/>
<!-- The Scripts -->
<script src="lib/jquery-1.8.2.min.js"></script>
<script src="lib/underscore-1.4.4.min.js"></script>
<script src="lib/backbone-1.0.0.min.js"></script>
<script src="js/jqm-config.js"></script>
<script src="lib/jquery.mobile-1.2.0.min.js"></script>
<script src="js/app-config.js"></script>
<script src="js/view/login-view.js"></script>
<script src="js/view/compose-view.js"></script>
<script src="js/view/messagelist-view.js"></script>
<script src="js/view/messagelistitem-view.js"></script>
<script src="js/view/folderlist-view.js"></script>
<script src="js/view/read-view.js"></script>
<script src="js/app-router.js"></script>
<script src="sandbox.js"></script>
<script data-main="sandbox.js" src="lib/require.js"></script>
</head>
<body></body>

View File

@ -1,48 +1,54 @@
(function() {
require(['require-config'], function() {
'use strict';
var router,
mainWindow,
mainWindowOrigin;
// Start the main app logic.
require(['jquery', 'backbone', 'js/app-router',
'js/app-config'
], function($, Backbone, Router, app) {
/**
* Load templates and start the application
*/
$(document).ready(function() {
console.log('sandbox loaded');
var router,
mainWindow,
mainWindowOrigin;
// set listener for event from main window
window.onmessage = function(e) {
if (e.data.cmd === 'init') {
app.util.tpl.templates = e.data.args;
/**
* Load templates and start the application
*/
$(document).ready(function() {
console.log('sandbox loaded');
// remember references to main window
mainWindow = e.source;
mainWindowOrigin = e.origin;
// set listener for event from main window
window.onmessage = function(e) {
if (e.data.cmd === 'init') {
app.util.tpl.templates = e.data.args;
// start backone.js router
router = new app.Router();
Backbone.history.start();
}
// remember references to main window
mainWindow = e.source;
mainWindowOrigin = e.origin;
// start backone.js router
router = new Router();
Backbone.history.start();
}
};
});
/**
* Helper method to ease message posting between sandbox and main window
*/
app.util.postMessage = function(cmd, args, callback) {
// set listender
window.onmessage = function(e) {
if (e.data.cmd === cmd) {
callback(e.data.args);
}
};
// send message to main window
mainWindow.postMessage({
cmd: cmd,
args: args
}, mainWindowOrigin);
};
});
/**
* Helper method to ease message posting between sandbox and main window
*/
app.util.postMessage = function(cmd, args, callback) {
// set listender
window.onmessage = function(e) {
if (e.data.cmd === cmd) {
callback(e.data.args);
}
};
// send message to main window
mainWindow.postMessage({
cmd: cmd,
args: args
}, mainWindowOrigin);
};
}());
});