6191697bef2b53d372151606e7bb83a483dd9515
tdreszer
Wed Dec 15 16:53:53 2010 -0800
Fixed the mdb '...' table so that it can overflow the longLable table cell.
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index e4de91a..ea12491 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -155,91 +155,91 @@
freeMem(encTerm);
freeMem(encValue);
return dyStringCannibalize(&dyLink);
}
char *metadataAsHtmlTable(char *db,struct trackDb *tdb,boolean showLongLabel,boolean showShortLabel, struct hash *trackHash)
/* If metadata from metaDb exists, return string of html with table definition */
{
const struct mdbObj *safeObj = metadataForTable(db,tdb,NULL);
if (safeObj == NULL || safeObj->vars == NULL)
return NULL;
//struct dyString *dyTable = dyStringCreate("
",tdb->table);
struct dyString *dyTable = dyStringCreate("");
if(showLongLabel)
- dyStringPrintf(dyTable,"%s |
",tdb->longLabel);
+ dyStringPrintf(dyTable,"%s |
",tdb->longLabel);
if(showShortLabel)
- dyStringPrintf(dyTable,"shortLabel: | %s |
",tdb->shortLabel);
+ dyStringPrintf(dyTable,"shortLabel: | %s |
",tdb->shortLabel);
// Get the hash of mdb and cv term types
struct hash *cvTermTypes = mdbCvTermTypeHash();
struct mdbObj *mdbObj = mdbObjClone(safeObj); // Important if we are going to remove vars!
mdbObjRemoveVars(mdbObj,"composite project objType"); // Don't bother showing these (suggest: "composite project dataType view tableName")
mdbObjReorderVars(mdbObj,"grant lab dataType cell treatment antibody protocol replicate view setType inputType",FALSE); // Bring to front
mdbObjReorderVars(mdbObj,"subId submittedDataVersion dateSubmitted dateResubmitted dateUnrestricted dataVersion tableName fileName fileIndex",TRUE); // Send to back
struct mdbVar *mdbVar;
for (mdbVar=mdbObj->vars;mdbVar!=NULL;mdbVar=mdbVar->next)
{
if ((sameString(mdbVar->var,"fileName") || sameString(mdbVar->var,"fileIndex") )
&& trackDbSettingClosestToHome(tdb,"wgEncode") != NULL)
{
- dyStringPrintf(dyTable,"%s: | ",mdbVar->var);
+ dyStringPrintf(dyTable," |
%s: | ",mdbVar->var);
dyStringAppend(dyTable,htmlStringForDownloadsLink(db, tdb, mdbVar->val, TRUE, trackHash));
dyStringAppend(dyTable," |
");
}
else
{
// If antibody and metadata contains input={sameValue} then just print input
if(sameString(mdbVar->var,"antibody") && mdbObjContains(mdbObj,"input",mdbVar->val))
continue;
if (cvTermTypes && differentString(mdbVar->var,"tableName")) // Don't bother with tableName
{
struct hash *cvTerm = hashFindVal(cvTermTypes,mdbVar->var);
if (cvTerm != NULL)
{
if(SETTING_NOT_ON(hashFindVal(cvTerm,"hidden"))) // NULL is not on
{
char *label=hashFindVal(cvTerm,"label");
if (label == NULL)
label = mdbVar->var;
char *linkOfType = controlledVocabLink(NULL,"type",mdbVar->var,label,label,NULL);
char *cvDefined=hashFindVal(cvTerm,"cvDefined");
if (cvDefined != NULL && !SETTING_IS_OFF(cvDefined)) // assume setting is ON
{
char *linkOfTerm = controlledVocabLink(NULL,"term",mdbVar->val,mdbVar->val,mdbVar->val,NULL);
- dyStringPrintf(dyTable,"%s: | %s |
",linkOfType,linkOfTerm);
+ dyStringPrintf(dyTable,"%s: | %s |
",linkOfType,linkOfTerm);
freeMem(linkOfTerm);
}
else
- dyStringPrintf(dyTable,"%s: | %s |
",linkOfType,mdbVar->val);
+ dyStringPrintf(dyTable,"%s: | %s |
",linkOfType,mdbVar->val);
//{ // NOTE: Could just have a tool tip for these.
//char *descr=cgiEncode(hashMustFindVal(cvTerm,"description"));
//label = cgiEncode(label);
//dyStringPrintf(dyTable,"%s: | %s |
",descr,label,mdbVar->val);
//freeMem(descr);
//freeMem(label);
//}
freeMem(linkOfType);
continue;
}
}
}
- dyStringPrintf(dyTable,"%s: | %s |
",mdbVar->var,mdbVar->val);
+ dyStringPrintf(dyTable,"%s: | %s |
",mdbVar->var,mdbVar->val);
}
}
dyStringAppend(dyTable,"
");
//mdbObjsFree(&mdbObj); // spill some memory
return dyStringCannibalize(&dyTable);
}
boolean compositeMetadataToggle(char *db,struct trackDb *tdb,char *title,
boolean embeddedInText,boolean showLongLabel, struct hash *trackHash)
/* If metadata from metaTbl exists, create a link that will allow toggling it's display */
{
const struct mdbObj *safeObj = metadataForTable(db,tdb,NULL);
if(safeObj == NULL || safeObj->vars == NULL)
return FALSE;