c777a406269f3c9a4a6144c53213e25402f10b89
chmalee
Fri Jan 27 10:29:01 2023 -0800
faceted bar chart hgTrackUi pages are broken in the hgTracks hgTrackUi pop up. don't do the faceted selection part when we are in a pop up, refs #30102
diff --git src/hg/lib/barChartUi.c src/hg/lib/barChartUi.c
index 21d8472..82df621 100644
--- src/hg/lib/barChartUi.c
+++ src/hg/lib/barChartUi.c
@@ -440,30 +440,40 @@
/* Write out wrapper draws a SVG bar*/
{
printf("
", val);
// printf("
");
}
void barChartFacetedUi(char *database, struct cart *cart, struct trackDb *tdb, char *track,
char *title, boolean boxed)
/* Bar chart track type that has an associated facets tables */
{
puts(" ");
barChartUiLogTransform(cart, track, tdb);
puts(" ");
barChartUiViewLimits(cart, track, tdb);
+if (isPopup)
+ {
+ char *categoryLabel = trackDbSettingClosestToHomeOrDefault(tdb,
+ BAR_CHART_CATEGORY_LABEL, BAR_CHART_CATEGORY_LABEL_DEFAULT);
+ printf("%s: \n", categoryLabel);
+ printf("
Change ",
+ hTrackUiForTrack(track), track);
+ }
+else
+ {
char *facets = trackDbSetting(tdb, "barChartFacets");
char *statsFile = hReplaceGbdb(trackDbRequiredSetting(tdb, "barChartStatsUrl"));
/* Write html to make white background */
hInsideStyleToWhite();
/* Set up url that has enough context to get back to us. */
struct dyString *returnUrl = dyStringNew(0);
dyStringPrintf(returnUrl, "../cgi-bin/hgTrackUi?g=%s", track);
dyStringPrintf(returnUrl, "&%s", cartSidUrlString(cart));
/* Load up table from tsv file */
char *requiredStatsFields[] = {"count",};
struct fieldedTable *table = fieldedTableFromTabFile(statsFile, statsFile,
requiredStatsFields, ArraySize(requiredStatsFields));
@@ -490,30 +500,31 @@
struct slName *facetNameList = slNameListFromComma(facets);
struct slName *facetName;
for (facetName = facetNameList; facetName != NULL; facetName = facetName->next)
{
if (fieldedTableFindFieldIx(selected, facetName->name))
dyStringPrintf(displayList, ",%s", facetName->name);
}
/* Put up facets and table */
facetedTableWriteHtml(facTab, cart, selected, selectedFf, displayList->string,
returnUrl->string, 40, wrapperHash, NULL, 7);
/* Clean up and go home. */
facetedTableFree(&facTab);
}
+}
void barChartCfgUi(char *database, struct cart *cart, struct trackDb *tdb, char *track,
char *title, boolean boxed)
/* Put up facets in certain situations. */
{
if (cartVarExists(cart, "ajax"))
isPopup = TRUE;
boxed = cfgBeginBoxAndTitle(tdb, boxed, title);
if (startsWith("big", tdb->type))
labelCfgUi(database, cart, tdb, track);
char *facets = trackDbSetting(tdb, "barChartFacets");
if (facets != NULL)
barChartFacetedUi(database, cart, tdb, track, title, boxed);
else
barChartCfgUiSelectEachBar(database, cart, tdb, track, title, boxed);