ab1496587c1d1f6319181eac3d7739f18bd88010
kate
Wed Nov 25 11:46:27 2015 -0800
If not tissues are selected, select all. refs #15645
diff --git src/hg/lib/gtexUi.c src/hg/lib/gtexUi.c
index a050fa0..588f91c 100644
--- src/hg/lib/gtexUi.c
+++ src/hg/lib/gtexUi.c
@@ -66,59 +66,65 @@
static void makeAllTissueCheckboxes(char *name, struct gtexTissue *tissues, struct slName *checked)
{
struct hash *checkHash = hashNew(0);
struct slName *sel;
for (sel = checked; sel != NULL; sel = sel->next)
hashAdd(checkHash, sel->name, sel->name);
puts("
");
struct tissueSelect *tsel;
struct gtexTissue *tis;
struct tissueSelect *allTissues = NULL;
for (tis = tissues; tis != NULL; tis = tis->next)
{
AllocVar(tsel);
tsel->name = tis->name;
tsel->label = makeTissueLabel(tis);
+ if (hashNumEntries(checkHash) == 0)
+ tsel->checked = TRUE;
+ else
tsel->checked = (hashLookup(checkHash, tis->name) != NULL);
slAddHead(&allTissues, tsel);
}
slReverse(&allTissues);
makeGroupCheckboxes(name, NULL, allTissues);
puts("
");
char buf[512];
safef(buf, sizeof(buf), "%s%s", cgiMultListShadowPrefix(), name);
cgiMakeHiddenVar(buf, "0");
}
static void makeGroupedTissueCheckboxes(char *name, struct gtexTissue *tissues, struct slName *checked)
{
struct hash *checkHash = hashNew(0);
struct slName *sel;
for (sel = checked; sel != NULL; sel = sel->next)
hashAdd(checkHash, sel->name, sel->name);
puts("");
struct tissueSelect *brainTissues = NULL;
struct tissueSelect *digestiveTissues = NULL;
struct tissueSelect *reproductiveTissues = NULL;
struct tissueSelect *otherTissues = NULL;
struct tissueSelect *tsel;
struct gtexTissue *tis;
for (tis = tissues; tis != NULL; tis = tis->next)
{
AllocVar(tsel);
tsel->name = tis->name;
tsel->label = makeTissueLabel(tis);
+ if (hashNumEntries(checkHash) == 0)
+ tsel->checked = TRUE;
+ else
tsel->checked = (hashLookup(checkHash, tis->name) != NULL);
if (startsWith("brain", tis->name))
slAddHead(&brainTissues, tsel);
else if (sameString(tis->name, "uterus") || sameString(tis->name, "testis") ||
sameString(tis->name, "vagina") || sameString(tis->name, "prostate") ||
sameString(tis->name, "ovary") ||
sameString(tis->name, "breastMamTissue") || sameString(tis->name, "ectocervix") ||
sameString(tis->name, "endocervix") || sameString(tis->name, "fallopianTube"))
slAddHead(&reproductiveTissues, tsel);
else if (startsWith("esophagus", tis->name) || startsWith("colon", tis->name) ||
sameString(tis->name, "stomach") || sameString("smallIntestine", tis->name))
slAddHead(&digestiveTissues, tsel);
else
slAddHead(&otherTissues, tsel);
}