a0139a75943762fc48c9995723d3bd7f9f6c6693 larrym Mon Jul 25 13:36:33 2011 -0700 change trackDbJson to syntax used by scrapeVariable diff --git src/hg/hgTracks/imageV2.c src/hg/hgTracks/imageV2.c index 2aeea2f..09ecbf2 100644 --- src/hg/hgTracks/imageV2.c +++ src/hg/hgTracks/imageV2.c @@ -238,31 +238,31 @@ else if (tdbIsCompositeChild(tdb)) kindOfChild = kocCompositeChild; else if (tdbIsMultiTrackChild(tdb)) kindOfChild = kocMultiTrackChild; return kindOfChild; } ///////////////////////// // JSON support. Eventually the whole imgTbl could be written out as JSON static void jsonTdbSettingsInit(struct dyString **jsonTdbSettingsString) // Inititializes trackDbJson { *jsonTdbSettingsString = newDyString(1024); -dyStringPrintf(*jsonTdbSettingsString, "<!-- trackDbJson -->\n<script>var trackDbJson = {\n\"ruler\": {\"shortLabel\": \"ruler\", \"longLabel\": \"Base Position Controls\", \"canPack\": 0, \"visibility\": %d, \"configureBy\": \"popup\", \"kindOfParent\": 0}", rulerMode); +dyStringPrintf(*jsonTdbSettingsString, "<script type='text/javascript'>\n// START trackDbJson\nvar trackDbJson = {\n\"ruler\": {\"shortLabel\": \"ruler\", \"longLabel\": \"Base Position Controls\", \"canPack\": 0, \"visibility\": %d, \"configureBy\": \"popup\", \"kindOfParent\": 0}", rulerMode); } void jsonTdbSettingsBuild(struct dyString **jsonTdbSettingsString, struct track *track, boolean configurable) // Creates then successively adds trackDb settings to the jsonTdbSettingsString // Initially pass in NULL pointer to a dyString to properly begin building { if(*jsonTdbSettingsString == NULL) jsonTdbSettingsInit(jsonTdbSettingsString); dyStringAppend(*jsonTdbSettingsString, ", \n"); // track name and type dyStringPrintf(*jsonTdbSettingsString, "\t\"%s\": {", track->track); dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"type\": \"%s\",", track->tdb->type); // Tell which kind of parent and which kind of child @@ -297,31 +297,31 @@ // Remote access by URL? if (sameWord(track->tdb->type, "remote") && trackDbSetting(track->tdb, "url") != NULL) dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"url\": \"%s\",", trackDbSetting(track->tdb, "url")); // Close with some standard vars dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"shortLabel\": \"%s\",\n\t\t\"longLabel\": \"%s\",\n\t\t\"canPack\": %d,", javaScriptLiteralEncode(track->shortLabel), javaScriptLiteralEncode(track->longLabel), track->canPack); if(track->limitedVis != track->visibility) dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"limitedVis\": %d,", track->limitedVis); dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"visibility\": %d\n\t}", track->visibility); } char *jsonTdbSettingsUse(struct dyString **jsonTdbSettingsString) // Closes and returns the contents of the jsonTdbSettingsString { -dyStringAppend(*jsonTdbSettingsString, "}\n</script>\n<!-- trackDbJson -->\n"); +dyStringAppend(*jsonTdbSettingsString, "};\n// END trackDbJson\n</script>\n"); return dyStringCannibalize(jsonTdbSettingsString); } ///////////////////////// // IMAGEv2 // The new way to do images: PLEASE REFER TO imageV2.h FOR A DETAILED DESCRIPTION ///////////////////////// /////////////////////// Maps struct mapSet *mapSetStart(char *name,struct image *img,char *linkRoot) /* Starts a map (aka mapSet) which is the seet of links and image locations used in HTML. Complete a map by adding items with mapItemAdd() */