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"); }