a857c28d322f6bec282372ca7c1d84d4eccdf6a4 tdreszer Mon Jan 31 13:35:54 2011 -0800 Reworked searchTracks +/- buttons to use javascript and fixed some bugs seen when files search is enabled as a tab in track search. diff --git src/hg/hgApi/hgApi.c src/hg/hgApi/hgApi.c index b8a1f7f..cdaa9c3 100644 --- src/hg/hgApi/hgApi.c +++ src/hg/hgApi/hgApi.c @@ -126,54 +126,59 @@ struct sqlConnection *conn = hAllocConn(database); boolean metaDbExists = sqlTableExists(conn, "metaDb"); if(metaDbExists) { char *var = cgiOptionalString("var"); if(var) var = sqlEscapeString(var); else fail("Missing var parameter"); int ix = atoi(cmd+strlen(METADATA_VALUE_PREFIX)); // 1 based index if(ix == 0) // fail("Unsupported 'cmd' parameter"); + char *onChange="findTracksMdbValChanged(this);"; + #define PLUS_MINUS_BUTTON_BY_JS + #ifndef PLUS_MINUS_BUTTON_BY_JS + onChange="findTracksSearchButtonsEnable(this);"; + #endif///ndef PLUS_MINUS_BUTTON_BY_JS enum mdbCvSearchable searchBy = mdbCvSearchMethod(var); if (searchBy == cvsSearchBySingleSelect) { - dyStringPrintf(output,"<SELECT NAME=\"%s%i\" class='mdbVal single' style='min-width:200px; font-size:.9em;' onchange='findTracksSearchButtonsEnable(true);'>\n", - METADATA_VALUE_PREFIX, ix); + dyStringPrintf(output,"<SELECT NAME=\"%s%i\" class='mdbVal single' style='min-width:200px; font-size:.9em;' onchange='%s'>\n", + METADATA_VALUE_PREFIX, ix, onChange); // Get options list struct slPair *pairs = mdbValLabelSearch(conn, var, MDB_VAL_STD_TRUNCATION, TRUE, FALSE); // Tables not files struct slPair *pair; if (pairs == NULL) fail("No selectable values for this metadata variable"); dyStringPrintf(output, "<OPTION VALUE='Any'>Any</OPTION>\n"); dyStringPrintf(output, "[\n"); for (pair = pairs; pair != NULL; pair = pair->next) { dyStringPrintf(output, "<OPTION VALUE=\"%s\">%s</OPTION>\n", javaScriptLiteralEncode(pair->val), javaScriptLiteralEncode(pair->name)); } dyStringPrintf(output,"</SELECT>\n"); } else if (searchBy == cvsSearchByFreeText) { - dyStringPrintf(output,"<input type='text' name='%s%i' value='' class='mdbVal freeText' onkeyup='findTracksSearchButtonsEnable(true);' style='max-width:310px; width:310px; font-size:.9em;'>", - METADATA_VALUE_PREFIX, ix); + dyStringPrintf(output,"<input type='text' name='%s%i' value='' class='mdbVal freeText' onkeyup='%s' style='max-width:310px; width:310px; font-size:.9em;'>", + METADATA_VALUE_PREFIX, ix, onChange); } //else if (searchBy == cvsSearchByMultiSelect) // { // // TO BE IMPLEMENTED // } //else if (searchBy == cvsSearchByDateRange || searchBy == cvsSearchByDateRange) // { // // TO BE IMPLEMENTED // } else fail("Metadata variable not searchable"); } else fail("Assembly does not support metaDb"); }