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,"",tdb->longLabel); + dyStringPrintf(dyTable,"",tdb->longLabel); if(showShortLabel) - dyStringPrintf(dyTable,"",tdb->shortLabel); + dyStringPrintf(dyTable,"",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,""); } 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,"",linkOfType,linkOfTerm); + dyStringPrintf(dyTable,"",linkOfType,linkOfTerm); freeMem(linkOfTerm); } else - dyStringPrintf(dyTable,"",linkOfType,mdbVar->val); + dyStringPrintf(dyTable,"",linkOfType,mdbVar->val); //{ // NOTE: Could just have a tool tip for these. //char *descr=cgiEncode(hashMustFindVal(cvTerm,"description")); //label = cgiEncode(label); //dyStringPrintf(dyTable,"",descr,label,mdbVar->val); //freeMem(descr); //freeMem(label); //} freeMem(linkOfType); continue; } } } - dyStringPrintf(dyTable,"",mdbVar->var,mdbVar->val); + dyStringPrintf(dyTable,"",mdbVar->var,mdbVar->val); } } dyStringAppend(dyTable,"
%s
%s
shortLabel:%s
shortLabel:%s
%s:",mdbVar->var); + dyStringPrintf(dyTable,"
%s:",mdbVar->var); dyStringAppend(dyTable,htmlStringForDownloadsLink(db, tdb, mdbVar->val, TRUE, trackHash)); dyStringAppend(dyTable,"
%s:%s
%s:%s
%s:%s
%s:%s
%s:%s
%s:%s
%s:%s
"); //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;