e8150b9257bb593758eb48a92c20b374b264b9b8
tdreszer
  Tue Dec 21 15:50:04 2010 -0800
Fix for redmine 2036 (silent javascript errors because lib code was inappropriately including hu.js for hgTables merge list.  Added feature for redmine 2062.  Now hgc and hgTrackUi will show pennantIcon with note.
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 8d4a44e..ced5890 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -6772,40 +6772,43 @@
     }
     return TRUE;
 }
 
 void hCompositeUi(char *db, struct cart *cart, struct trackDb *tdb,
 		  char *primarySubtrack, char *fakeSubmit, char *formName, struct hash *trackHash)
 /* UI for composite tracks: subtrack selection.  If primarySubtrack is
  * non-NULL, don't allow it to be cleared and only offer subtracks
  * that have the same type.  If fakeSubmit is non-NULL, add a hidden
  * var with that name so it looks like it was pressed. */
 {
 bool hasSubgroups = (trackDbSetting(tdb, "subGroup1") != NULL);
 boolean isMatrix = dimensionsExist(tdb);
 boolean viewsOnly = FALSE;
 
+if (primarySubtrack == NULL)
+    {
 if (!cartVarExists(cart, "ajax"))
     {
     if(trackDbSetting(tdb, "dragAndDrop") != NULL)
         jsIncludeFile("jquery.tablednd.js", NULL);
     jsIncludeFile("ajax.js",NULL);
     #ifdef TABLE_SCROLL
     jsIncludeFile("jquery.fixedtable.js",NULL);
     #endif//def TABLE_SCROLL
     }
 jsIncludeFile("hui.js",NULL);
+    }
 
 #ifdef SUBTRACK_CFG_POPUP
 printf("<div id='popit' style='display: none'></div>");
 cgiMakeHiddenVar("db", db);
 printf("<input type=HIDDEN id='track' value='%s';</input>\n",tdb->track);
 #endif
 puts("<P>");
 if (trackDbCountDescendantLeaves(tdb) < MANY_SUBTRACKS && !hasSubgroups)
     {
     if(primarySubtrack)
         compositeUiSubtracksMatchingPrimary(db, cart, tdb,primarySubtrack);
     else
         compositeUiSubtracks(db, cart, tdb, trackHash);
     return;
     }
@@ -7055,30 +7058,62 @@
 webPrintLabelCell(label);
 char **row;
 while ((row = sqlNextRow(sr)) != NULL)
     {
     printf("</TR><TR>\n");
     char *name = row[0];
     char *description = row[1];
     webPrintLinkCell(name);
     webPrintLinkCell(description);
     }
 sqlFreeResult(&sr);
 webPrintLinkTableEnd();
 }
 
 
+boolean printPennantIconNote(struct trackDb *tdb)
+// Returns TRUE and prints out the "pennantIcon" and note when found.
+//This is used by hgTrackUi and hgc before printing out trackDb "html"
+{
+char * setting = trackDbSetting(tdb, "pennantIcon");
+if (setting != NULL)
+    {
+    setting = cloneString(setting);
+    char *icon = htmlEncodeText(nextWord(&setting),FALSE);
+    char *url = nextWord(&setting);
+    char *hint = htmlEncodeText(stripEnclosingDoubleQuotes(setting),FALSE);
+
+    if (strlen(url) > 0)
+        {
+        printf("<P><a title='%s' href='%s' TARGET=ucscHelp><img height='16' width='16' src='../images/%s'></a>",hint,url,icon);
+
+        // Special case for liftOver from hg17 or hg18, but this should probably be generalized.
+        if (sameString(icon,"18.jpg") && startsWithWord("lifted",hint))
+            printf("&nbsp;Note: these data have been converted via liftOver from the Mar. 2006 (NCBI36/hg18) version of the track.");
+        else if (sameString(icon,"17.jpg") && startsWithWord("lifted",hint))
+            printf("&nbsp;Note: these data have been converted via liftOver from the May 2004 (NCBI35/hg17) version of the track.");
+        else if (strlen(hint) > 0)
+            printf("&nbsp;Note: %s.",hint);
+        printf("</P>\n");
+        }
+    else
+        printf("<img height='16' width='16' src='%s'>\n",icon);
+    return TRUE;
+    }
+return FALSE;
+}
+
 boolean hPrintPennantIcon(struct trackDb *tdb)
 // Returns TRUE and prints out the "pennantIcon" when found.  Example: ENCODE tracks in hgTracks config list.
 {
 char *setting = trackDbSetting(tdb, "pennantIcon");
 if(setting != NULL)
     {
     setting = cloneString(setting);
     char *icon = htmlEncodeText(nextWord(&setting),FALSE);
     if (setting)
         {
         char *url = nextWord(&setting);
         if (setting)
             {
             char *hint = htmlEncodeText(stripEnclosingDoubleQuotes(setting),FALSE);
             hPrintf("<a title='%s' href='%s' TARGET=ucscHelp><img height='16' width='16' src='../images/%s'></a>\n",hint,url,icon);