c4f69a770921ab7abea2f19ffab65abdbff8d916 hiram Mon Aug 26 10:02:06 2024 -0700 preparing to save history state, get all the URL arguments back into the web browser URL display refs #32596 diff --git src/hg/js/assemblySearch.js src/hg/js/assemblySearch.js index 055445c..f31b48e 100644 --- src/hg/js/assemblySearch.js +++ src/hg/js/assemblySearch.js @@ -76,33 +76,33 @@ comment = document.getElementById("comment"); requestSubmitButton = document.getElementById("submitButton"); document.getElementById("modalFeedback").addEventListener("submit", checkForm, false); modalInit(); clearButton.addEventListener('click', function() { searchInput.value = ''; // Clear the search input field }); searchForm.addEventListener('submit', function(event) { event.preventDefault(); // Prevent form submission var searchTerm = document.getElementById('searchBox').value; var resultCountLimit = document.getElementById('maxItemsOutput'); - browserExist = "mayExist"; var mustExist = document.getElementById('mustExist').checked; var notExist = document.getElementById('notExist').checked; + browserExist = "mustExist"; if (mustExist && notExist) { browserExist = "mayExist"; } else if (notExist) { browserExist = "notExist"; } var wordMatch = document.querySelector('input[name="wordMatch"]:checked').value; makeRequest(searchTerm, browserExist, resultCountLimit.value, wordMatch); }); advancedSearchButton.addEventListener('click', function() { var advancedSearchOptions = document.getElementById("advancedSearchOptions"); // I don't know why it is false the first time ? if (! advancedSearchOptions.style.display || advancedSearchOptions.style.display === "none") { advancedSearchOptions.style.display = "flex"; @@ -473,30 +473,39 @@ }); queryString = queryPlus.trimStart(); // remove first space character } } // Show the wait spinner document.querySelector(".submitContainer").classList.add("loading"); document.getElementById("loadingSpinner").style.display = "block"; var xhr = new XMLHttpRequest(); var urlPrefix = "/cgi-bin/hubApi"; var url = "/findGenome?q=" + encodeURIComponent(queryString); url += ";browser=" + browserExist; url += ";maxItemsOutput=" + resultLimit; + var historyUrl = "?q=" + encodeURIComponent(queryString) + ";browser=" + browserExist + ";maxItemsOutput=" + resultLimit; + if (debug) { + historyUrl += ";debug=1"; + } + if (measureTiming) { + historyUrl += ";measureTiming=1"; + } + history.pushState(null, '', historyUrl); + if (debug) { var apiUrl = "" + url + ""; document.getElementById("recentAjax").innerHTML = apiUrl; } xhr.open('GET', urlPrefix + url, true); xhr.onload = function() { if (xhr.status === 200) { // Hide the wait spinner once the AJAX request is complete document.querySelector(".submitContainer").classList.remove("loading"); document.getElementById("loadingSpinner").style.display = "none"; enableButtons(); var data = JSON.parse(xhr.responseText); populateTableAndInfo(data);