b3af5822d95c94932b6d7b7abd93d1078bf251ee braney Mon Oct 30 16:55:40 2023 -0700 changes in response to max review #32416 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 137ab02..2145bb4 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -26285,30 +26285,44 @@ if (isProt) extraForMismatch = ""; char buffer[4096]; safef(buffer, sizeof buffer, customTextTemplate, bigBedTn.forCgi, host, extraForMismatch, bigBedTn.forCgi, trackName, trackDescription); struct customTrack *ctList = getCtList(); struct customTrack *newCts = customFactoryParse(database, buffer, FALSE, NULL); theCtList = customTrackAddToList(ctList, newCts, NULL, FALSE); customTracksSaveCart(database, cart, theCtList); cartSetString(cart, "i", "PrintAllSequences"); hgCustom(newCts->tdb->track, NULL); } +void doHPRCTable(struct trackDb *tdb, char *itemName) +/* Put up a generic bigBed details page, with a table of links to turn on related + * * chain tracks with visibility toggles */ +{ +int start = cartInt(cart, "o"); +int end = cartInt(cart, "t"); +genericHeader(tdb, itemName); +genericBigBedClick(NULL, tdb, itemName, start, end, 0); +printTrackHtml(tdb); +// tell the javscript to reorganize the column of assemblies: +jsIncludeFile("hgc.js", NULL); +jsInlineF("var doHPRCTable = true;\n"); +} + void doMiddle() /* Generate body of HTML. */ { char *track = cartString(cart, "g"); char *item = cloneString(cartOptionalString(cart, "i")); char *parentWigMaf = cartOptionalString(cart, "parentWigMaf"); struct trackDb *tdb = NULL; char *dupWholeName = NULL; boolean isDup = isDupTrack(track); if (isDup) { dupWholeName = track; track = dupTrackSkipToSourceName(track); } @@ -27670,30 +27684,34 @@ else if (tdb != NULL && (startsWithWord("vcfTabix", tdb->type) || sameWord("vcfPhasedTrio", tdb->type))) { doVcfTabixDetails(tdb, item); } else if (tdb != NULL && startsWithWord("vcf", tdb->type)) { doVcfDetails(tdb, item); } else if (tdb != NULL && (startsWithWord("barChart", tdb->type) || startsWithWord("bigBarChart", tdb->type))) { doBarChartDetails(tdb, item); printTrackHtml(tdb); } +else if (startsWith("hprcDeletions", table) || startsWith("hprcInserts", table) || startsWith("hprcArr", table)) + { + doHPRCTable(tdb, item); + } else if (tdb != NULL) { genericClickHandler(tdb, item, NULL); } else { cartWebStart(cart, database, "%s", track); warn("Sorry, clicking there doesn't do anything yet (%s).", track); } /* End of 1000+ line dispatch on table involving 100+ if/elses. */ cartHtmlEnd(); } struct hash *orgDbHash = NULL;