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; } }); });