Commit | Line | Data |
---|---|---|
8f939417 RO |
1 | (function($) { |
2 | var menuReadyEvents = { | |
3 | adminMenu: $.Deferred(), | |
4 | crmMenu: $.Deferred() | |
5 | }; | |
6 | ||
7 | $.when(menuReadyEvents.adminMenu, menuReadyEvents.crmMenu) | |
8 | .done(hideMenuToggleButtonForNonAdminUsers); | |
9 | $(document).ready(menuReadyEvents.adminMenu.resolve); | |
10 | $(document).on('crmLoad', '#civicrm-menu', menuReadyEvents.crmMenu.resolve); | |
11 | ||
12 | /** | |
13 | * Hides the Menu Toggle Button when the Admin Menu is not available for the user. | |
14 | * It also positions the CiviCRM Menu in the right position in case it was displayed | |
15 | * under where the Admin Menu would have been. This avoids displaying an empty gap. | |
16 | */ | |
17 | function hideMenuToggleButtonForNonAdminUsers() { | |
18 | var $adminToolbar = $('#toolbar'); | |
19 | var $menuToggleButton = $('#crm-menubar-toggle-position'); | |
20 | var hasAdminToolbar = $adminToolbar.length > 0; | |
21 | ||
22 | if (hasAdminToolbar) { | |
23 | return; | |
24 | } | |
25 | ||
26 | $menuToggleButton.hide(); | |
27 | ||
28 | if (CRM.menubar.position === 'below-cms-menu') { | |
29 | CRM.menubar.togglePosition(); | |
30 | } | |
31 | } | |
32 | })(CRM.$); |