src/hg/hgc/makeItemsClick.c 1.2
1.2 2010/04/10 18:39:45 kent
Making it so can edit name and description of makeItems item.
Index: src/hg/hgc/makeItemsClick.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/makeItemsClick.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -B -U 1000000 -r1.1 -r1.2
--- src/hg/hgc/makeItemsClick.c 10 Apr 2010 06:41:03 -0000 1.1
+++ src/hg/hgc/makeItemsClick.c 10 Apr 2010 18:39:45 -0000 1.2
@@ -1,38 +1,83 @@
/* Handle details pages for makeItems tracks */
#include "common.h"
#include "hash.h"
#include "linefile.h"
#include "hgc.h"
#include "makeItemsItem.h"
#include "obscure.h"
#include "cheapcgi.h"
#include "hgMaf.h"
#include "hui.h"
#include "hCommon.h"
void doMakeItemsDetails(struct customTrack *ct, char *itemIdString)
/* Show details of a makeItems item. */
{
char *idString = cloneFirstWord(itemIdString);
char *tableName = ct->dbTableName;
+char *trackName = ct->tdb->tableName;
struct sqlConnection *conn = hAllocConn(CUSTOM_TRASH);
char query[512];
safef(query, sizeof(query), "select * from %s where id=%s", tableName, idString);
struct sqlResult *sr = sqlGetResult(conn, query);
char **row;
-while ((row = sqlNextRow(sr)) != NULL)
+if ((row = sqlNextRow(sr)) != NULL)
{
struct makeItemsItem *item = makeItemsItemLoad(row);
+ printf("<FORM ACTION=\"%s\">\n\n", hgTracksName());
+ cartSaveSession(cart);
+
+ /* Save away ID string in hidden var. */
+ char varName[128];
+ safef(varName, sizeof(varName), "%s_%s", trackName, "id");
+ cgiMakeHiddenVar(varName, idString);
+
+ /* Put up editable name. */
+ safef(varName, sizeof(varName), "%s_%s", trackName, "name");
+ printf("<B>name:</B> ");
+ cgiMakeTextVar(varName, item->name, 17);
+ printf("<BR>\n");
+
+ /* Put up editable description. */
+ safef(varName, sizeof(varName), "%s_%s", trackName, "description");
+ printf("<B>description:</B><BR>\n");
+ cgiMakeTextArea(varName, item->description, 8, 80);
+ printf("<BR>\n");
+
+#ifdef SOON
+ /* Put up non-editable chromosome. */
+ printf("<B>chromosome:</B> %s<BR>\n", item->chrom);
+
+ /* Put up editable chromosome start and end. */
+ int chromSize = hChromSize(database, item->chrom);
+ char chromSizeString[16];
+ safef(chromSizeString, sizeof(chromSizeString), "%d", chromSize);
+ printf("<B>chromStart:</B> ");
+ safef(varName, sizeof(varName), "%s_%s", trackName, "chromStart");
+ cgiMakeIntVarInRange(varName, item->chromStart+1, NULL, 9, "1", chromSizeString);
+ printf("<BR>\n");
+ printf("<B>chromEnd:</B> ");
+ safef(varName, sizeof(varName), "%s_%s", trackName, "chromEnd");
+ cgiMakeIntVarInRange(varName, item->chromEnd, NULL, 9, "1", chromSizeString);
+ printf("<BR>\n");
+#endif /* SOON */
+
+ /* Put up update/delete/cancel buttons. */
+ cgiMakeButton("submit", "Update");
+ printf(" ");
+ safef(varName, sizeof(varName), "%s_%s", trackName, "delete");
+ cgiMakeButton(varName, "Delete");
+ printf(" ");
+ safef(varName, sizeof(varName), "%s_%s", trackName, "cancel");
+ cgiMakeButton(varName, "Cancel");
+ printf("</FORM>\n");
printf("<B>id:</B> %d<BR>\n", item->id);
- printf("<B>name:</B> %s<BR>\n", item->name);
- printf("<B>chrom:</B> %s<BR>\n", item->chrom);
- printf("<B>chromStart:</B> %d<BR>\n", item->chromStart);
- printf("<B>chromEnd:</B> %d<BR>\n", item->chromEnd);
+ printPosOnChrom(item->chrom, item->chromStart, item->chromEnd, NULL, TRUE, NULL);
}
sqlFreeResult(&sr);
hFreeConn(&conn);
}