170c44b6f3a9a8fdd67693fe8c1f6116d8d8a7ef tdreszer Tue Aug 17 17:44:32 2010 -0700 Adding support for popup cfg even though there is currently some duplicated code diff --git src/hg/hgTracks/searchTracks.c src/hg/hgTracks/searchTracks.c index 101fd15..9a4a0b1 100644 --- src/hg/hgTracks/searchTracks.c +++ src/hg/hgTracks/searchTracks.c @@ -177,6 +177,34 @@ return i; } +// FIXME: This code is duplicated in imageV2!!! +// FIXME: This code is duplicated in imageV2!!! +static void trackJson(struct dyString *trackDbJson, struct track *track, int count) +{ +// add entry for given track to the trackDbJson string +if(count) + dyStringAppend(trackDbJson, "\n,"); +dyStringPrintf(trackDbJson, "\t%s: {", track->track); +if(tdbIsSuperTrackChild(track->tdb)) + { + dyStringPrintf(trackDbJson, "\n\t\tparentTrack: '%s',", track->tdb->parent->track); + dyStringPrintf(trackDbJson, "\n\t\tparentLabel: '%s',", track->tdb->parent->shortLabel); + } +else if(tdbIsCompositeChild(track->tdb)) + { + struct trackDb *parentTdb = trackDbCompositeParent(track->tdb); + dyStringPrintf(trackDbJson, "\n\t\tparentTrack: '%s',", parentTdb->track); + dyStringPrintf(trackDbJson, "\n\t\tparentLabel: '%s',", parentTdb->shortLabel); + } +dyStringPrintf(trackDbJson, "\n\t\ttype: '%s',", track->tdb->type); +if(sameWord(track->tdb->type, "remote") && trackDbSetting(track->tdb, "url") != NULL) + dyStringPrintf(trackDbJson, "\n\t\turl: '%s',", trackDbSetting(track->tdb, "url")); +dyStringPrintf(trackDbJson, "\n\t\tshortLabel: '%s',\n\t\tlongLabel: '%s',\n\t\tcanPack: %d,\n\t\tvisibility: %d\n\t}", + javaScriptLiteralEncode(track->shortLabel), javaScriptLiteralEncode(track->longLabel), track->canPack, track->limitedVis); +} +// FIXME: This code is duplicated in imageV2!!! +// FIXME: This code is duplicated in imageV2!!! + void doSearchTracks(struct group *groupList) { struct group *group; @@ -539,10 +567,16 @@ hPrintf(""); hPrintf("    "); } + + // Set up json for js functionality + struct dyString *trackDbJson = newDyString(1000); + int trackDbJsonCount = 1; + dyStringPrintf(trackDbJson, "\n"); hPrintf("\n\n"); + + // be done with json + dyStringAppend(trackDbJson, "}\n\n"); + hPrintf(dyStringCannibalize(&trackDbJson)); } hPrintf("

Recently Done