16fcd800410b0c29be0564f2e657f30fa1862daf
max
Fri Jan 30 04:10:41 2026 -0800
fixing composite bug, refs #36917
diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index d6dcd0f4c02..1cbaeb179ee 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -2784,31 +2784,31 @@
}
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));
char *onlyVis = trackDbSetting(tdb, "onlyVisibility");
hTvDropDownClassVisOnlyAndExtra(tdb->track, tv, tdb->canPack,
- (tv == tvHide ? "hiddenText":"normalText"),
+ (tv == tvHide ? "vizSelect hiddenText":"vizSelect normalText"),
onlyVis,
event);
// print a group of buttons that act like radiobuttons (see javascript lines below)
printf("
", tdb->track);
char *trackVizStr = hStringFromTv(tv);
// vizList is e.g. {"hide", "dense", "squish", "pack", "full"}, but can be shorter, e.g. when canPack=false
char **vizList = hTvGetVizArr(tv, tdb->canPack, onlyVis);
int vizListLen = arrNullLen(vizList);
for (int i = 0; i < vizListLen; i++) {
char *buttonViz = vizList[i];
// the currently active viz mode is an 'active' button = pressed
if (strcasecmp(buttonViz, trackVizStr) == 0)
printf("
");
}
printf("");
// Now configure the elements above with Javascript:
// * Clicking a button sets the dropdown to the button's text
jsOnEventBySelector("click", ".seg-btn-group > button", "let dropdown = $('#' + $(this).parent().data('trackname')); let buttonText=$(this).text().toLowerCase(); dropdown.val(buttonText).removeClass('hiddenText').addClass('normalText');");
// * Clicking buttons does not submit the form (default action of