24db314b5051da133465b7d5e0944aeba4bf25a0 chmalee Fri Mar 6 11:58:12 2026 -0800 Make better labels when printing recent genomes to the menu bar. Don't print the default hg38/hg19/mm10/mm39/hs1 since they are already there by default, refs #36535 diff --git src/hg/js/utils.js src/hg/js/utils.js index 47cc16ab302..e9c65f475b2 100644 --- src/hg/js/utils.js +++ src/hg/js/utils.js @@ -4584,36 +4584,45 @@ let results = []; for (let genome of recentObj.stack) { if (recentObj.results[genome]) { let item = document.createElement("li"); let link = document.createElement("a"); link.href = recentGenomeHref(recentObj.results[genome]); link.textContent = recentObj.results[genome].label; item.appendChild(link); results.push(item); } } // construct the current list of labels const labelList = []; document.querySelectorAll("#tools1 > ul > li > a").forEach( (a) => { + if (a.textContent.includes("/")) { + // try to extract just the 'hg38' or 'mm10' part + let splitLabel = a.textContent.split("/"); + if (splitLabel[1].length > 0) + labelList.push(splitLabel[1]); + } else { labelList.push(a.textContent); + } }); // filter our list of recents against the list of "Genomes" let finalResult = results.filter( (result) => { - return !labelList.includes(result.firstChild.textContent); + return !labelList.some( (l) => { + return result.firstChild.textContent.includes(l); + }); }); // Only add separators and items if we have recents to add if (finalResult.length === 0) return; let lastLink = document.querySelector("#tools1 > ul > .last"); let parent = lastLink.parentNode; // Add a separator after the default entries to separate from recents let defaultLinks = parent.querySelectorAll("li.defaultDropdownLink"); if (defaultLinks.length > 0) { let lastDefault = defaultLinks[defaultLinks.length - 1]; let separator = document.createElement("li"); separator.className = "horizSep noHighlight"; lastDefault.after(separator);