7544fd2a03bf573a9a12195d86a2fc082a88de78 tdreszer Tue Apr 5 15:17:56 2011 -0700 Tightened the screws on searching by mdb vars where the search is either for files or tables diff --git src/hg/lib/searchTracks.c src/hg/lib/searchTracks.c index 1573f91..d6154ba 100644 --- src/hg/lib/searchTracks.c +++ src/hg/lib/searchTracks.c @@ -65,49 +65,30 @@ } char *fileFormatSelectHtml(char *name, char *selected, char *extraHtml) // returns an allocated string of HTML for the fileType select drop down { struct slPair *fileTypes = fileFormatSearchWhiteList(); if (slCount(fileTypes) > 0) { char *dropDownHtml = cgiMakeSingleSelectDropList(name,fileTypes,selected,ANYLABEL,NULL,extraHtml); slPairFreeList(&fileTypes); return dropDownHtml; } return NULL; } -struct slPair *mdbVarsRelevant(struct sqlConnection *conn) -// returns a white list of mdb vars that are relevant to the currect DB -{ -struct slPair *cvApproved = cvWhiteList(TRUE,FALSE); -struct slPair *relevant = NULL; -while(cvApproved != NULL) - { - struct slPair *oneVar = slPopHead(&cvApproved); - char query[256]; - safef(query, sizeof(query), "select count(*) from metaDb where var = '%s'",oneVar->name); - if(sqlQuickNum(conn,query) > 0) - slAddHead(&relevant, oneVar); - else - slPairFree(&oneVar); - } -slReverse(&relevant); -return relevant; -} - struct slPair *mdbSelectPairs(struct cart *cart,enum searchTab selectedTab, struct slPair *mdbVars) // Returns the current mdb vars and vals in the table of drop down selects { // figure out how many metadata selects are visible. int numMetadataSelects = 0; struct slPair *mdbSelectPairs = NULL; if (mdbVars == NULL) return 0; // Get the current number of rows in the table of mdb selects for(;;) { char buf[256]; safef(buf, sizeof(buf), "%s%d", METADATA_NAME_PREFIX, numMetadataSelects + 1); @@ -182,32 +163,32 @@ safef(buf, sizeof(buf), "%s%d", METADATA_VALUE_PREFIX, numMetadataSelects + 1); cartRemove(cart, buf); } } else { // create defaults slPairAdd(&mdbSelectPairs,"cell", NULL); slPairAdd(&mdbSelectPairs,"antibody",NULL); } slReverse(&mdbSelectPairs); return mdbSelectPairs; } -char *mdbSelectsHtmlRows(struct sqlConnection *conn,struct slPair *mdbSelects,struct slPair *mdbVars,int cols) -// generates the html for the table rows containing mdb var and val selects +char *mdbSelectsHtmlRows(struct sqlConnection *conn,struct slPair *mdbSelects,struct slPair *mdbVars,int cols,boolean fileSearch) +// genereates the html for the table rows containing mdb var and val selects. Assume tableSearch unless fileSearch { struct dyString *output = dyStringNew(1024); dyStringPrintf(output,"