\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(" ");
cgiTableFieldEnd();
if (hasAlias)
{
|