0e3181157559d4e91f3850ed02a7e41731d966a6
kent
Thu Mar 5 11:16:31 2015 -0800
Starting to have suggest javascript going on in filter row
diff --git src/hg/lib/tablesTables.c src/hg/lib/tablesTables.c
index f31b929..114c771 100644
--- src/hg/lib/tablesTables.c
+++ src/hg/lib/tablesTables.c
@@ -48,41 +48,75 @@
printf(">min or <max, is allowed in numerical fields. \n");
}
static void showTableFilterControlRow(struct fieldedTable *table, struct cart *cart,
char *varPrefix, int maxLenField)
/* Assuming we are in table already drow control row */
{
printf("
");
int i;
for (i=0; ifieldCount; ++i)
{
char *field = table->fields[i];
char varName[256];
safef(varName, sizeof(varName), "%s_f_%s", varPrefix, field);
webPrintLinkCellStart();
+
#ifdef MAKES_TOO_WIDE
+ /* Print out input control. As you can see from all the commented out bits
+ * this part has been a challenge. We'd like to make the input cell fit the
+ * table size, but if we do it with style it makes whole table wider. */
char *oldVal = cartUsualString(cart, varName, "");
printf("", varName, oldVal);
#endif /* MAKES_TOO_WIDE */
+
+ /* Approximate size of input control in characters */
int size = fieldedTableMaxColChars(table, i);
if (size > maxLenField)
size = maxLenField;
+
+#ifdef ACTUALLY_WORKS
+ /* This way does work last I checked and is just a line of code.
+ * Getting an id= property on the input tag though isn't possible this way. */
cartMakeTextVar(cart, varName, "", size + 1);
+#endif
+
+ /* Print input control getting previous value from cart. Set an id=
+ * so auto-suggest can find this control. */
+ char *oldVal = cartUsualString(cart, varName, "");
+ printf("",
+ varName, varName, size+1, oldVal);
+
+
webPrintLinkCellEnd();
}
+
+/* Write out javascript to initialize autosuggest */
+printf("\n");
+
+
printf("
");
}
static void showTableSortingLabelRow(struct fieldedTable *table, struct cart *cart, char *varPrefix,
char *returnUrl)
/* Put up the label row with sorting fields attached. ALso actually sort table. */
{
/* Get order var */
char orderVar[256];
safef(orderVar, sizeof(orderVar), "%s_order", varPrefix);
char *orderFields = cartUsualString(cart, orderVar, "");
char pageVar[64];
safef(pageVar, sizeof(pageVar), "%s_page", varPrefix);