5.53.0 release notes: added boilerplate
[civicrm-core.git] / js / crm.menubar.js
index a9177bb5b2ced16a5bcff09953e02aa41d9acc2c..8360557f05daf8b5cb1ea4b7c60b990c0cabeaed 100644 (file)
     initializeResponsive: function() {
       var $mainMenuState = $('#crm-menubar-state');
       // hide mobile menu beforeunload
-      $(window).on('beforeunload unload', function() {
-        CRM.menubar.spin(true);
+      $(window).on('beforeunload unload', function(e) {
+        if (!e.originalEvent.returnValue) {
+          CRM.menubar.spin(true);
+        }
         if ($mainMenuState[0].checked) {
           $mainMenuState[0].click();
         }
             });
           },
           focus: function (event, ui) {
+            // This is when an item is 'focussed' by keyboard up/down or mouse hover.
+            // It is not the same as actually having focus, i.e. it is not :focus
+            var lis = $(event.currentTarget).find('li[data-cid="' + ui.item.value + '"]');
+            lis.children('div').addClass('ui-state-active');
+            lis.siblings().children('div').removeClass('ui-state-active');
+            // Returning false leaves the user-entered text as it was.
             return false;
           },
           select: function (event, ui) {
         .autocomplete( "instance" )._renderItem = function( ul, item ) {
           var uiMenuItemWrapper = $("<div class='ui-menu-item-uiMenuItemWrapper'>");
           if (item.value == 0) {
+            // "No results"
             uiMenuItemWrapper.text(item.label);
           }
           else {
               }));
           }
 
-          return $( "<li class='ui-menu-item'>" )
+          return $( "<li class='ui-menu-item' data-cid=" + item.value + ">" )
             .append(uiMenuItemWrapper)
             .appendTo( ul );
         };