578933212e6c900f4cda77f4d9cd1e7d01b9ace1 kate Thu Nov 3 16:09:25 2016 -0700 Initialize tissues from cart. refs #17369 diff --git src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c index 6d4e87b..20b1efe 100644 --- src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c +++ src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c @@ -82,30 +82,33 @@ " </div>" " <div class='col-md-2 text-right'>" " <div class='goButtonContainer' title='Go to the Genome Browser'>" " <div class='gbGoButton'>GO</div>" " <i class='gbGoIcon fa fa-play fa-2x'></i>" " </div>" " </div>" " </div>" ); } static void printTissueTable() /* Output HTML with tissue labels and colors, in 2 columns, to fit next to body map */ { struct gtexTissue *tis, *tissues = gtexGetTissues(version); +char var[512]; +safef(var, sizeof var, "%s.%s", tdb->track, GTEX_TISSUE_SELECT); +struct hash *selectedHash = cartHashList(cart, var); struct gtexTissue **tisTable = NULL; int count = slCount(tissues); AllocArray(tisTable, count); int i=0, col=0; int cols = 2; int last = count/2 + 1; puts( " <!-- Tissue list -->" "<div class='row gbSectionBanner'>" " <div class='col-md-1'>Tissues</div>" " <div class='col-md-7 gbSectionInfo'>" " Click label below or in Body Map to set or clear a tissue" " </div>" " <div class='col-md-4 gbButtonContainer'>" @@ -116,33 +119,35 @@ ); puts("<table class='tissueTable'>"); puts("<tr>"); for (tis = tissues; tis != NULL; tis = tis->next) { if (tis->id < last) i = tis->id * 2; else i = (tis->id - last) * 2 + 1; tisTable[i] = tis; } for (i=0; i<count; i++) { tis = tisTable[i]; + boolean isChecked = (hashLookup(selectedHash, tis->name) != NULL); printf("<td class='tissueColor' bgcolor=%06X></td>" - "<td class='tissueLabel' id='%s'>%s</td>", - tis->color, tis->name, tis->description); + "<td class='tissueLabel %s' id='%s'>%s</td>", + tis->color, + isChecked ? "tissueSelected" : "", tis->name, tis->description); col++; if (col > cols-1) { puts("</tr>\n<tr>"); col = 0; } } puts("</tr>\n"); puts("</table>"); } static void printBodyMap() { puts( " <!-- Body Map panel -->"