From d9392db5ecd670a46f25dfd1a9dd11bb3142af10 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Mon, 12 Sep 2011 21:47:11 -0400 Subject: Refs #3800 including jeditable on more admin pages --- views/default/js/admin.php | 1 + 1 file changed, 1 insertion(+) (limited to 'views/default/js') diff --git a/views/default/js/admin.php b/views/default/js/admin.php index 2f2f59287..253a73887 100644 --- a/views/default/js/admin.php +++ b/views/default/js/admin.php @@ -32,6 +32,7 @@ elgg.admin.init = function () { }); // in-line editing for custom profile fields. + // @note this requires jquery.jeditable plugin $(".elgg-state-editable").editable(elgg.admin.editProfileField, { type: 'text', onblur: 'submit', -- cgit v1.2.3 From 8a2611e5002982cbfd2843240c181c0796b043b2 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Tue, 13 Sep 2011 22:21:12 -0400 Subject: Fixes #3539 two conditions for triggering init,system now - dom is ready and languages loaded --- js/lib/elgglib.js | 17 ++++++++++++++++- js/lib/languages.js | 2 ++ views/default/js/elgg.php | 6 ++++-- 3 files changed, 22 insertions(+), 3 deletions(-) (limited to 'views/default/js') 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(); });