605007ef944244124ff7b60fc9e225416b249c0b
kate
Tue Apr 4 10:58:58 2017 -0700
Fix problem with log transform + view limits controls. Code needed updating for CSP. refs #18736
diff --git src/hg/lib/barChartUi.c src/hg/lib/barChartUi.c
index d9a7874..fd545aa 100644
--- src/hg/lib/barChartUi.c
+++ src/hg/lib/barChartUi.c
@@ -105,59 +105,62 @@
catSel->checked = (hashLookup(checkHash, categ->name) != NULL);
slAddHead(&all, catSel);
}
slReverse(&all);
makeGroupCheckboxes(name, NULL, all);
puts("");
char buf[512];
safef(buf, sizeof(buf), "%s%s", cgiMultListShadowPrefix(), name);
cgiMakeHiddenVar(buf, "0");
}
/* Convenience functions for hgTrackUi */
void barChartUiLogTransform(struct cart *cart, char *track, struct trackDb *tdb)
/* Checkbox to select log-transformed RPKM values */
+/* NOTE: this code from gtexUi.c. Consider sharing. */
{
char cartVar[1024];
-char buf[512];
-puts("Log10 transform:\n");
+puts("Log10(x+1) transform:\n");
safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_LOG_TRANSFORM);
boolean isLogTransform = cartCgiUsualBoolean(cart, cartVar, BAR_CHART_LOG_TRANSFORM_DEFAULT);
-safef(buf, sizeof buf, "onchange='barChartUiTransformChanged(\"%s\")'", track);
-cgiMakeCheckBoxJS(cartVar, isLogTransform, buf);
+cgiMakeCheckBoxWithId(cartVar, isLogTransform, cartVar);
+jsOnEventByIdF("change", cartVar, "barChartUiTransformChanged('%s');", track);
}
double barChartUiMaxMedianScore()
/* Max median score, for scaling */
{
//TODO: get from trackDb
return 10000;
}
void barChartUiViewLimits(struct cart *cart, char *track, struct trackDb *tdb)
/* Set viewing limits if log transform not checked */
+/* NOTE: this code from gtexUi.c. Consider sharing. */
{
char cartVar[1024];
char buf[512];
+safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_LOG_TRANSFORM);
boolean isLogTransform = cartCgiUsualBoolean(cart, cartVar, BAR_CHART_LOG_TRANSFORM_DEFAULT);
safef(buf, sizeof buf, "%sViewLimitsMaxLabel %s", track, isLogTransform ? "disabled" : "");
printf("View limits maximum:\n", buf);
safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_MAX_LIMIT);
int viewMax = cartCgiUsualInt(cart, cartVar, BAR_CHART_MAX_LIMIT_DEFAULT);
cgiMakeIntVarWithExtra(cartVar, viewMax, 4, isLogTransform ? "disabled" : "");
-printf(" (range 0-%d)\n", buf, round(barChartUiMaxMedianScore()));
+char *unit = trackDbSettingClosestToHomeOrDefault(tdb, BAR_CHART_UNIT, "");
+printf(" %s (range 0-%d)\n", buf, unit, round(barChartUiMaxMedianScore()));
}
char *barChartUiGetLabel(char *database, struct trackDb *tdb)
/* Get label for category list */
{
return trackDbSettingClosestToHomeOrDefault(tdb, BAR_CHART_CATEGORY_LABEL,
BAR_CHART_CATEGORY_LABEL_DEFAULT);
}
struct barChartCategory *barChartUiGetCategories(char *database, struct trackDb *tdb)
/* Get category colors and descriptions. If barChartLabel setting contains label list, assign rainbow colors.
* O/w look for a table naed track+Category, and use labels and colors there */
{
struct barChartCategory *categs = NULL;
char *words[BAR_CHART_MAX_CATEGORIES];