e7cf756b7ca8283e86d6cef92289b26831391c15 gperez2 Tue May 5 11:48:51 2026 -0700 Reduce gap between superTrack Filters heading and first filter row. refs #37426 diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index c6c9dceaf55..449e7aa5054 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -2930,39 +2930,46 @@ "}" "});"); // * Hide all subtrack dropdowns from the user. They are used so the CGI arguments // are sent to hgTracks, but are not necessary as UI elements anymore jsInline("$('#superTrackTable .vizSelect').hide();"); // --- Supertrack-level filters --- // If the supertrack's trackDb declares any filter.*, filterValues.*, // filterByRange.*, etc. settings, render the standard filter UI here. // The cart variables are stored under the supertrack's name // (e.g. "lrSv.filter.svLen.min"). Subtracks inherit these values via // cartOptionalStringClosestToHome() during hgTracks rendering; a cart // value set on a subtrack always overrides the supertrack's. if (bedHasFilters(superTdb)) { + // scoreCfgUi (called below with title==NULL) emits a <br> and an empty <p> + // before the filter table; the wrapper + scoped style below hides them + // without touching shared code other callers rely on. + puts("<div class='superTrackFiltersWrap'>"); + puts("<style>.superTrackFiltersWrap > br:first-of-type, " + ".superTrackFiltersWrap > p:empty { display:none; }</style>"); puts("<h3 style='margin-top:1em'>Filters: "); printInfoIcon("Filter values set here apply to every track in this " "container. A filter set directly on an individual track " "overrides the value here for that track only."); puts("</h3>"); // Pass title=NULL so scoreCfgUi does not emit its "<p><B>title</B>" // banner. The container <h3> above is already the section label. scoreCfgUi(database, cart, superTdb, superTdb->track, NULL, 1000, /*boxed=*/FALSE); + puts("</div>"); } } #ifdef USE_HAL static void cfgHalSnake(struct trackDb *tdb, char *name) { boolean parentLevel = isNameAtParentLevel(tdb, name); if (parentLevel) return; char *fileName = trackDbSetting(tdb, "bigDataUrl"); if (fileName == NULL) return; char *errString; int handle = halOpenLOD(fileName, &errString); if (handle < 0)