5515006ee81e5de99ebd03581644a8a96f33599e max Mon Sep 7 07:36:11 2026 -0700 tiny text change on trackUi page, no ticket diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index b583403b430..93b76d607be 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -2818,48 +2818,53 @@ { jsIncludeFile("hui.js",NULL); printf("

"); printf("Tracks that are part of this container are listed below. Use the buttons below to set their visibility. The grey button shows each track's current visibility.

"); printf("\n"); tdbRefSortPrioritiesFromCart(cart, &superTdb->children); struct slRef *childRef; char javascript[1024]; for (childRef = superTdb->children; childRef != NULL; childRef = childRef->next) { struct trackDb *tdb = childRef->val; if (childRef == superTdb->children) // first time through { printf("\n"); } printf("
\n"); - printf("Apply visibility: \n"); + // Hide/show everything with a single click, the two most common cases + printf("\n"); + jsOnEventById("click", "superVizHideAllButton", "superUiSetAllTracks('hide')"); + + printf("\n"); + jsOnEventById("click", "superVizShowAllButton", "superUiSetAllTracks('pack')"); + + printf("Apply visibility: \n"); printf("\n"); - printInfoIcon("The 'Apply to all visible tracks' button sets the visibility selected in this dropdown on all tracks below that are not hidden.
" + printInfoIcon("The 'Show all tracks' button sets all tracks below to pack, except for those " + "that do not support it, e.g. signal tracks, which are set to full.
" "The 'Apply to all tracks' button sets the visibility selected in this dropdown on all tracks below, including hidden ones."); - // First button: set all selectors that are not on 'hide' to the current value of the top select - printf("\n"); - jsOnEventById("click", "superVizApplyButton", "superUiSetAllTracks(true)"); - - // Second button: set all selectors to the current value of the top select - printf(" \n"); + // set all selectors to the current value of the top select + printf(" \n"); jsOnEventById("click", "superVizApplyAllButton", "superUiSetAllTracks()"); printf("
"); if (!tdbIsDownloadsOnly(tdb)) { char id[256]; enum trackVisibility tv = hTvFromString(cartUsualString(cart, tdb->track,hStringFromTv(tdb->visibility))); safef(id, sizeof id, "%s_check", tdb->track); printf("", id, (tv != tvHide?" CHECKED":"")); safef(javascript, sizeof(javascript), "superT.selChanged(this)"); struct slPair *event = slPairNew("change", cloneString(javascript)); @@ -3967,31 +3972,31 @@ "&hgtgroup_%s_close=0#%sGroup\" title='%s tracks in track configuration " "page'>All %s%s)", hgTracksName(), cartSessionVarName(), cartSessionId(cart),database,chromosome, tdb->grp,tdb->grp,grp->label,grp->label, endsWith(grp->label," Tracks")?"":" tracks"); break; } } 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)) { // shortLabel comes from trackDb, which a track hub controls, escape - printf("

This track is a subtrack of the composite container track \"%s\".
", + printf("

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

"); if (tdbIsSuperTrackChild(tdb)) 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