1a3400408892585e530f10d4b8c4b612f29e9473 jcasper Thu Mar 26 04:18:29 2026 -0700 Adding parent link to UI for faceted composites in supertracks, refs #36320 diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index 3b0e375e388..52d240cdac1 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -3509,30 +3509,33 @@ // A bit of context when we're in hierarchy: parent description and sibling track list if (!tdb->parent) return; // show super-track info struct trackDb *tdbParent = tdb->parent; printf("Track collection: " "" "%s ", hgTrackUiName(), cartSessionVarName(), cartSessionId(cart), chromosome, cgiEncode(tdbParent->track), tdbParent->longLabel); printf("

"); +if (tdbIsComposite(tdb) && sameOk(trackDbLocalSetting(tdb, "compositeTrack"), "faceted")) + return; + if (tdbParent->html) { // collapsed panel for Description printf("

"); // required by jsCollapsible jsBeginCollapsibleSectionFontSize(cart, tdb->track, "superDescription", "Description", FALSE, "medium"); // TODO: better done with regex char *html = replaceChars(tdbParent->html, "Description", ""); html = replaceChars(html, "

Description

", ""); html = replaceChars(html, "

Description

", ""); @@ -3756,31 +3759,30 @@ grpFreeList(&grps); } // incoming links from Google searches can go directly to a composite child trackUi page: tell users // that they're inside a container now and can go back up the hierarchy if (tdbGetComposite(tdb)) { printf("

This track is a subtrack of the composite container track \"%s\".
", tdb->parent->shortLabel); printf("Click here to display the \"%s\" container configuration page.", database, chromosome, tdb->parent->track, tdb->parent->shortLabel); } } puts("

"); if (tdbIsSuperTrackChild(tdb)) - if (! (tdbIsComposite(tdb) && sameOk(trackDbLocalSetting(tdb, "compositeTrack"), "faceted")) ) showSupertrackInfo(tdb); if (ct && sameString(tdb->type, "maf")) tdb->canPack = TRUE; else if (sameString(tdb->track, WIKI_TRACK_TABLE)) // special case wikiTrack (there's no trackDb entry); fixes redmine 2395 tdb->canPack = TRUE; else if (sameString(tdb->type, "halSnake")) tdb->canPack = TRUE; else if (!startsWith("bigWig", tdb->type) && startsWith("big", tdb->type)) tdb->canPack = TRUE; else if (sameString(tdb->type, "bigNarrowPeak")) tdb->canPack = TRUE; else if (sameString(tdb->type, "hic")) tdb->canPack = TRUE;