6c1f41fb7917a57861810431337b400d21714c25
galt
  Thu Jan 30 18:17:24 2020 -0800
Initial check-in for a new top-bar showing the selected facets and their values for easily seeing what has been selected, and de-selecting is easy by clicking there if you want to. Also added an explicit button for clearing the Restrictions, i.e. cdwFile_filter cart var filter.

diff --git src/hg/cirm/cdw/cdwWebBrowse/cdwWebBrowse.c src/hg/cirm/cdw/cdwWebBrowse/cdwWebBrowse.c
index 93b9080..86f014c 100644
--- src/hg/cirm/cdw/cdwWebBrowse/cdwWebBrowse.c
+++ src/hg/cirm/cdw/cdwWebBrowse/cdwWebBrowse.c
@@ -1225,34 +1225,41 @@
 puts("<div>\n");
 cdwFileFreeList(&efList);
 }
 
 void doBrowseFiles(struct sqlConnection *conn)
 /* Print list of files */
 {
 printf("<FORM ACTION=\"../cgi-bin/cdwWebBrowse\" METHOD=GET>\n");
 cartSaveSession(cart);
 cgiMakeHiddenVar("cdwCommand", "browseFiles");
 
 cgiMakeHiddenVar("clearSearch", "0");
 char *clearSearch = cartOptionalString(cart, "clearSearch");
 if (clearSearch && sameString(clearSearch,"1"))
     {
-    cartSetString(cart, "cdwFile_filter", "");  // reset file filter to empty string
     cartRemove(cart, "clearSearch");
     }
 
+cgiMakeHiddenVar("clearRestriction", "0");
+char *clearRestriction = cartOptionalString(cart, "clearRestriction");
+if (clearRestriction && sameString(clearRestriction,"1"))
+    {
+    cartSetString(cart, "cdwFile_filter", "");  // reset file filter to empty string
+    cartRemove(cart, "clearRestriction");
+    }
+
 // DEBUG REMOVE
 //char *varName = "cdwSelectedFieldValues";
 //char *varVal = cartUsualString(cart, varName, "");
 //warn("varName=[%s] varVal=[%s]", varName, varVal); // DEBUG REMOVE
 
 //warn("getCdwTableSetting(cdwFileFacets)=%s", getCdwTableSetting("cdwFileFacets")); // DEBUG REMOVE
 
 char *selOp = cartOptionalString(cart, "browseFiles_facet_op");
 if (selOp)
     {
     char *selFieldName = cartOptionalString(cart, "browseFiles_facet_fieldName");
     char *selFieldVal = cartOptionalString(cart, "browseFiles_facet_fieldVal");
     if (selFieldName && selFieldVal)
 	{
 	char *selectedFacetValues=cartUsualString(cart, "cdwSelectedFieldValues", "");
@@ -1266,34 +1273,31 @@
 	cartRemove(cart, "browseFiles_facet_op");
 	cartRemove(cart, "browseFiles_facet_fieldName");
 	cartRemove(cart, "browseFiles_facet_fieldVal");
 	}
     }
 
 printf("Click on file's name to see full metadata.");
 printf(" Links in ucsc_db go to the Genome Browser. <BR>\n");
 char *searchString = showSearchControl("cdwFileSearch", "files");
 
 /* Put up big filtered table of files */
 char returnUrl[PATH_LEN*2];
 safef(returnUrl, sizeof(returnUrl), "../cgi-bin/cdwWebBrowse?cdwCommand=browseFiles&%s",
     cartSidUrlString(cart) );
 char *where = cartUsualString(cart, "cdwFile_filter", "");
-if (!isEmpty(where))
-    {
-    printf("<BR>Restricting files to where %s. ", where);
-    }
+
 struct hash *wrappers = hashNew(0);
 hashAdd(wrappers, "file_name", wrapFileName);
 hashAdd(wrappers, "ucsc_db", wrapTrackNearFileName);
 hashAdd(wrappers, "format", wrapFormat);
 hashAdd(wrappers, "file_size", wrapFileSize);
 
 accessibleFilesTable(cart, conn, searchString,
   fileTableFields,
   isEmpty(where) ? getCdwTableSetting("cdwFileFacets") : getCdwTableSetting("cdwFileTags"),
   where, 
   returnUrl, "cdwBrowseFiles",
   18, wrappers, conn, FALSE, "files", 100, visibleFacetFields, TRUE);
 printf("</FORM>\n");
 }