87a833f995f6bfc6879c95f4c882da0ae0feaa72
tdreszer
  Thu Sep 2 13:23:32 2010 -0700
After changing cartDump to encode vars and vals, I decided to make it all ajaxy
diff --git src/hg/cartDump/cartDump.c src/hg/cartDump/cartDump.c
index 136105f..e6ab622 100644
--- src/hg/cartDump/cartDump.c
+++ src/hg/cartDump/cartDump.c
@@ -18,6 +18,7 @@
 char *vName = "cartDump.varName";
 char *vVal = "cartDump.newValue";
 char *wildcard;
+boolean *asTable = cartVarExists(cart,CART_DUMP_AS_TABLE);
 
 if (cgiVarExists("submit"))
     {
@@ -39,6 +40,29 @@
     {
     return;
     }
+if (asTable)
+    {
+    jsIncludeFile("utils.js",NULL);
+    jsIncludeFile("ajax.js",NULL);
+    printf("<A HREF='../cgi-bin/cartDump?%s=[]'>Show as plain text.</a><BR>",CART_DUMP_AS_TABLE);
+    printf("<FORM ACTION=\"../cgi-bin/cartDump\" METHOD=GET>\n");
+    cartSaveSession(cart);
+    printf("<em>Variables can be altered by changing the values and then leaving the field (onchange event will use ajax).\n");
+    printf("Enter </em><B><code style='color:%s'>%s</code></B><em> or </em><B><code style='color:%s'>%s</code></B><em> to remove a variable.</em>",
+        COLOR_DARKBLUE,CART_DUMP_REMOVE_VAR,COLOR_DARKBLUE,CART_VAR_EMPTY);
+    printf("<BR><em>Add a variable named:</em> ");
+    cgiMakeTextVar(vName, "", 12);
+    printf(" <em>value:</em> ");
+    cgiMakeTextVar(vVal, "", 24);
+    printf("<BR>");
+    cgiMakeButton("submit", "submit");
+    //printf("<BR><A HREF='../cgi-bin/cartDump'><INPUT TYPE='button' VALUE='Refresh'></a><BR>");
+    printf("</FORM>\n");
+    }
+else
+    {
+    printf("<A HREF='../cgi-bin/cartDump?%s=1'>Show as updatable table.</a><BR>",CART_DUMP_AS_TABLE);
+    }
 printf("<TT><PRE>");
 wildcard = cgiOptionalString(MATCH_VAR);
 if (wildcard)
@@ -46,17 +70,21 @@
 else
     cartDump(cart);
 printf("</TT></PRE>");
+if (!asTable)
+    {
 printf("<FORM ACTION=\"../cgi-bin/cartDump\" METHOD=GET>\n");
 cartSaveSession(cart);
-printf("alter variable named: ");
+    printf("<em>Add/alter a variable named:</em> ");
 cgiMakeTextVar(vName, cartUsualString(cart, vName, ""), 12);
-printf(" new value ");
+    printf(" <em>new value</em> ");
 cgiMakeTextVar(vVal, "", 24);
 printf(" ");
 cgiMakeButton("submit", "submit");
-printf("<BR>\n");
-printf("Put '%s' in for the new value to clear a variable.",CART_DUMP_REMOVE_VAR);
-printf("<P>Cookies passed to %s:<BR>\n%s\n</P>\n",
+    printf("<BR>Put </em><B><code style='color:%s'>%s</code></B><em> in for the new value to clear a variable.</em>",
+        COLOR_DARKBLUE,CART_DUMP_REMOVE_VAR);
+    printf("</FORM>\n");
+    }
+printf("<P><em>Cookies passed to</em> %s:<BR>\n%s\n</P>\n",
        cgiServerName(), getenv("HTTP_COOKIE"));
 }