358c7f3665dca67c180f6b22ae11f6bf33d201ae
angie
Tue Jan 11 10:45:13 2011 -0800
Moved hgc.c's {begin,end}CollapsibleSection to jsHelper.c:js{Begin,End}CollapsibleSection so I can use in hgTrackUi.
diff --git src/hg/lib/jsHelper.c src/hg/lib/jsHelper.c
index 4401265..58cef33 100644
--- src/hg/lib/jsHelper.c
+++ src/hg/lib/jsHelper.c
@@ -443,15 +443,46 @@
char *ptr = strstr(ua, needle);
if(ptr != NULL)
{
int version = 0;
sscanf(ptr + strlen(needle), "%d", &version);
defaultVal = (version != 530);
}
}
advancedJsEnabled = cartUsualBoolean(cart, "enableAdvancedJavascript", defaultVal);
alreadyLookedForadvancedJs = TRUE;
}
//else
// warn("already looked up advancedJsEnabled"); // got msg 41 times in one page!
return advancedJsEnabled;
}
+
+void jsBeginCollapsibleSection(struct cart *cart, char *track, char *section, char *sectionTitle,
+ boolean isOpenDefault)
+/* Make the hidden input, collapse/expand button and <TR id=...> needed for utils.js's
+ * setTableRowVisibility(). Caller needs to have already created a <TABLE> and <FORM>. */
+{
+char collapseGroupVar[512];
+safef(collapseGroupVar, sizeof(collapseGroupVar), "%s.section_%s_close", track, section);
+boolean isOpen = !cartUsualBoolean(cart, collapseGroupVar, !isOpenDefault);
+
+printf("<TR><TD><input type='hidden' name=\"%s\" id=\"%s\" value=\"%s\">\n",
+ collapseGroupVar, collapseGroupVar, isOpen ? "0" : "1");
+printf("<A HREF=\"%s?%s&%s=%s#%sGroup\" class='bigBlue'>\n",
+ cgiScriptName(), cartSidUrlString(cart), collapseGroupVar, (isOpen ? "1" : "0"), section);
+char *buttonImage = (isOpen ? "../images/remove_sm.gif" : "../images/add_sm.gif");
+printf("<IMG height='18' width='18' "
+ "onclick=\"return setTableRowVisibility(this, '%s', '%s.section', 'section', true);\" "
+ "id=\"%s_button\" src=\"%s\" alt=\"%s\" title='%s this section' class='bigBlue'>"
+ "</A></TD>\n",
+ section, track,
+ section, buttonImage, (isOpen ? "-" : "+"), (isOpen ? "Collapse": "Expand"));
+printf("<TD><FONT SIZE=4><B> %s</B></FONT></TD></TR>\n", sectionTitle);
+printf("<TR %sid='%s-%d'><TD colspan=2>", isOpen ? "" : "style='display: none' ", section, 1);
+}
+
+void jsEndCollapsibleSection()
+/* End the collapsible <TR id=...>. */
+{
+puts("</TD></TR>");
+}
+