16eee40c920d259c10ee345472708d0cc0cc3393
chmalee
  Tue Mar 3 11:25:23 2026 -0800
Adds an hg.conf defined 'popular' species list to the new search bar as a 'default' list of results upon focus of the search bar. Combines with 'recents' list. Add a chevron next to the search bar so users know the autocomplete has some default options, refs #36232

diff --git src/hg/js/hgSearch.js src/hg/js/hgSearch.js
index 8c0cb1170bb..6990f7afd5b 100644
--- src/hg/js/hgSearch.js
+++ src/hg/js/hgSearch.js
@@ -644,50 +644,49 @@
             // update the category tree for the new database
             updateFilters(uiState);
             $("#searchCategories").jstree(true).refresh(false,true);
             // show an informational message instead of "No results"
             var parentDiv = $("#searchResults");
             parentDiv.empty();
             if (uiState.search) {
                 parentDiv.html("<p>Genome changed, click Search to search this assembly.</p>");
             }
             updateCurrentGenomeLabel();
             changeSearchResultsLabel();
         }
         $("#spinner").remove();
     }
 
-    function initGenomeAutocomplete() {
-        // Initialize the genome search autocomplete using the standard function from utils.js
-        setupGenomeSearchBar({
-            inputId: 'genomeSearch',
-            labelElementId: 'currentGenome',
-            onSelect: function(item) {
+    function onGenomeQuickSelect(item) {
+        // Shared handler for both search bar and quick-select dropdown
         db = item.genome;
         uiState.db = item.genome;
-                // Send db as a cgiVar so cartNew() processes it during cart
-                // initialization. For GenArk assemblies, also send hubUrl and
-                // genome so hubConnectLoadHubs() can connect the hub and
-                // decorate the db name (e.g., GCF_XXX -> hub_115090_GCF_XXX).
         var cmd = { cgiVar: {db: item.genome}, getUiState: {} };
         if (item.hubUrl) {
             cmd.cgiVar.hubUrl = item.hubUrl;
             cmd.cgiVar.genome = item.genome;
         }
         cart.send(cmd, handleGenomeChange);
         cart.flush();
     }
+
+    function initGenomeAutocomplete() {
+        // Initialize the genome search autocomplete using the standard function from utils.js
+        setupGenomeSearchBar({
+            inputId: 'genomeSearch',
+            labelElementId: 'currentGenome',
+            onSelect: onGenomeQuickSelect
         });
     }
 
     function updateCurrentGenomeLabel() {
         // Update the label showing current genome
         var genomeInfo = null;
         // Find the current db in the genomes data
         _.each(uiState.genomes, function(genomeList) {
             _.each(genomeList, function(assembly) {
                 if (assembly.name === db ||
                     (assembly.isCurated && assembly.name === trackHubSkipHubName(db))) {
                     genomeInfo = assembly;
                 }
             });
         });