f696e3739df240549d0ef2a172a13f7b4d2a8433
kent
  Thu Jan 28 21:26:51 2021 -0800
Making facet_op be not hard coded

diff --git src/hg/hgFacetedBars/hgFacetedBars.c src/hg/hgFacetedBars/hgFacetedBars.c
index 613821d..0cfc09f 100644
--- src/hg/hgFacetedBars/hgFacetedBars.c
+++ src/hg/hgFacetedBars/hgFacetedBars.c
@@ -46,43 +46,45 @@
 
 /* Working within a form we save context */
 printf("<form action=\"../cgi-bin/hgFacetedBars\" name=\"facetForm\" method=\"GET\">\n");
 cartSaveSession(cart);
 
 /* Fake up a 'track' for development */
 char *trackName = "cellFacetsJk1";
 
 /* Set up url that has enough context to get back to us.  This is very much a work in 
  * progress. */
 char returnUrl[PATH_LEN*2];
 safef(returnUrl, sizeof(returnUrl), "../cgi-bin/hgFacetedBars?%s",
     cartSidUrlString(cart) );
 
 /* If we got called by a click on a facet deal with that */
-char *selOp = cartOptionalString(cart, "browseFiles_facet_op");
+char opVar[256];
+safef(opVar, sizeof(opVar), "%s_facet_op", trackName);
+char *selOp = cartOptionalString(cart, opVar);
 if (selOp)
     {
     char *selFieldName = cartOptionalString(cart, "browseFiles_facet_fieldName");
     char *selFieldVal = cartOptionalString(cart, "browseFiles_facet_fieldVal");
     if (selFieldName && selFieldVal)
 	{
 	char *selectedFacetValues=cartUsualString(cart, "cdwSelectedFieldValues", "");
 	struct facetField *selList = deLinearizeFacetValString(selectedFacetValues);
 	selectedListFacetValUpdate(&selList, selFieldName, selFieldVal, selOp);
 	char *newSelectedFacetValues = linearizeFacetVals(selList);
 	cartSetString(cart, "cdwSelectedFieldValues", newSelectedFacetValues);
-	cartRemove(cart, "browseFiles_facet_op");
+	cartRemove(cart, opVar);
 	cartRemove(cart, "browseFiles_facet_fieldName");
 	cartRemove(cart, "browseFiles_facet_fieldVal");
 	}
     }
 
 /* Put up the big faceted search table */
 webFilteredSqlTable(cart, conn, 
     "cell_count,organ,cell_type", trackName, "", 
     returnUrl, trackName, 32, 
     emptyHash, NULL, 
     FALSE, NULL, 100, 10, emptyHash, "organ,cell_class,stage,cell_type",
     NULL);
 
 /* Clean up and go home. */
 printf("</form>\n");