a57e43af4d3436c4017a4744b9595b0dcbcf3891 kate Tue Apr 28 14:06:58 2020 -0700 Move hideEmptySubtracks control on UI, by request of Ana. refs #23365 diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 34e7913..f22edc8 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -5314,43 +5314,30 @@ char *displaySubs = NULL; int subCount = slCount(subtrackRefList); if (subCount > LARGE_COMPOSITE_CUTOFF && membersForAll->dimensions != NULL) { // ignore displaySubtracks setting for large composites with a matrix as // matrix effectively shows all safef(buffer, SMALLBUF,"%s.displaySubtracks", parentTdb->track); displaySubs = cartUsualString(cart, buffer,"some"); // track specific defaults to only selected } else { displaySubs = cartUsualString(cart, "displaySubtracks", "all"); // browser wide defaults to all } boolean displayAll = sameString(displaySubs, "all"); -boolean hideSubtracksDefault; -// TODO: Gray out or otherwise suppress when in multi-region mode -if (compositeHideEmptySubtracksSetting(parentTdb, &hideSubtracksDefault, NULL, NULL)) - { - char *hideLabel = "Hide empty subtracks"; - hideLabel = trackDbSettingOrDefault(parentTdb, SUBTRACK_HIDE_EMPTY_LABEL, hideLabel); - printf("<BR><B>%s:</B> ", hideLabel); - char buf[128]; - safef(buf, sizeof buf, "%s.%s", parentTdb->track, SUBTRACK_HIDE_EMPTY); - boolean doHideEmpties = compositeHideEmptySubtracks(cart, parentTdb, NULL, NULL); - cgiMakeCheckBox(buf, doHideEmpties); - } - // Table wraps around entire list so that "Top" link can float to the correct place. cgiDown(0.7); printf("<table><tr><td class='windowSize'>"); printf("<A NAME='DISPLAY_SUBTRACKS'></A>"); if (sortOrder != NULL) { // First table row contains the display "selected/visible" or "all" radio buttons // NOTE: list subtrack radio buttons are inside tracklist table header if // there are no sort columns. The reason is to ensure spacing of lines // column headers when the only column header is "Restricted Until" printSubtrackListRadioButtons(parentTdb->track, subCount, displayAll); if (membersHaveMatrix(membersForAll)) makeTopLink(parentTdb); printf("</td></tr></table>"); } @@ -8650,32 +8637,46 @@ // that have the same type. If fakeSubmit is non-NULL, add a hidden // var with that name so it looks like it was pressed. { bool hasSubgroups = (trackDbSetting(tdb, "subGroup1") != NULL); boolean isMatrix = dimensionsExist(tdb); boolean viewsOnly = FALSE; if (primarySubtrack == NULL && !cartVarExists(cart, "ajax")) { if (trackDbSetting(tdb, "dragAndDrop") != NULL) jsIncludeFile("jquery.tablednd.js", NULL); jsIncludeFile("ajax.js",NULL); jsIncludeFile("hui.js",NULL); jsIncludeFile("subCfg.js",NULL); } +cgiDown(0.3); + +boolean hideSubtracksDefault; +// TODO: Gray out or otherwise suppress when in multi-region mode +if (compositeHideEmptySubtracksSetting(tdb, &hideSubtracksDefault, NULL, NULL)) + { + char *hideLabel = "Hide empty subtracks"; + hideLabel = trackDbSettingOrDefault(tdb, SUBTRACK_HIDE_EMPTY_LABEL, hideLabel); + printf("<p><b>%s:</b> ", hideLabel); + char buf[128]; + safef(buf, sizeof buf, "%s.%s", tdb->track, SUBTRACK_HIDE_EMPTY); + boolean doHideEmpties = compositeHideEmptySubtracks(cart, tdb, NULL, NULL); + cgiMakeCheckBox(buf, doHideEmpties); + printf("</p>"); + } -cgiDown(0.7); if (trackDbCountDescendantLeaves(tdb) < MANY_SUBTRACKS && !hasSubgroups) { if (primarySubtrack) compositeUiSubtracksMatchingPrimary(db, cart, tdb,primarySubtrack); else compositeUiSubtracks(db, cart, tdb); return; } if (fakeSubmit) cgiMakeHiddenVar(fakeSubmit, "submit"); if (primarySubtrack == NULL) { if (subgroupingExists(tdb,"view")) {