1e695a4eb7c3df8d90db67d0859efb86fde53201 kate Wed May 6 17:51:49 2020 -0700 Add collapsed panel with other tracks in supertrackand remove intro verbiage. Overall slim down the top material indicating hierarchy. Based on UI input from Ana and MarkD. refs #24948 diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index 6b393b9..1b8bad9 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -3137,113 +3137,113 @@ cartRemove(cart,"descriptionOnly"); // This is a once only request and should be deleted return; } if (tdbIsContainer(tdb)) { safef(setting,sizeof(setting),"%s.%s",tdb->track,RESET_TO_DEFAULTS); // NOTE: if you want track vis to not be reset, move to after vis dropdown if (1 == cartUsualInt(cart, setting, 0)) cartRemoveAllForTdbAndChildren(cart,tdb); else if (!ajax) // Overkill on !ajax, because ajax shouldn't be called for a composite cartTdbTreeReshapeIfNeeded(cart,tdb); } if (tdb->parent) { - printf("This track is part of a super-track. " - "To configure the parent or sibling tracks, click a link below."); - // show super-track info struct trackDb *tdbParent = tdb->parent; - printf("

"); if (trackDbSetting(tdbParent, "wgEncode")) printf(""); - printf("%s tracks", - strlen(tdb->longLabel) > 30 ? 133 : 200, + printf("Track grouping: %s ", hgTrackUiName(), cartSessionVarName(), cartSessionId(cart), chromosome, cgiEncode(tdbParent->track), tdbParent->longLabel); // show group info struct grp *grp, *grps = hLoadGrps(database); for (grp = grps; grp != NULL; grp = grp->next) { if (sameString(grp->name, tdb->grp)) { printf("  " "(All %s%s)", hgTracksName(), cartSessionVarName(), cartSessionId(cart), chromosome, tdb->grp, tdb->grp, grp->label, grp->label, endsWith(grp->label," Tracks")?"":" tracks"); break; } } grpFreeList(&grps); - printf(""); - struct slRef *childRef; - tdbRefSortPrioritiesFromCart(cart, &tdbParent->children); - for (childRef = tdbParent->children; childRef != NULL; childRef = childRef->next) - { - struct trackDb *sibTdb = childRef->val; - if (sameString(sibTdb->track, tdb->track)) - { - printf("\n", sibTdb->shortLabel); - printf("\n", sibTdb->longLabel); - continue; - } - printf(""); - printf("", - tdbIsDownloadsOnly(sibTdb) ? hgFileUiName(): hTrackUiForTrack(sibTdb->track), - cartSessionVarName(), cartSessionId(cart), chromosome, cgiEncode(sibTdb->track), - sibTdb->shortLabel); - printf("\n", sibTdb->longLabel); - } - printf("
%s%s
%s %s

"); - // collapsed panel for Description - printf("

"); + + printf("

"); + printf("

"); // required by jsCollapsible jsBeginCollapsibleSectionFontSize(cart, tdb->track, "superDescription", "Description", FALSE, "medium"); char *html = replaceChars(tdbParent->html, "Description", ""); html = replaceChars(html, "

Description

", ""); html = replaceChars(html, "

Description

", ""); // remove everything after Description text char *end = stringIn("

", html); if (!end) end = stringIn("

", html); if (!end) end = stringIn("

", html); if (end) *end = '\0'; printf("%s", html); - printf("

To view the full description of this super-track, click " + printf("

To view the full description, click " "here.\n", hgTrackUiName(), cartSessionVarName(), cartSessionId(cart), chromosome, cgiEncode(tdbParent->track)); jsEndCollapsibleSection(); - printf("

"); + printf(""); // required by jsCollapsible - //printf("

  + Description\n"); + // collapsed panel for list of other tracks in the supertrack + + char listTitle[1000]; + safef(listTitle, sizeof listTitle, "Other tracks in this grouping (%d)", + slCount(tdbParent->children)-1); + printf(""); // required by jsCollapsible + jsBeginCollapsibleSectionFontSize(cart, tdb->track, "superMembers", listTitle, FALSE, "medium"); + printf("
"); + struct slRef *childRef; + tdbRefSortPrioritiesFromCart(cart, &tdbParent->children); + for (childRef = tdbParent->children; childRef != NULL; childRef = childRef->next) + { + struct trackDb *sibTdb = childRef->val; + if (sameString(sibTdb->track, tdb->track)) + continue; + printf(""); + printf("", + tdbIsDownloadsOnly(sibTdb) ? hgFileUiName(): hTrackUiForTrack(sibTdb->track), + cartSessionVarName(), cartSessionId(cart), chromosome, cgiEncode(sibTdb->track), + sibTdb->shortLabel); + printf("\n", sibTdb->longLabel); + } + printf("
%s %s
"); + jsEndCollapsibleSection(); + printf(""); // required by jsCollapsible + printf("

"); printf("
"); } /* track configuration form */ printf("
\n\n", hgTracksName(), cartUsualString(cart, "formMethod", "POST")); cartSaveSession(cart); if (sameWord(tdb->track,"ensGene")) { char longLabel[256]; struct trackVersion *trackVersion = getTrackVersion(database, tdb->track); if ((trackVersion != NULL) && !isEmpty(trackVersion->version)) {