8ae222adb54c0234afbe72e49a50da755c272352 kate Wed Mar 17 17:30:41 2021 -0700 1. Add checkbox to multi-region config custom regions panel that causes display to show all regions. This is under same hg.conf control as multi-region button move 2. Change multiRegionBedUrl track setting to match existing cart var (multiRegionsBedUrl). Tweak help text on MR config panel, as per QA input. refs #26385 diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 65c6c26..bc876a0 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -343,31 +343,31 @@ (embeddedInText?" ":"<P>"),id,tdb->track, (title?title:"")); jsOnEventByIdF("click", id, "return metadataShowHide(\"%s\",%s,true);", tdb->track, showLongLabel?"true":"false"); printf("<DIV id='div_%s_meta' style='display:none;'>%s</div>",tdb->track, metadataAsHtmlTable(db,tdb,showLongLabel,FALSE)); return TRUE; } /* Multi-region UI */ boolean makeMultiRegionLink(char *db, struct trackDb *tdb, struct cart *cart) /* Make a link to launch browser in multi-region custom URL mode, based on * track setting. This includes creating a custom track displaying the regions. * The link switches to exit multi-region if browser is already in multi-region mode * based on regions defined for this track. */ { -char *regionUrl = trackDbSetting(tdb, MULTI_REGION_BED_URL); +char *regionUrl = trackDbSetting(tdb, "multiRegionsBedUrl"); if (isEmpty(regionUrl)) return FALSE; // make custom track for regions, alternating colors // TODO: truncate CT name and label at word boundary // TODO: fix bedPackDense to work with multi-region // TODO: limit number of regions ? struct dyString *dsCustomText = dyStringCreate( "track name=\'%s ROI\' description=\'[Regions of Interest] %s' " "visibility=dense bedPackDense=on labelOnFeature=on itemRgb=on noScoreFilter=on\n", tdb->shortLabel, tdb->longLabel); #ifdef LATER // TODO: libify @@ -516,38 +516,39 @@ "<p>This custom track displays regions of interest for the " "<a href='../cgi-bin/hgTrackUi?db=%s&g=%s'><em>%s</em> track</a>.</p>", db, tdb->track, tdb->shortLabel); // TODO: support #padding in custom regions file enum trackVisibility vis = hTvFromString(cartUsualString(cart, tdb->track, hStringFromTv(tdb->visibility))); if (vis == tvHide) vis = tvDense; printf("<p>"); printf("<a href='../cgi-bin/hgTracks?" "virtMode=1&" "virtModeType=customUrl&" - "virtWinFull=on&" + "%s=on&" "virtShortDesc=%s&" "multiRegionsBedUrl=%s&" "%s=%s&" "%s=%s&" "%s=%s'>" "Display regions of interest (%d)</a>", - tdb->track, cgiEncode(regionFile), tdb->track, hStringFromTv(vis), + MULTI_REGION_BED_WIN_FULL, tdb->track, cgiEncode(regionFile), tdb->track, + hStringFromTv(vis), CT_CUSTOM_DOC_TEXT_VAR, cgiEncode(customHtml), CT_CUSTOM_TEXT_VAR, cgiEncode(dyStringCannibalize(&dsCustomText)), regionCount); printf(" in multi-region view (custom regions mode)"); printf(" "); printf("<a href=\"../goldenPath/help/multiRegionHelp.html\" target=_blank>(Help)</a>\n"); printf("</p>"); return TRUE; } void extraUiLinks(char *db, struct trackDb *tdb, struct cart *cart) // Show metadata, and downloads, schema links where appropriate { makeMultiRegionLink(db, tdb, cart); struct slPair *pairs = trackDbMetaPairs(tdb);