55df1a106590a6c9fd7e3cca90fa6bbad8eb50c4
max
  Thu Jan 29 05:26:21 2026 -0800
Revert "Reapply "changing superTrack TrackUi quite a bit."

This reverts commit ce138738e24cb6e84502440b79490c412f6786f8.

diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 3bd55fa970a..5cd03f48647 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -887,111 +887,98 @@
     "dense",
     "squish",
     "pack",
     "full",
     };
 static int packIx[] = {tvHide,tvDense,tvSquish,tvPack,tvFull};
 if (canPack)
     cgiMakeDropListClassWithIdStyleAndJavascript(varName, id, pack, ArraySize(pack),
 					   pack[packIx[vis]], class, TV_DROPDOWN_STYLE,
 					   events);
 else
     cgiMakeDropListClassWithIdStyleAndJavascript(varName, id, noPack, ArraySize(noPack),
 					   noPack[vis], class, TV_DROPDOWN_STYLE, events);
 }
 
+void hTvDropDownClassVisOnlyAndExtra(char *varName, enum trackVisibility vis,
+				 boolean canPack, char *class, char *visOnly, struct slPair *events)
+// Make track visibility drop down for varName with style class, and potentially limited to visOnly
+{
 static char *denseOnly[] =
     {
     "hide",
     "dense",
-    NULL
     };
 static char *squishOnly[] =
     {
     "hide",
     "squish",
-    NULL
     };
 static char *packOnly[] =
     {
     "hide",
     "pack",
-    NULL
     };
 static char *fullOnly[] =
     {
     "hide",
     "full",
-    NULL
     };
 static char *noPack[] =
     {
     "hide",
     "dense",
     "full",
-    NULL
     };
 static char *pack[] =
     {
     "hide",
     "dense",
     "squish",
     "pack",
     "full",
-    NULL
     };
-
-char ** hTvGetVizArr(enum trackVisibility vis, boolean canPack, char* visOnly) 
-/* return a NULL-terminated array of char* with possible track visibilities */
-{
+static int packIx[] = {tvHide,tvDense,tvSquish,tvPack,tvFull};
 if (visOnly != NULL)
     {
+    int visIx = (vis > 0) ? 1 : 0;
     if (sameWord(visOnly,"dense"))
-        return denseOnly;
+	cgiMakeDropListClassWithStyleAndJavascript(varName, denseOnly, ArraySize(denseOnly),
+						   denseOnly[visIx],class,TV_DROPDOWN_STYLE, events);
     else if (sameWord(visOnly,"squish"))
-        return squishOnly;
+	cgiMakeDropListClassWithStyleAndJavascript(varName, squishOnly,
+						   ArraySize(squishOnly), squishOnly[visIx],
+						   class, TV_DROPDOWN_STYLE, events);
     else if (sameWord(visOnly,"pack"))
-        return packOnly;
+	cgiMakeDropListClassWithStyleAndJavascript(varName, packOnly, ArraySize(packOnly),
+						   packOnly[visIx], class, TV_DROPDOWN_STYLE, events);
     else if (sameWord(visOnly,"full"))
-        return fullOnly;
+	cgiMakeDropListClassWithStyleAndJavascript(varName, fullOnly, ArraySize(fullOnly),
+						   fullOnly[visIx], class, TV_DROPDOWN_STYLE, events);
     else                        /* default when not recognized */
-        return denseOnly;
+	cgiMakeDropListClassWithStyleAndJavascript(varName, denseOnly, ArraySize(denseOnly),
+						   denseOnly[visIx], class, TV_DROPDOWN_STYLE, events);
     }
 else
     {
     if (canPack)
-        return pack;
+	cgiMakeDropListClassWithStyleAndJavascript(varName, pack, ArraySize(pack),
+						   pack[packIx[vis]], class, TV_DROPDOWN_STYLE, events);
     else
-        return noPack;
-    }
+	cgiMakeDropListClassWithStyleAndJavascript(varName, noPack, ArraySize(noPack),
+						   noPack[vis], class, TV_DROPDOWN_STYLE, events);
     }
-
-void hTvDropDownClassVisOnlyAndExtra(char *varName, enum trackVisibility vis,
-				 boolean canPack, char *class, char *visOnly, struct slPair *events)
-// Make track visibility drop down for varName with style class, and potentially limited to visOnly
-{
-char** vizArr = hTvGetVizArr(vis, canPack, visOnly);
-int visIx = (vis > 0) ? 1 : 0;
-char* checked = vizArr[visIx];
-
-static int packIx[] = {tvHide,tvDense,tvSquish,tvPack,tvFull};
-if (visOnly && canPack)
-    checked = vizArr[packIx[vis]];
-
-int vizArrLen = arrNullLen(vizArr);
-
-cgiMakeDropListClassWithStyleAndJavascript(varName, vizArr, vizArrLen, checked, class,TV_DROPDOWN_STYLE, events);
 }
 
 void hideShowDropDownWithClassAndExtra(char *varName, char * id, boolean show, char *class, struct slPair *events)
 // Make hide/show dropdown for varName
 {
 static char *hideShow[] =
     {
     "hide",
     "show"
     };
 cgiMakeDropListClassWithIdStyleAndJavascript(varName, id, hideShow, ArraySize(hideShow),
 				       hideShow[show], class, TV_DROPDOWN_STYLE, events);
 }
 
 
@@ -10540,31 +10527,31 @@
 {
 char *version = checkDataVersion(database, tdb);
 
 if (version == NULL)
     {
     // try the hgFixed.trackVersion table
     struct trackVersion *trackVersion = getTrackVersion(database, tdb->track);
     // try trackVersion table with parent, for composites/superTracks
     if (trackVersion == NULL && tdb->parent != NULL)
         trackVersion = getTrackVersion(database, tdb->parent->track);
     if (trackVersion != NULL)
         version = trackVersion->version;
     }
 
 if (isNotEmpty(version))
-    printf("<B>Version:</B> %s <BR>\n", version);
+    printf("<B>Source data version:</B> %s <BR>\n", version);
 }
 
 void printRelatedTracks(char *database, struct hash *trackHash, struct trackDb *tdb, struct cart *cart)
 /* Maybe print a "related track" section */
 {
 if (trackHubDatabase(database))
     return;
 char *relatedTrackTable = cfgOptionDefault("db.relatedTrack","relatedTrack");
 struct sqlConnection *conn = hAllocConn(database);
 if (!sqlTableExists(conn, relatedTrackTable))
     {
     hFreeConn(&conn);
     return;
     }