b9d7723866095088387017765ea962f83e87bbfd
kate
Wed May 6 16:23:13 2020 -0700
Add supertrack to supertrack member title bar. Part of attempt to make supertrack member UI page easier to understand (show hierarchy but subtly). refs #24948
diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index 3466481..0fafe9e 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -3420,31 +3420,31 @@
// NAVLINKS - For pages w/ matrix, add Description, Subtracks and Downloads links
if (trackDbSetting(tdb, "dimensions")
|| (trackDbSetting(tdb, "wgEncode") && tdbIsComposite(tdb)))
{
printf("\n ");
if (trackDbSetting(tdb, "wgEncode") && isEncode2(database, tdb->track))
{
printf("ENCODE at UCSC");
printf(" ");
makeDownloadsLink(database, tdb);
}
char *downArrow = "⇓";
enum browserType browser = cgiBrowser();
if (browser == btIE || browser == btFF)
downArrow = "↓";
- printf(" Subtracks%s", downArrow);
printf(" "
"Description%s", downArrow);
if (trackDbSetting(tdb, "wgEncode") && isEncode2(database, tdb->track))
{
printf(" "
"Contact%s", downArrow);
}
printf(" ");
}
}
if (!tdbIsSuperTrack(tdb) && !tdbIsComposite(tdb))
puts("
");
if (tdbIsDownloadsOnly(tdb)) // Composites without tracks but with files to download
@@ -3601,44 +3601,55 @@
else if (isHubTrack(track))
{
tdb = hubConnectAddHubForTrackAndFindTdb(database, track, &tdbList, trackHash);
}
else if (sameString(track, "hgPcrResult"))
tdb = pcrResultFakeTdb();
else
{
tdb = tdbForTrack(database, track,&tdbList);
}
if (tdb == NULL)
{
errAbort("Can't find %s in track database %s chromosome %s",
track, database, chromosome);
}
-char *title = (tdbIsSuper(tdb) ? "Super-track Settings" :
- tdbIsDownloadsOnly(tdb) ? DOWNLOADS_ONLY_TITLE : "Track Settings");
if(cartOptionalString(cart, "ajax"))
{
// html is going to be used w/n a dialog in hgTracks.js so serve up stripped down html
// still need CSP2 header for security
printf("%s", getCspMetaHeader());
trackUi(tdb, tdbList, ct, TRUE);
cartRemove(cart,"ajax");
jsInlineFinish();
}
else
{
- cartWebStart(cart, database, "%s %s", tdb->shortLabel, title);
+ char title[1000];
+ if (tdb->parent)
+ {
+ safef(title, sizeof title,
+ // TODO: replace in-line styling with class
+ ""
+ "%s %s",
+ tdb->parent->shortLabel, tdb->shortLabel);
+ }
+ else
+ safef(title, sizeof title, "%s", tdb->shortLabel);
+ char *titleEnd = (tdbIsSuper(tdb) ? "" :
+ tdbIsDownloadsOnly(tdb) ? DOWNLOADS_ONLY_TITLE : "Track Settings");
+ cartWebStart(cart, database, "%s %s", title, titleEnd);
trackUi(tdb, tdbList, ct, FALSE);
printf("
\n");
jsonPrintGlobals();
webEnd();
}
}
char *excludeVars[] = { "submit", "Submit", "g", NULL, "ajax", NULL,};
int main(int argc, char *argv[])
/* Process command line. */
{
long enteredMainTime = clock1000();
cgiSpoof(&argc, argv);
cartEmptyShell(doMiddle, hUserCookie(), excludeVars, NULL);