3b70ea59a370e40497a20d96b18908345f5f597a braney Tue Sep 27 11:53:26 2016 -0700 add disconnect button to group headers that are made from hubs diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index dde1019..049b5fa 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -8041,30 +8041,36 @@ hPrintf("<TR>"); cg->rowOpen = TRUE; if (!hIsGsidServer()) hPrintf("<th align=\"left\" colspan=%d class='blueToggleBar'>",MAX_CONTROL_COLUMNS); else hPrintf("<th align=\"left\" colspan=%d class='blueToggleBar'>", MAX_CONTROL_COLUMNS-1); hPrintf("<table style='width:100%%;'><tr><td style='text-align:left;'>"); hPrintf("\n<A NAME=\"%sGroup\"></A>",group->name); hPrintf("<IMG class='toggleButton' onclick=\"return vis.toggleForGroup(this, '%s');\" " "id=\"%s_button\" src=\"%s\" alt=\"%s\" title='%s this group'> ", group->name, group->name, indicatorImg, indicator,isOpen?"Collapse":"Expand"); hPrintf("</td><td style='text-align:center; width:90%%;'>\n<B>%s</B>", group->label); hPrintf("</td><td style='text-align:right;'>\n"); + if (isHubTrack(group->name)) + hPrintf("<input name=\"hubDisconnectButton\"" + "onClick=" + "\" document.disconnectHubForm.elements['hubId'].value= '%s';" + "document.disconnectHubForm.submit();return true;\" " + "type=\"button\" value=\"disconnect\">\n", &group->name[sizeof hubTrackPrefix - 1]); hPrintf("<input type='submit' name='hgt.refresh' value='refresh' " "title='Update image with your changes'>\n"); hPrintf("</td></tr></table></th>\n"); controlGridEndRow(cg); /* First track group that is not the custom track group (#1) * or a track hub, gets the Base Position track * unless it's collapsed. */ if (!showedRuler && !isHubTrack(group->name) && differentString(group->name, "user") ) { char *url = trackUrl(RULER_TRACK_NAME, chromName); showedRuler = TRUE; myControlGridStartCell(cg, isOpen, group->name); hPrintf("<A HREF=\"%s\">", url); @@ -8169,30 +8175,38 @@ } } #endif /* SLOW */ hPrintf("</FORM>\n"); /* hidden form for custom tracks CGI */ hPrintf("<FORM ACTION='%s' NAME='customTrackForm'>", hgCustomName()); cartSaveSession(cart); hPrintf("</FORM>\n"); /* hidden form for track hub CGI */ hPrintf("<FORM ACTION='%s' NAME='trackHubForm'>", hgHubConnectName()); cartSaveSession(cart); hPrintf("</FORM>\n"); +// this is the form for the disconnect hub button +hPrintf("<FORM ACTION=\"%s\" NAME=\"disconnectHubForm\">\n", "../cgi-bin/hgTracks"); +cgiMakeHiddenVar("hubId", ""); +cgiMakeHiddenVar(hgHubDoDisconnect, "on"); +cgiMakeHiddenVar(hgHubConnectRemakeTrackHub, "on"); +cartSaveSession(cart); +puts("</FORM>"); + // TODO GALT nothing to do here. pruneRedundantCartVis(trackList); if (measureTiming) measureTime("Done with trackForm"); } static void toggleRevCmplDisp() /* toggle the reverse complement display mode */ { // forces complement bases to match display revCmplDisp = !revCmplDisp; cartSetBooleanDb(cart, database, REV_CMPL_DISP, revCmplDisp); cartSetBooleanDb(cart, database, COMPLEMENT_BASES_VAR, revCmplDisp); }