b7580ea8067d0dbd917f7024015f9f5a4e958838 max Tue Apr 23 17:38:49 2013 -0700 adding publisher filter to pubs trackui diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index 1508575..cb41e4c 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -1990,77 +1990,88 @@ cgiMakeCheckBox(BASE_SHOWASM, showAsm); puts(" assembly "); cgiMakeCheckBox(BASE_SHOWPOS, showPos); puts(" position"); } void pubsUi(struct trackDb *tdb) /* UI for pubs match track */ { #define NUM_YEARS 15 // similar to google scholar, which goes back to 20 years #define PUBS_KEYWORDS_TAG "pubsKeywords" #define PUBS_YEAR_TAG "pubsYear" #define PUBS_COLORBY_TAG "pubsColorBy" +#define PUBS_PUBFILT_TAG "pubsPublisher" // get current set filters from cart char *keywords = cartUsualStringClosestToHome(cart, tdb, FALSE, PUBS_KEYWORDS_TAG, ""); char *yearFilter = cartUsualStringClosestToHome(cart, tdb, FALSE, PUBS_YEAR_TAG, "anytime"); char *colorBy = cartUsualStringClosestToHome(cart, tdb, FALSE, PUBS_COLORBY_TAG, "topic"); +char *pubFilter = cartUsualStringClosestToHome(cart, tdb, FALSE, PUBS_PUBFILT_TAG, "all"); // print keyword input box puts("
Filter articles by keywords in abstract, title or authors:");
char cgiVar[128];
safef(cgiVar,sizeof(cgiVar),"%s.%s",tdb->track,PUBS_KEYWORDS_TAG);
cgiMakeTextVar(cgiVar, keywords, 45);
-// generate strings like "since
\n");
printf("Show articles published ");
safef(cgiVar,sizeof(cgiVar),"%s.%s",tdb->track,PUBS_YEAR_TAG);
cgiDropDownWithTextValsAndExtra(cgiVar, text, values, NUM_YEARS + 1, yearFilter, NULL);
-// print dropdown box with "since
\n"); +printf("Only articles published by "); +char *publText[5] = {"all publishers", "Elsevier", "PubmedCentral", "Nature Publ. Group", "FASEB"}; +char *publVals[5] = {"all", "elsevier", "pmc", "npg", "faseb"}; +safef(cgiVar,sizeof(cgiVar),"%s.%s",tdb->track,PUBS_PUBFILT_TAG); +cgiDropDownWithTextValsAndExtra(cgiVar, publText, publVals, 5, pubFilter, NULL); +puts("
\n"); + +// print dropdown box with "color matches" lines puts("\n"); printf("Color sequence matches by "); char *colorText[3] = {"topic", "impact of journal", "year"}; char *colorVals[3] = {"topic", "impact", "year"}; safef(cgiVar,sizeof(cgiVar),"%s.%s",tdb->track,PUBS_COLORBY_TAG); cgiDropDownWithTextValsAndExtra(cgiVar, colorText, colorVals, 3, colorBy, NULL); puts("
\n"); -} +} void oligoMatchUi(struct trackDb *tdb) /* UI for oligo match track */ { char *oligo = cartUsualString(cart, oligoMatchVar, oligoMatchDefault); puts("Short (2-30 base) sequence:"); cgiMakeTextVar(oligoMatchVar, oligo, 45); } void cutterUi(struct trackDb *tdb) /* UI for restriction enzyme track */ { char *enz = cartUsualString(cart, cutterVar, cutterDefault); puts("
Filter display by enzymes (separate with commas):
");
cgiMakeTextVar(cutterVar, enz, 100);