From: Cash Costello Date: Wed, 14 Sep 2011 02:21:12 +0000 (-0400) Subject: Fixes #3539 two conditions for triggering init,system now - dom is ready and language... X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=8a2611e5002982cbfd2843240c181c0796b043b2;p=lorea%2Felgg.git Fixes #3539 two conditions for triggering init,system now - dom is ready and languages loaded --- diff --git a/js/lib/elgglib.js b/js/lib/elgglib.js index f2545fb6c..9a372738d 100644 --- a/js/lib/elgglib.js +++ b/js/lib/elgglib.js @@ -379,4 +379,19 @@ elgg.getSelectorFromUrlFragment = function(url) { } } return ''; -}; \ No newline at end of file +}; + +/** + * Triggers the init hook when the library is ready + * + * Current requirements: + * - DOM is ready + * - languages loaded + * + */ +elgg.initWhenReady = function() { + if (elgg.config.languageReady && elgg.config.domReady) { + elgg.trigger_hook('init', 'system'); + elgg.trigger_hook('ready', 'system'); + } +} \ No newline at end of file diff --git a/js/lib/languages.js b/js/lib/languages.js index 4cfe84968..ae7ba63e2 100644 --- a/js/lib/languages.js +++ b/js/lib/languages.js @@ -32,6 +32,8 @@ elgg.reload_all_translations = function(language) { }, success: function(json) { elgg.add_translation(lang, json); + elgg.config.languageReady = true; + elgg.initWhenReady(); } }); }; diff --git a/views/default/js/elgg.php b/views/default/js/elgg.php index 76388f80c..133e128a4 100644 --- a/views/default/js/elgg.php +++ b/views/default/js/elgg.php @@ -56,11 +56,13 @@ elgg.version = ''; elgg.release = ''; elgg.config.wwwroot = ''; elgg.security.interval = 5 * 60 * 1000; +elgg.config.domReady = false; +elgg.config.languageReady = false; //After the DOM is ready $(function() { - elgg.trigger_hook('init', 'system'); - elgg.trigger_hook('ready', 'system'); + elgg.config.domReady = true; + elgg.initWhenReady(); });