diff --git a/demos/list/index.html b/demos/list/index.html
index 32080562..20076630 100644
--- a/demos/list/index.html
+++ b/demos/list/index.html
@@ -3,8 +3,7 @@
ox.js list demo
-
-
+
diff --git a/demos/list/js/list.js b/demos/list/js/list.js
index 47512bd3..f214a816 100644
--- a/demos/list/js/list.js
+++ b/demos/list/js/list.js
@@ -1,6 +1,6 @@
-Ox.UI(function() {
+Ox.load('UI', function() {
- Ox.theme('modern');
+ Ox.Theme('modern');
var $treeList = new Ox.TreeList({
items: [
diff --git a/demos/mouse/index.html b/demos/mouse/index.html
index b6085562..3dfbdaa2 100644
--- a/demos/mouse/index.html
+++ b/demos/mouse/index.html
@@ -3,8 +3,7 @@
OxJS Mouse Events Demo
-
-
+
diff --git a/demos/mouse/js/mouse.js b/demos/mouse/js/mouse.js
index 62da972d..a007beb6 100644
--- a/demos/mouse/js/mouse.js
+++ b/demos/mouse/js/mouse.js
@@ -1,4 +1,4 @@
-Ox.UI(function() {
+Ox.load('UI', function() {
var $target = Ox.Element()
.css({
position: 'absolute',
diff --git a/source/js/Ox.UI/Ox.UI.js b/source/js/Ox.UI/Ox.UI.js
index 013fe011..30144b65 100644
--- a/source/js/Ox.UI/Ox.UI.js
+++ b/source/js/Ox.UI/Ox.UI.js
@@ -43,6 +43,8 @@ Ox.load.UI = function(options, callback) {
function showScreen() {
+ console.log('showScreen')
+
var body = Ox.element('body'),
css = {
position: 'absolute',
@@ -154,10 +156,17 @@ Ox.load.UI = function(options, callback) {
Ox.loadFile(Ox.PATH + 'js/jquery/jquery.js', function() {
initUI();
$.getJSON(Ox.PATH + 'json/Ox.UI.json', function(files) {
- var counter = 0;
+ var promises = [];
files.forEach(function(file) {
+ var dfd = new $.Deferred();
Ox.loadFile(Ox.PATH + file, function() {
- ++counter == files.length && Ox.documentReady(function() {
+ dfd.resolve();
+ });
+ promises.push(dfd.promise())
+ });
+ $.when.apply(null, promises)
+ .done(function() {
+ $(function() {
var $div;
Ox.Theme(options.theme);
if (browserSupported && options.showScreen && options.hideScreen) {
@@ -171,8 +180,10 @@ Ox.load.UI = function(options, callback) {
}
callback(browserSupported);
});
+ })
+ .fail(function() {
+ throw new Error('File not found.')
});
- });
});
});
diff --git a/source/js/Ox.js b/source/js/Ox.js
index a108687f..6751bab5 100644
--- a/source/js/Ox.js
+++ b/source/js/Ox.js
@@ -1237,19 +1237,22 @@ Ox.canvas = function() {
Ox.documentReady = (function() {
var callbacks = [];
- document.addEventListener('DOMContentLoaded', ready, false);
- function ready() {
- document.removeEventListener('DOMContentLoaded', ready, false);
- callbacks.forEach(function(callback) {
- callback();
- });
- delete callbacks;
- }
+ document.onreadystatechange = function() {
+ if (document.readyState == 'complete') {
+ Ox.print('document has become ready', callbacks);
+ callbacks.forEach(function(callback) {
+ callback();
+ });
+ delete callbacks;
+ }
+ };
return function(callback) {
if (document.readyState == 'complete') {
+ Ox.print('document is ready')
callback();
} else {
- callbacks.push(callback);
+ callbacks.push(callback);
+ Ox.print('document is not ready', callbacks)
}
}
}());