5034a7ae085fbf45e73a2deb4a4afc4ada31350a kent Fri Mar 6 09:53:46 2015 -0800 Adding suggestHash to tables so they can do suggestions. diff --git src/hg/inc/tablesTables.h src/hg/inc/tablesTables.h index 72d76d1..93e3164 100644 --- src/hg/inc/tablesTables.h +++ src/hg/inc/tablesTables.h @@ -1,56 +1,56 @@ /* tablesTables - this module deals with two types of tables SQL tables in a database, * and fieldedTable objects in memory. It has routines to do sortable, filterable web * displays on tables. */ #ifndef TABLESTABLES_H #define TABLESTABLES_H struct fieldedTable *fieldedTableFromDbQuery(struct sqlConnection *conn, char *query); /* Return fieldedTable from a database query */ typedef void webTableOutputWrapperType(struct fieldedTable *table, struct fieldedRow *row, char *field, char *val, char *shortVal, void *context); /* If we want more than just text output we have to provide a function for a column * of this type. This is responsible for rendering the tag as we want. */ void webSortableFieldedTable(struct cart *cart, struct fieldedTable *table, char *returnUrl, char *varPrefix, int maxLenField, struct hash *tagOutputWrappers, void *wrapperContext); /* Display all of table including a sortable label row. The tagOutputWrappers * is an optional way to enrich output of specific columns of the table. It is keyed * by column name and has for values functions of type webTableOutputWrapperType. */ struct fieldedTableSegment /* Information on a segment we're processing out of something larger */ { int tableSize; // Size of larger structure int tableOffset; // Where we are in larger structure }; void webFilteredFieldedTable(struct cart *cart, struct fieldedTable *table, char *returnUrl, char *varPrefix, int maxLenField, struct hash *tagOutputWrappers, void *wrapperContext, boolean withFilters, char *itemPlural, - int pageSize, struct fieldedTableSegment *largerContext); + int pageSize, struct fieldedTableSegment *largerContext, struct hash *suggestHash); /* Show a fielded table that can be sorted by clicking on column labels and optionally * that includes a row of filter controls above the labels . * The maxLenField is maximum character length of field before truncation with ... * Pass in 0 for no max */ void webFilteredSqlTable(struct cart *cart, struct sqlConnection *conn, char *fields, char *from, char *initialWhere, char *returnUrl, char *varPrefix, int maxFieldWidth, struct hash *tagOutWrappers, void *wrapperContext, - boolean withFilters, char *itemPlural, int pageSize); + boolean withFilters, char *itemPlural, int pageSize, struct hash *suggestHash); /* Given a query to the database in conn that is basically a select query broken into * separate clauses, construct and display an HTML table around results. This HTML table has * column names that will sort the table, and optionally (if withFilters is set) * it will also allow field-by-field wildcard queries on a set of controls it draws above * the labels. * Much of the functionality rests on the call to webFilteredFieldedTable. This function * does the work needed to bring in sections of potentially huge results sets into * the fieldedTable. */ #endif /* TABLESTABLES_H */