# HG changeset patch # User Atul Varma # Date 1272161078 25200 # Node ID d3ed74176b4d9047e3c8e35e1803c8bffa0ce0dc # Parent 0974c1df3714e2d804c78151d86b6672bb41737a added module preloading and loading screen diff -r 0974c1df3714 -r d3ed74176b4d css/main.css --- a/css/main.css Sat Apr 24 18:33:45 2010 -0700 +++ b/css/main.css Sat Apr 24 19:04:38 2010 -0700 @@ -41,6 +41,11 @@ float: right; } +#loading-screen { + width: 2em; + margin: 10em auto; +} + #reports .container { display: table; } diff -r 0974c1df3714 -r d3ed74176b4d js/main.js --- a/js/main.js Sat Apr 24 18:33:45 2010 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -$(window).ready( - function() { - var require = Require.build(Require.modules, {jQuery: jQuery}); - require("app/ui").init(document); - }); diff -r 0974c1df3714 -r d3ed74176b4d js/require.js --- a/js/require.js Sat Apr 24 18:33:45 2010 -0700 +++ b/js/require.js Sat Apr 24 19:04:38 2010 -0700 @@ -18,6 +18,24 @@ } return moduleExports[module]; }; + }, + preload: function preload(document, scripts, cb) { + var scriptsLeft = scripts.length; + + function onScriptLoaded() { + scriptsLeft--; + if (!scriptsLeft) + cb(); + }; + + scripts.forEach( + function(scriptName) { + var script = document.createElement("script"); + + script.src = scriptName; + script.onload = onScriptLoaded; + document.body.appendChild(script); + }); } }; diff -r 0974c1df3714 -r d3ed74176b4d main.html --- a/main.html Sat Apr 24 18:33:45 2010 -0700 +++ b/main.html Sat Apr 24 19:04:38 2010 -0700 @@ -15,6 +15,7 @@
  • File A Bug +
     
    @@ -43,8 +44,21 @@ - + + var customModuleExports = { + jQuery: jQuery + }; + + Require.preload(document, moduleScripts, function whenLoaded() { + $("#loading-screen").hide(); + var require = Require.build(Require.modules, customModuleExports); + require("app/ui").init(document); + }); +}); +