7d13a55b365d2adb10dd4c33e4698b6629170e26 kate Mon Jan 30 17:44:35 2017 -0800 Fix interacting UI controls. refs #18736 diff --git src/hg/lib/barChartUi.c src/hg/lib/barChartUi.c index a2ca0e9..e0d8821 100644 --- src/hg/lib/barChartUi.c +++ src/hg/lib/barChartUi.c @@ -106,62 +106,63 @@ 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 */ { char cartVar[1024]; char buf[512]; puts("<b>Log10 transform:</b>\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='barChartTransformChanged(\"%s\")'", track); +safef(buf, sizeof buf, "onchange='barChartUiTransformChanged(\"%s\")'", track); cgiMakeCheckBoxJS(cartVar, isLogTransform, buf); } 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 */ { char cartVar[1024]; char buf[512]; boolean isLogTransform = cartCgiUsualBoolean(cart, cartVar, BAR_CHART_LOG_TRANSFORM_DEFAULT); safef(buf, sizeof buf, "%sViewLimitsMaxLabel %s", track, isLogTransform ? "disabled" : ""); printf("<span class='%s'><b>View limits maximum:</b></span>\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("<span class='%s'> (range 0-%d)</span>\n", buf, round(barChartUiMaxMedianScore())); } void barChartCfgUi(char *database, struct cart *cart, struct trackDb *tdb, char *track, char *title, boolean boxed) /* Bar chart track type */ { + +jsIncludeFile("barChart.js", NULL); if (cartVarExists(cart, "ajax")) isPopup = TRUE; - boxed = cfgBeginBoxAndTitle(tdb, boxed, title); printf("\n<table id=barChartControls style='font-size:%d%%' %s>\n<tr><td>", isPopup ? 75 : 100, boxed ?" width='100%'":""); char cartVar[1024]; /* Data transform. When selected, the next control (view limits max) is disabled */ puts("<div>"); barChartUiLogTransform(cart, track, tdb); /* Viewing limits max. This control is disabled if log transform is selected */ // construct class so JS can toggle puts(" "); barChartUiViewLimits(cart, track, tdb);