Merge pull request #15208 from civicrm/5.17
[civicrm-core.git] / js / crm.menubar.js
index ed5eb920ee600ff5fea5c225bf2c26016f2a4d05..152a6e376e185de20a3318e0aee980a8c3aff961 100644 (file)
         }
       })
         .on('resize', function() {
-          if ($(window).width() >= 768 && $mainMenuState[0].checked) {
+          if (!isMobile() && $mainMenuState[0].checked) {
             $mainMenuState[0].click();
           }
           handleResize();
   }
 
   function handleResize() {
-    if ($(window).width() >= 768 && $('#civicrm-menu').height() > 50) {
+    if (!isMobile() && ($('#civicrm-menu').height() >= (2 * $('#civicrm-menu > li').height()))) {
       $('body').addClass('crm-menubar-wrapped');
     } else {
       $('body').removeClass('crm-menubar-wrapped');
     }
   }
 
+  // Figure out if we've hit the mobile breakpoint, based on the rule in crm-menubar.css
+  function isMobile() {
+    return $('.crm-menubar-toggle-btn', '#civicrm-menu-nav').css('top') !== '-99999px';
+  }
+
   function traverse(items, itemName, op) {
     var found;
     _.each(items, function(item, index) {