5d977ca7c6fef8eaa84f3289bffa3405bf4e0209
max
  Wed Nov 6 07:29:21 2024 -0800
forgot closing parentheses in previous commit

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index cb092c1..ad436b1 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -9507,44 +9507,46 @@
                                   "return imageV2.navigateButtonClick(this);");
         hTextVar("dinkR", cartUsualString(cart, "dinkR", "2.0"), 3);
         hButtonWithOnClick("hgt.dinkRR", " > ", "Move end position to the right",
                                   "return imageV2.navigateButtonClick(this);");
         hPrintf("</TD>");
         hPrintf("</TR></TABLE>\n");
         }
 
     if( chromosomeColorsMade )
         {
         hPrintf("<B>Chromosome Color Key:</B><BR> ");
         hPrintf("<IMG SRC = \"../images/new_colorchrom.gif\" BORDER=1 WIDTH=596 HEIGHT=18 ><BR>\n");
         }
     if (doPliColors)
         {
+        hPrintf("<div id='gnomadColorKeyLegend'>");
         hPrintf("<B>gnomAD Loss-of-Function Constraint (LOEUF) Color Key:</B><BR> ");
         hPrintf("<table style=\"border: 1px solid black\"><tr>\n");
         hPrintf("<td style=\"background-color:rgb(244,0,2)\">&lt; 0.1</td>\n");
         hPrintf("<td style=\"background-color:rgb(240,74,3)\">&lt; 0.2</td>\n");
         hPrintf("<td style=\"background-color:rgb(233,127,5)\">&lt; 0.3</td>\n");
         hPrintf("<td style=\"background-color:rgb(224,165,8)\">&lt; 0.4</td>\n");
         hPrintf("<td style=\"background-color:rgb(210,191,13)\">&lt; 0.5</td>\n");
         hPrintf("<td style=\"background-color:rgb(191,210,22)\">&lt; 0.6</td>\n");
         hPrintf("<td style=\"background-color:rgb(165,224,26)\">&lt; 0.7</td>\n");
         hPrintf("<td style=\"background-color:rgb(127,233,58)\">&lt; 0.8</td>\n");
         hPrintf("<td style=\"background-color:rgb(74,240,94)\">&lt; 0.9</td>\n");
         hPrintf("<td style=\"background-color:rgb(0,244,153)\">&ge; 0.9</td>\n");
         hPrintf("<td style=\"color: white; background-color:rgb(160,160,160)\">No LOEUF score</td>\n");
         hPrintf("</tr></table>\n");
+        hPrintf("</div>"); // gnomadColorKeyLegend
         }
 
     if (showTrackControls)
 	{
 	/* Display viewing options for each track. */
         /* Chuck: This is going to be wrapped in a table so that
          * the controls don't wrap around randomly */
         hPrintf("<table id='trackCtrlTable' border=0 cellspacing=1 cellpadding=1>\n");
 
         // since this is all a huge table (which it shouldn't be), the only way to add whitespace between two rows is to add an empty row
         // since padding and margin are not allowed on table rows. (One day, we will remove this table)
         hPrintf("<tr style='height:5px'><td></td></tr>\n");
 
         hPrintf("<tr><td align='left'>\n");
 
@@ -10200,30 +10202,32 @@
 // when most of the work has been completed. So the timer is only useful if what takes long is our own hgTracks javascript
 dyStringPrintf(dy, "var warnTimingTimer = setTimeout( function() { hgtWarnTiming(%f)}, %f);\n", maxTime, maxTime*1000);
 // In most cases, since the timer does not work well in practice, the following will always work: 
 // once the page is ready, we check how long it took to load.
 dyStringPrintf(dy, "$(document).ready( function() { clearTimeout(warnTimingTimer); hgtWarnTiming(%f)});\n", maxTime);
 
 jsInline(dy->string);
 dyStringFree(&dy);
 }
 
 
 void tracksDisplay()
 /* Put up main tracks display. This routine handles zooming and
  * scrolling. */
 {
+setupTimeWarning();
+
 char titleVar[256];
 char *oldPosition = cartUsualString(cart, "oldPosition", "");
 boolean findNearest = cartUsualBoolean(cart, "findNearest", FALSE);
 cartRemove(cart, "findNearest");
 
 boolean positionIsVirt = FALSE;
 position = getPositionFromCustomTracks();
 if (NULL == position)
     {
     position = cartGetPosition(cart, database, &lastDbPosCart);
     if (sameOk(cgiOptionalString("position"), "lastDbPos"))
 	{
         restoreSavedVirtPosition();
 	}
     if (startsWith(OLD_MULTI_REGION_CHROM, position))
@@ -10692,31 +10696,30 @@
 cartSetDbPosition(cart, database, lastDbPosCart);
 
 if (cartUsualBoolean(cart, "hgt.psOutput", FALSE))
     handlePostscript();
 else
     doTrackForm(NULL, NULL);
 
 boolean gotExtTools = extToolsEnabled();
 setupHotkeys(gotExtTools);
 if (gotExtTools)
     printExtMenuData(chromName);
 if (recTrackSetsEnabled())
     printRecTrackSets();
 if (exportedDataHubsEnabled())
     printExportedDataHubs(database);
-setupTimeWarning();
 }
 
 static void chromInfoTotalRow(int count, long long total, boolean hasAlias)
 /* Make table row with total number of sequences and size from chromInfo. */
 {
 cgiSimpleTableRowStart();
 cgiSimpleTableFieldStart();
 printf("Total: %d", count);
 cgiTableFieldEnd();
 cgiTableFieldStartAlignRight();
 printLongWithCommas(stdout, total);
 puts("&nbsp;&nbsp;");
 cgiTableFieldEnd();
 if (hasAlias)
     {