From e159f7e4a96d26548066b532d600198a67557b61 Mon Sep 17 00:00:00 2001 From: raghunayyar Date: Thu, 6 Mar 2014 12:44:42 +0530 Subject: [PATCH] Enhancement: Implements Grouplist Toggle, Courtesy Calendar App Settings. --- settings/js/users/groups.js | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/settings/js/users/groups.js b/settings/js/users/groups.js index 13090b99162..b666ad5e74b 100644 --- a/settings/js/users/groups.js +++ b/settings/js/users/groups.js @@ -220,16 +220,26 @@ $(document).ready( function () { }); // Implements Quota Settings Toggle. - $('#app-navigation').find('.settings-button').on('click', function (e) { - $('.settings-button').addClass('opened'); - var settings = $('#app-settings'); - e.stopPropagation(); - settings.animate({height: "100px"}); - $('#app-settings-content').css('display', 'block'); - $(document).click(function (e) { - if (!settings.is(e.target) && settings.has(e.target).length === 0) { - settings.animate({height: "45px"}); + $('#app-settings-header').on('click keydown',function(event) { + if(wrongKey(event)) { + return; + } + var bodyListener = function(e) { + if($('#app-settings').find($(e.target)).length === 0) { + $('#app-settings').switchClass('open', ''); } - }); + }; + if($('#app-settings').hasClass('open')) { + $('#app-settings').switchClass('open', ''); + $('body').unbind('click', bodyListener); + } else { + $('#app-settings').switchClass('', 'open'); + $('body').bind('click', bodyListener); + } }); -}); \ No newline at end of file +}); + +var wrongKey = function(event) { + return ((event.type === 'keydown' || event.type === 'keypress') + && (event.keyCode !== 32 && event.keyCode !== 13)); +}; \ No newline at end of file -- 2.39.5