7b8b81e0a4869b24cdd8d7d31eaad33aacb87c0a
hiram
  Wed Aug 21 09:03:50 2024 -0700
will now perform the request email properly and the html page can take arguments refs #32596

diff --git src/hg/htdocs/assemblySearch.html src/hg/htdocs/assemblySearch.html
index af3e8f2..35f080e 100755
--- src/hg/htdocs/assemblySearch.html
+++ src/hg/htdocs/assemblySearch.html
@@ -1,103 +1,86 @@
 <!DOCTYPE HTML>
 <!--#set var="TITLE" value="Genome Assembly Search" -->
 <!--#set var="ROOT" value="" -->
 
 <!--#include virtual='$ROOT/inc/gbPageStartHardcoded.html' -->
 
 <link rel="stylesheet" type="text/css" href="<!--#echo var='ROOT' -->/style/assemblySearch.css">
 
-    <h1>Assembly search page</h1>
+    <h1>Genome assembly search and request</h1>
 <hr>
-    <p><b>TO BE DONE:</b> when browser doesn't exist: pop-up request form
-    </p>
     <form id="searchForm">
         <div class="formDiv">
         <div>
         <label for="searchBox">Enter search term(s) to find assembly:</label>
         <input type="text" id="searchBox" name="searchBox" required>
         <div class="submitContainer">
-           <button id="submitButton" type="submit">Search</button>
+           <button id="submitSearch" type="submit">Search</button>
            <div id="loadingSpinner" class="spinner"></div>
         </div>
-        <button type="button" id="clearSearch">Clear</button>
-        <label for="limitResultCount">limit results to:
-        <select id="limitResultCount" name="limitResultCount">
-           <option value="10">10</option>
-           <option value="20">20</option>
-           <option value="50">50</option>
-           <option value="100">100</option>
-           <option value="200">200</option>
-           <option value="500" selected>500</option>
-        </select>
-        count</label>&nbsp;-
+        <button type="button" id="clearSearch">Clear</button>&nbsp;-
         <span class="searchTip">advanced search tips
+        <input type="hidden" id="maxItemsOutput" value="500">
       <span class="searchTiptext">
 <ol class="noBullets">
 <li> + (plus) sign before <b>+word</b> to force included in result</li>
 <li> - (minus) sign before <b>-word</b> to exclude word from result</li>
 <li> * (asterisk) character at end of <b>word*</b> to make the word be a prefix search</li>
 <li> enclose "words in quotes" to form a phrase for the search</li>
 <li> all searches are case insensitive</li>
 <li> single word searches become prefix searches if the word does not match by itself </li>
+<li>example API call: <span id="recentAjax">n/a</span></li>
 </ol>
 </span>
                </span>
         </div>
         <div class="radioGroupContainer">
            <div class="radioGroup">
            <label><input type="checkbox" id="mustExist" name="mustExist" value="mustExist" checked>
               show assemblies in available browsers
            </label><br>
            <label><input type="checkbox" id="notExist" name="notExist" value="notExist" checked>
               show assemblies that can be requested
            </label>
            </div>
            <div class="radioGroup">
               <label>may match any word <input type="radio" name="wordMatch" value="anyWord"></label>
               <label>must match all words <input type="radio" name="wordMatch" value="allWords" checked></label>
            </div>
         </div>
         </div>
     </form>
     <div>
-    <p><b>results for search string: '</b><span id="searchString">&nbsp;</span>',
-    <b>total matching: </b><span id="matchCounts">0</span>,
-    <b>from total number of assemblies: </b><span id="availableAssemblies">0</span>,
-    <b>search time: </b><span id="elapsedTime">0 milliseconds</span>.
-    </p>
+    <span id="resultCounts">&nbsp;</span>
+    <span id="measureTiming">- <em>search time: </em><span id="elapsedTime">0 milliseconds</span>.</span>
     </div>
     <hr>
-    <table id="dataTable" class="sorttable fifthRowHighlight" style="border: 1px solid black; display:block; max-height: 800px; max-width:1300px; overflow:auto; position:sticky; top:0;">
-        <colgroup>
-          <col style="width: 10%">
-          <col style="width: 10%">
-          <col style="width: 10%">
-          <col style="width: 20%">
-          <col style="width: 8%">
-          <col style="width: 42%">
+    <table id="dataTable" class="dataTable sorttable fifthRowHighlight" style="border: 1px solid black; display:block; max-width:1300px; position:sticky; top:0;">
+        <colgroup id='colDefinitions'>
+          <col id='viewReq' style="width: 10%">
+          <col id='comName' style="width: 10%">
+          <col id='sciName' style="width: 10%">
+          <col id='asmId' style="width: 20%">
+          <col id='clade' style="width: 8%">
+          <col id='description' style="width: 42%">
         </colgroup>
         <thead style="position:sticky; top:0; border:1px solid #ddd; width:100%" id="tableHeader">
-         <tr><th>view/<br>request</th>
-         <th>English common name</th>
-         <th>scientific name</th>
-         <th>assembly</th>
-         <th>clade</th>
-         <th>description</th>
-         </tr>
+         <!-- table header rows are filled in by javaScript since they can
+              be altered by the sorttable system and need to be refreshed -->
+         <tr><td>&nbsp;</td></tr>
         </thead>
         <tbody id="tableBody"></tbody>
     </table>
     </hr>
     <div id="metaData">
     </div>
     </hr>
 
 
 <hr />
 <!--#include virtual='$ROOT/inc/garModal.html' -->
 </div><!-- closing gbsPage from gbPageStartHardcoded.html -->
 </div><!-- closing container-fluid from gbPageStartHardcoded.html -->
 <!--#include virtual="$ROOT/inc/gbFooterHardcoded.html"-->
 <script src="<!--#echo var='ROOT' -->/js/assemblySearch.js"></script>
 <script src="<!--#echo var='ROOT' -->/js/sorttable.js"></script>
 </body></html>