8271e7c9588f2ba9fbea3fa4bbbec52a1f452cd8 tdreszer Wed Feb 23 09:17:40 2011 -0800 Fixed redmine 2911. 'No tracks found' message was lost but now is found. diff --git src/hg/hgTracks/searchTracks.c src/hg/hgTracks/searchTracks.c index 9a0187e..40e6b3d 100644 --- src/hg/hgTracks/searchTracks.c +++ src/hg/hgTracks/searchTracks.c @@ -764,33 +764,42 @@ char extra[512]; if (tdbIsFolder(track->tdb)) { safef(extra,sizeof(extra),"id='%s_id' onchange='findTracksChangeVis(this)'",track->track); hideShowDropDownWithClassAndExtra(track->track, (track->visibility != tvHide), "normalText visDD",extra); } else { safef(extra,sizeof(extra),"id='%s_id' onchange='findTracksChangeVis(this)'",track->track); hTvDropDownClassWithJavascript(NULL, track->visibility,track->canPack,"normalText seenVis",extra); } // If this is a container track, allow configuring... if (tdbIsContainer(track->tdb) || tdbIsFolder(track->tdb)) { - containerTrackCount++; - hPrintf("  ", track->track); + containerTrackCount++; // Using onclick ensures return to search tracks on submit + hPrintf("  ", track->track); } +//#define SHOW_PARENT_FOLDER +#ifdef SHOW_PARENT_FOLDER + else if (tdbIsContainerChild(track->tdb) || tdbIsFolderContent(track->tdb)) + { + struct trackDb *parentTdb = tdbIsContainerChild(track->tdb) ? tdbGetContainer(track->tdb) : tdbGetImmediateFolder(track->tdb); + if (parentTdb != NULL) // Using href will not return to search tracks on submit + hPrintf("  ", parentTdb->track); + } +#endif///def SHOW_PARENT_FOLDER hPrintf("\n"); // shortLabel has description popup and longLabel has "..." metadata hPrintf("%s\n", track->track, trackUrl(track->track, NULL), track->shortLabel); hPrintf("%s", track->longLabel); compositeMetadataToggle(database, track->tdb, "...", TRUE, FALSE, tdbHash); hPrintf("\n"); } //hPrintf("\n"); // Closing view in browser button and foundTracks count hPrintf(""); hPrintf(""); hPrintf("    "); if(tracksFound >= ENOUGH_FOUND_TRACKS) @@ -1048,31 +1057,30 @@ //hPrintf("\n"); //if (selectedTab==fileTab && groupSearch) // searchTermsExist = TRUE; // Track Type is (drop down) hPrintf(" \n"); //hPrintf("and \n"); // Bring back "and" if using "Track Name,Description or Group hPrintf("Data Format:"); hPrintf("is\n"); hPrintf("", cols - 4); formatCount = getFileFormatTypes(&formatLabels, &formatTypes); cgiMakeDropListFull(TRACK_SEARCH_ON_FILETYPE, formatLabels, formatTypes, formatCount, fileTypeSearch, "class='fileTypeSearch' style='min-width:40%; font-size:.9em;'"); hPrintf("\n"); if (selectedTab==filesTab && fileTypeSearch) searchTermsExist = TRUE; -hPrintf("\n"); // Metadata selects require careful accounting if(metaDbExists) numMetadataSelects = printMdbSelects(conn, cart, selectedTab, &mdbVar, &mdbVal, &numMetadataNonEmpty, cols); else numMetadataSelects = 0; hPrintf("\n"); hPrintf("\n", TRACK_SEARCH); hPrintf("\n"); hPrintf("\n"); //hPrintf("help\n"); hPrintf("\n"); #endif///def FILES_SEARCH @@ -1124,46 +1132,43 @@ // Now search struct slRef *tracks = NULL; if(selectedTab==simpleTab) tracks = simpleSearchForTracksstruct(trix,descWords,descWordCount); else if(selectedTab==advancedTab) tracks = advancedSearchForTracks(conn,groupList,descWords,descWordCount,nameSearch,typeSearch,descSearch,groupSearch,mdbPairs); #ifdef FILES_SEARCH else if(selectedTab==filesTab && mdbPairs != NULL) fileSearchResults(database, conn, mdbPairs, fileTypeSearch); #endif///def FILES_SEARCH if (measureTiming) uglyTime("Searched for tracks"); - if (tracks != NULL) - { // Sort and Print results if(selectedTab!=filesTab) { enum sortBy sortBy = cartUsualInt(cart,TRACK_SEARCH_SORT,sbRelevance); tracksFound = slCount(tracks); if(tracksFound > 1) findTracksSort(&tracks,sortBy); displayFoundTracks(cart,tracks,tracksFound,sortBy); if (measureTiming) uglyTime("Displayed found tracks"); } - } slPairFreeList(&mdbPairs); } hFreeConn(&conn); webNewSection("About Track Search"); if(metaDbExists) hPrintf("

Search for terms in track names, descriptions, groups, and ENCODE " "metadata. If multiple terms are entered, only tracks with all terms " "will be part of the results."); else hPrintf("

Search for terms in track descriptions, groups, and names. " "If multiple terms are entered, only tracks with all terms " "will be part of the results."); hPrintf("
more help

\n"); webEndSectionTables();