304f3686ff1f77fb5793cd941ca3420a8903545a tdreszer Wed Aug 18 16:50:30 2010 -0700 Find Tracks now has a description only popup diff --git src/hg/hgTracks/searchTracks.c src/hg/hgTracks/searchTracks.c index ec96378..10c57f6 100644 --- src/hg/hgTracks/searchTracks.c +++ src/hg/hgTracks/searchTracks.c @@ -208,8 +208,6 @@ void doSearchTracks(struct group *groupList) { struct group *group; -char *ops[] = {"is", "contains"}; -char *op_labels[] = {"is", "contains"}; char *groups[128]; char *labels[128]; int numGroups = 1; @@ -217,7 +215,6 @@ labels[0] = ANYLABEL; char *currentTab = cartUsualString(cart, "hgt.currentSearchTab", "simpleTab"); char *nameSearch = cartOptionalString(cart, "hgt.nameSearch"); -char *nameOp = cartOptionalString(cart, "hgt.nameOp"); char *descSearch; char *groupSearch = cartOptionalString(cart, "hgt.groupSearch"); boolean doSearch = sameString(cartOptionalString(cart, searchTracks), "Search"); @@ -288,13 +285,16 @@ "<div id='advancedTab'>\n" "<table>\n"); -hPrintf("<tr><td></td><td></td><td></td><td><b>Description:</b></td><td align='right'>contains</td>\n"); -hPrintf("<td><input type='text' name='hgt.descSearch' id='descSearch' value='%s' size='80'></td></tr>\n", descSearch == NULL ? "" : descSearch); - -hPrintf("<tr><td></td><td></td><td>and</td><td><b>Track Name:</b></td><td align='right'>\n"); -cgiMakeDropListFull("hgt.nameOp", op_labels, ops, ArraySize(ops), nameOp == NULL ? "contains" : nameOp, NULL); +hPrintf("<tr><td></td><td></td><td></td><td><b>Track Name:</b></td><td align='right'>contains</td>\n"); +//char *ops[] = {"is", "contains"}; +//char *op_labels[] = {"is", "contains"}; +//char *nameOp = cartOptionalString(cart, "hgt.nameOp"); +//cgiMakeDropListFull("hgt.nameOp", op_labels, ops, ArraySize(ops), nameOp == NULL ? "contains" : nameOp, NULL); hPrintf("</td>\n<td><input type='text' name='hgt.nameSearch' id='nameSearch' value='%s'></td></tr>\n", nameSearch == NULL ? "" : nameSearch); +hPrintf("<tr><td></td><td></td><td>and</td><td><b>Description:</b></td><td align='right'>contains</td>\n"); +hPrintf("<td><input type='text' name='hgt.descSearch' id='descSearch' value='%s' size='80'></td></tr>\n", descSearch == NULL ? "" : descSearch); + hPrintf("<tr><td></td><td></td><td>and</td>\n"); hPrintf("<td><b>Group</b></td><td align='right'>is</td>\n<td>\n"); cgiMakeDropListFull("hgt.groupSearch", labels, groups, numGroups, groupSearch, NULL); @@ -514,7 +514,7 @@ for (tr = group->trackList; tr != NULL; tr = tr->next) { struct track *track = tr->track; - if((isEmpty(nameSearch) || isNameMatch(track, nameSearch, nameOp)) && + if((isEmpty(nameSearch) || isNameMatch(track, nameSearch, "contains")) && (isEmpty(descSearch) || isDescriptionMatch(track, descWords, descWordCount)) && (!numMetadataNonEmpty || hashLookup(matchingTracks, track->track) != NULL)) { @@ -526,7 +526,7 @@ struct track *subTrack; for (subTrack = track->subtracks; subTrack != NULL; subTrack = subTrack->next) { - if((isEmpty(nameSearch) || isNameMatch(subTrack, nameSearch, nameOp)) && + if((isEmpty(nameSearch) || isNameMatch(subTrack, nameSearch, "contains")) && (isEmpty(descSearch) || isDescriptionMatch(subTrack, descWords, descWordCount)) && (!numMetadataNonEmpty || hashLookup(matchingTracks, subTrack->track) != NULL)) { @@ -579,7 +579,7 @@ hPrintf("</td></tr><tr bgcolor='#%s'><td>",HG_COL_HEADER); printf(PM_BUTTON,"true", "plus_all", "add_sm.gif", "Select"); printf(PM_BUTTON,"false","minus_all","remove_sm.gif","Unselect"); - hPrintf("</td><td><b>Visibility</b></td><td><b>Name</b></td><td><b>Description</b></td></tr>\n"); + hPrintf("</td><td><b>Visibility</b></td><td colspan=2> <b>Track Name</b></td></tr>\n"); // FIXME: I believe that only data tracks should appear in found tracks. If composite is found, show its children instead int trackCount=0; @@ -625,6 +625,7 @@ checked = fourStateVisible(subtrackFourStateChecked(track->tdb,cart)); // Don't need all 4 states here. Visible=checked&&enabled track->visibility = limitedVisFromComposite(track); struct trackDb *parentTdb = trackDbCompositeParent(track->tdb); + if(parentTdb != NULL) track->visibility = tvMin(track->visibility,parentTdb->visibility); checked = (checked && ( track->visibility != tvHide )); // Checked is only if subtrack level vis is also set! @@ -656,10 +657,10 @@ hTvDropDownClassWithJavascript(NULL, track->visibility,track->canPack,"normalText seenVis",extra); } hPrintf("</td>\n"); - if(tdbIsSuper(track->tdb) || tdbIsComposite(track->tdb)) - hPrintf("<td><a target='_top' href='%s' title='Configure track...'>%s</a></td>\n", trackUrl(track->track, NULL), track->shortLabel); - else - hPrintf("<td><a target='_top' onclick='hgTrackUiPopUp(\"%s\"); return false;' href='%s' title='Configure track...'>%s</a></td>\n", track->track, trackUrl(track->track, NULL), track->shortLabel); + //if(tdbIsSuper(track->tdb) || tdbIsComposite(track->tdb)) + // hPrintf("<td><a target='_top' href='%s' title='Configure track...'>%s</a></td>\n", trackUrl(track->track, NULL), track->shortLabel); + //else + hPrintf("<td><a target='_top' onclick=\"hgTrackUiPopUp('%s',true); return false;\" href='%s' title='Display track details'>%s</a></td>\n", track->track, trackUrl(track->track, NULL), track->shortLabel); hPrintf("<td>%s", track->longLabel); compositeMetadataToggle(database, track->tdb, "...", TRUE, FALSE, tdbHash); hPrintf("</td></tr>\n");