%s: \n",
- SNP125_FILTER_COLUMNS*2, attributeName);
-safef(buttonVar, sizeof(buttonVar), "%s_%s", SNP125_SET_ALL, attributeName);
-stripChar(buttonVar, ' ');
-jsMakeSetClearButton(cart, MAIN_FORM, buttonVar, JS_SET_ALL_BUTTON_LABEL, "",
- varList, NULL, TRUE, TRUE);
-printf(" \n");
-safef(buttonVar, sizeof(buttonVar), "%s_%s", SNP125_CLEAR_ALL, attributeName);
-stripChar(buttonVar, ' ');
-jsMakeSetClearButton(cart, MAIN_FORM, buttonVar, JS_CLEAR_ALL_BUTTON_LABEL, "",
- varList, NULL, TRUE, FALSE);
+printf(" |
%s: \n", attributeLabel);
+char cartVar[256];
+safef(cartVar, sizeof(cartVar), "%s.include_%s", track, attributeVar);
+jsMakeCheckboxGroupSetClearButton(cartVar, TRUE);
+puts(" ");
+jsMakeCheckboxGroupSetClearButton(cartVar, FALSE);
+printf(" |
\n\n");
+boolean foundInCart = FALSE;
+struct slName *selectedAttributes = snp125FilterFromCart(cart, track, attributeVar, &foundInCart);
+// Include all by default:
+if (! foundInCart)
+ selectedAttributes = slNameListFromStringArray(values, menuSize);
+cgiMakeCheckboxGroupWithVals(cartVar, labels, values, menuSize, selectedAttributes,
+ SNP125_FILTER_COLUMNS);
printf(" |
\n");
-for (i=0; i < varCount; i++)
- {
- checked[i] = cartUsualBoolean(cart, vars[i], defaults[i]);
- if (i % SNP125_FILTER_COLUMNS == 0)
- {
- if (i > 0)
- printf("\n");
- printf("