aboutsummaryrefslogtreecommitdiff
path: root/js/lib
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib')
-rw-r--r--js/lib/hooks.js22
-rw-r--r--js/lib/ui.js34
2 files changed, 51 insertions, 5 deletions
diff --git a/js/lib/hooks.js b/js/lib/hooks.js
index eeaffb846..ab3a8a224 100644
--- a/js/lib/hooks.js
+++ b/js/lib/hooks.js
@@ -77,11 +77,23 @@ elgg.trigger_hook = function(name, type, params, value) {
elgg.provide(name + '.all', hooks);
elgg.provide('all.all', hooks);
- [ hooks[name][type],
- hooks['all'][type],
- hooks[name]['all'],
- hooks['all']['all']
- ].every(function(handlers) {
+ var hooksList = [];
+
+ if (name != 'all' && type != 'all') {
+ hooksList.push(hooks[name][type]);
+ }
+
+ if (type != 'all') {
+ hooksList.push(hooks['all'][type]);
+ }
+
+ if (name != 'all') {
+ hooksList.push(hooks[name]['all']);
+ }
+
+ hooksList.push(hooks['all']['all']);
+
+ hooksList.every(function(handlers) {
if (handlers instanceof elgg.ElggPriorityList) {
handlers.forEach(callHookHandler);
}
diff --git a/js/lib/ui.js b/js/lib/ui.js
index 4426917ed..46e418e8b 100644
--- a/js/lib/ui.js
+++ b/js/lib/ui.js
@@ -22,6 +22,13 @@ elgg.ui.init = function () {
if ($('.elgg-input-date').length) {
elgg.ui.initDatePicker();
}
+
+ // fix for ie7 CSS issue on menu dropdown
+ // open the menu when you hover over it, close when you click off of it.
+ // @todo This should be possible with CSS. Anyone want to tame the beast, go for it.
+ if ($.browser.msie && $.browser.version <= 7) {
+ $('.elgg-menu-site > .elgg-more').live('mouseenter', elgg.ui.ie7MenuFixMouseEnter)
+ }
}
/**
@@ -275,5 +282,32 @@ elgg.ui.initDatePicker = function() {
});
}
+/**
+ * IE 7 doesn't like our site menu system CSS, so open it with JS.
+ */
+elgg.ui.ie7MenuFixMouseEnter = function() {
+ $('.elgg-menu-site .elgg-menu-site-more').css('display', 'block');
+ $('.elgg-menu-site .elgg-more > a')
+ .css('background-color', 'white')
+ .css('color', '#555')
+
+ $body = $('body');
+ if (!$body.data('hasIe7Clear')) {
+ $body.live('click', elgg.ui.ie7MenuClear);
+ $body.data('hasIe7Clear', true);
+ }
+
+}
+
+/**
+ * Close the menu when clicking on the body
+ */
+elgg.ui.ie7MenuClear = function() {
+ $('.elgg-menu-site .elgg-menu-site-more').css('display', 'none');
+ $('.elgg-menu-site .elgg-more > a')
+ .css('background-color', 'transparent')
+ .css('color', 'white')
+}
+
elgg.register_hook_handler('init', 'system', elgg.ui.init);
elgg.register_hook_handler('getOptions', 'ui.popup', elgg.ui.LoginHandler); \ No newline at end of file