src/hg/lib/hui.c 1.192
1.192 2009/05/06 00:24:07 tdreszer
Moved metadata display to separate function to be called from hgc and hgTables
Index: src/hg/lib/hui.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/hui.c,v
retrieving revision 1.191
retrieving revision 1.192
diff -b -B -U 4 -r1.191 -r1.192
--- src/hg/lib/hui.c 5 May 2009 22:37:28 -0000 1.191
+++ src/hg/lib/hui.c 6 May 2009 00:24:07 -0000 1.192
@@ -2790,8 +2790,41 @@
}
return date;
}
+boolean metadataToggle(struct trackDb *tdb,char *title,boolean embeddedInText)
+/* If metadata exists, create a link that will allow toggling it's display */
+{
+metadata_t *metadata = metadataSettingGet(tdb);
+if(metadata != NULL)
+ {
+ printf("%s<A HREF='#a_meta_%s' onclick='return metadataShowHide(\"%s\");' title='Show metadata details...'>%s</A>\n",
+ (embeddedInText?" ":"<P>"),tdb->tableName,tdb->tableName, title);
+ printf("<DIV id='div_%s_meta' style='display:none;'><!--<table>",tdb->tableName);
+ if(!embeddedInText)
+ printf("<tr onmouseover=\"this.style.cursor='text';\"><td colspan=2>%s</td></tr>",tdb->longLabel);
+ printf("<tr onmouseover=\"this.style.cursor='text';\"><td align=right><i>shortLabel:</i></td><td nowrap>%s</td></tr>",tdb->shortLabel);
+ int ix = (sameString(metadata->values[0],"wgEncode")?1:0); // first should be project.
+ for(;ix<metadata->count;ix++)
+ {
+ if(sameString(metadata->tags[ix],"fileName"))
+ {
+ printf("<tr onmouseover=\"this.style.cursor='text';\"><td align=right><i>%s:</i></td><td nowrap>",metadata->tags[ix]);
+ makeNamedDownloadsLink(tdb->parent != NULL? tdb->parent :tdb ,metadata->values[ix]);
+ printf("</td></tr>");
+ }
+ else
+ if(!sameString(metadata->tags[ix],"subId")
+ && !sameString(metadata->tags[ix],"composite"))
+ printf("<tr onmouseover=\"this.style.cursor='text';\"><td align=right><i>%s:</i></td><td nowrap>%s</td></tr>",metadata->tags[ix],metadata->values[ix]);
+ }
+ printf("</table>--></div>\n");
+ metadataFree(&metadata);
+ return TRUE;
+ }
+return FALSE;
+}
+
static void compositeUiSubtracks(char *db, struct cart *cart, struct trackDb *parentTdb,
boolean selectedOnly, char *primarySubtrack)
/* Show checkboxes for subtracks. */
{
@@ -3030,32 +3063,9 @@
}
printf ("<TD nowrap='true' title='select to copy' onmouseover=\"this.style.cursor='text';\"><div> %s", subtrack->longLabel);
if(trackDbSetting(parentTdb, "wgEncode") && trackDbSetting(subtrack, "accession"))
printf (" [GEO:%s]", trackDbSetting(subtrack, "accession"));
-
- metadata_t *metadata = metadataSettingGet(subtrack);
- if(metadata != NULL)
- {
- printf(" <A HREF='#a_meta_%s' onclick='return subtrackMetaShow(\"%s\");' title='Show metadata'>...</A></div>\n",
- subtrack->tableName,subtrack->tableName);
- printf("<DIV id='div_%s_meta' style='display:none;'><!--<table>",subtrack->tableName);
- //printf("<DIV id='div.%s.meta'><table>",subtrack->tableName);
- int ix = (sameString(metadata->values[0],"wgEncode")?1:0); // first should be project.
- for(;ix<metadata->count;ix++)
- {
- if(sameString(metadata->tags[ix],"fileName"))
- {
- printf("<tr onmouseover=\"this.style.cursor='text';\"><td align=right><i>%s:</i></td><td nowrap>",metadata->tags[ix]);
- makeNamedDownloadsLink(parentTdb,metadata->values[ix]);
- printf("</td></tr>");
- }
- else if(!sameString(metadata->tags[ix],"subId")
- && !sameString(metadata->tags[ix],"composite"))
- printf("<tr onmouseover=\"this.style.cursor='text';\"><td align=right><i>%s:</i></td><td nowrap>%s</td></tr>",metadata->tags[ix],metadata->values[ix]);
- }
- printf("</table>-->\n");
- metadataFree(&metadata);
- }
+ metadataToggle(subtrack,"...",TRUE);
printf("</div>");
if(cType != cfgNone)
{