mail/src/js/window-loader.js

42 lines
834 B
JavaScript

(function() {
'use strict';
var controller;
/**
* Load templates and start the application
*/
$(document).ready(function() {
controller = new app.Controller();
controller.init(function() {
controller.start(startApp);
});
});
function startApp() {
// sandboxed ui in iframe
var sandbox = document.getElementById('sandboxFrame').contentWindow;
// set global listener for events from sandbox
window.onmessage = function(e) {
var cmd = e.data.cmd;
var args = e.data.args;
// handle the workload in the main window
controller.execute(cmd, args, function(resArgs) {
// send reponse to sandbox
sandbox.postMessage({
cmd: cmd,
args: resArgs
}, '*');
});
};
// init sandbox ui
sandbox.postMessage({
cmd: 'init',
args: app.util.tpl.templates
}, '*');
}
}());