1dcfacd04aaefa861750e177f20619c4382f17cf tdreszer Fri Aug 12 12:45:25 2011 -0700 Divorced simple search entry from description search entry. Cleaned up a simplified some code. diff --git src/hg/lib/search.c src/hg/lib/search.c index a678cee..95c4e45 100644 --- src/hg/lib/search.c +++ src/hg/lib/search.c @@ -63,31 +63,31 @@ } 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 *mdbSelectPairs(struct cart *cart,enum searchTab selectedTab, struct slPair *mdbVars) +struct slPair *mdbSelectPairs(struct cart *cart, 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); char *str = cartOptionalString(cart, buf); @@ -110,60 +110,57 @@ int ix; char buf[256]; for(ix = 0; ix < numMetadataSelects; ix++) { int offset; // used to handle additions/deletions if(addSearchSelect > 0 && ix >= addSearchSelect) offset = 0; // do nothing to offset (i.e. copy data from previous row) else if(delSearchSelect > 0 && ix + 1 >= delSearchSelect) offset = 2; else offset = 1; safef(buf, sizeof(buf), "%s%d", METADATA_NAME_PREFIX, ix + offset); char *var = cartOptionalString(cart, buf); char *val = NULL; - if(selectedTab!=simpleTab) - { // We need to make sure var is valid in this assembly; if it isn't, reset it to "cell". if(slPairFindVal(mdbVars,var) == NULL) var = "cell"; else { safef(buf, sizeof(buf), "%s%d", METADATA_VALUE_PREFIX, ix + offset); enum cvSearchable searchBy = cvSearchMethod(var); if (searchBy == cvSearchByMultiSelect) { // Multi-selects as comma delimited list of values struct slName *vals = cartOptionalSlNameList(cart,buf); if (vals) { val = slNameListToString(vals,','); // A comma delimited list of values slNameFreeList(&vals); } } else if (searchBy == cvSearchBySingleSelect || searchBy == cvSearchByFreeText) val = cloneString(cartUsualString(cart, buf,ANYLABEL)); //else if (searchBy == cvSearchByDateRange || searchBy == cvSearchByIntegerRange) // { // // TO BE IMPLEMENTED // } if (val != NULL && sameString(val, ANYLABEL)) val = NULL; } - } slPairAdd(&mdbSelectPairs,var,val); // val already cloned } if(delSearchSelect > 0) { safef(buf, sizeof(buf), "%s%d", METADATA_NAME_PREFIX, numMetadataSelects + 1); cartRemove(cart, buf); 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);