fccc494337013c07d32c506fec1ae07a5b93ff88 braney Sun Oct 23 17:00:03 2022 -0700 deal with curated assemblies in hgSearch diff --git src/hg/js/hgSearch.js src/hg/js/hgSearch.js index 0d4162d..2676486 100644 --- src/hg/js/hgSearch.js +++ src/hg/js/hgSearch.js @@ -619,54 +619,60 @@ parentDiv.empty(); parentDiv.html(msg); clearOldFacetCounts(); } else { parentDiv.empty(); } } function fillOutAssemblies(e) { organism = $("#speciesSelect")[0].value; select = $("#dbSelect"); select.empty(); _.each(_.sortBy(uiState.genomes[organism], ['orderKey']), function(assembly) { newOpt = document.createElement("option"); newOpt.value = assembly.name; - newOpt.label = assembly.organism + " " + assembly.description; + newOpt.label = trackHubSkipHubName(assembly.organism) + " " + assembly.description; if (assembly.name == db) { newOpt.selected = true; } $("#dbSelect").append(newOpt); }); // if we are getting here from a change event on the species dropdown // and are switching to the default assembly for a species, we can // automatically send a search for this organism+assembly if (e !== undefined) { switchAssemblies($("#dbSelect")[0].value); } } function buildSpeciesDropdown() { // Process the species select dropdowns _.each(uiState.genomes, function(genome) { newOpt = document.createElement("option"); newOpt.value = genome[0].organism; - newOpt.label = genome[0].organism; + newOpt.label = trackHubSkipHubName(genome[0].organism); if (genome.some(function(assembly) { + if (assembly.isCurated) { + if (assembly.name === trackHubSkipHubName(db)) { + return true; + } + } else { if (assembly.name === db) { return true; } + } })) { newOpt.selected = true; } $("#speciesSelect").append(newOpt); }); } function changeSearchResultsLabel() { // change the title to indicate what assembly was search: $("#dbPlaceholder").empty(); $("#dbPlaceholder").append("on " + db + " (" + $("#dbSelect")[0].selectedOptions[0].label+ ")"); } function checkJsonData(jsonData, callerName) { // Return true if jsonData isn't empty and doesn't contain an error; @@ -752,36 +758,33 @@ _.assign(uiState, {"search": searchTerm}); cart.send({ getSearchResults: { db: db, search: searchTerm } }, handleRefreshState, handleErrorState); // always update the results when a search has happened cart.flush(); } } function switchAssemblies(newDb) { - // get the new uiState, or look it up if we've already seen it - db = newDb; - cart.send({ getUiState: {db: db} }, handleRefreshState); - cart.flush(); - // make changing the database automatically fire off a search - sendUserSearch(); + // reload the page to attach curated hub (if any) + re = /db=[\w,\.]*/; + window.location = window.location.href.replace(re,"db="+newDb); } function init() { cart.setCgi('hgSearch'); cart.debug(debugCartJson); // If a user clicks search before the page has finished loading // start processing it now: $("#searchBarSearchButton").click(sendUserSearch); if (typeof cartJson !== "undefined") { if (cartJson.db !== undefined) { db = cartJson.db; } else { alert("Error no database from request"); } var urlParts = {};