Merge pull request #15208 from civicrm/5.17
[civicrm-core.git] / js / crm.menubar.js
index f3b98afc7267d426c29c2783e9e8ea5a1fedbb3c..152a6e376e185de20a3318e0aee980a8c3aff961 100644 (file)
         }
       })
         .on('resize', function() {
-          if ($(window).width() >= 768 && $mainMenuState[0].checked) {
+          if (!isMobile() && $mainMenuState[0].checked) {
             $mainMenuState[0].click();
           }
           handleResize();
           $('#crm-qsearch-input').focus().autocomplete("search");
         }, 1);
       });
-      $('.crm-quickSearchField input[value="' + CRM.cache.get('quickSearchField', 'sort_name') + '"]').prop('checked', true);
+      var savedDefault = CRM.cache.get('quickSearchField');
+      if (savedDefault) {
+        $('.crm-quickSearchField input[value="' + savedDefault + '"]').prop('checked', true);
+      } else {
+        $('.crm-quickSearchField:first input').prop('checked', true);
+      }
       setQuickSearchValue();
       $('#civicrm-menu').on('activate.smapi', function(e, item) {
         return !$('ul.crm-quickSearch-results').is(':visible:not(.ui-state-disabled)');
   }
 
   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) {